Blog Post

Article posted on Mar 22

Improved DMA Support Coming Soon

  • Posted by Ryan Finnie on March 22, 2006, 11:40 pm

One of the problems with today's Finnix is that when the initrd scans for IDE drives, it is using the IDE system compiled into the kernel, which is "generic". This is the most stable solution (I have yet to find an IDE CDROM drive that is not recognized), but unfortunately, there is almost no DMA support in the generic driver, so even when the system is booted with "finnix dma", there is a good chance DMA support will not be enabled for either the CDROM or any disks. On top of that, even if you were to load the appropriate specialized IDE module for your chipset, the channels are already registered to the generic driver, and there appears to be no way to reverse that.

With the upcoming 87.0, I decided to modularize the IDE system, with the idea that the base IDE module would be loaded, then each specialized chipset module would be loaded, with the generic module loaded last. This would give the more specialized drivers a chance to load first, at which point DMA could be turned on by the user if desired. An unintended consequence was that it appears many chipset drivers automatically enable DMA if the channel supports it.

There lies the problem. It didn't take me long to find a CDROM drive that, when DMA mode was enabled and data read from it, would freeze the system. Booting from another CDROM drive on the same channel did not have this problem, so it was a problem with the driver interacting with the drive itself, not the channel or chipset. It was then that I decided to combine this new funcionality with the "dma" boot parameter. With Finnix 87.0, the plan is now to load specialized drivers, and enable DMA mode, but only if the "dma" boot parameter is given. Without that parameter, Finnix will load just as it did in previous versions.

It's sad that I'm choosing not to make this new functionality default, as the speed increase from DMA mode is considerable, but in this case I would prefer stability on a wider range of hardware to be preferable over speed. Of course, it'll be available... Just do "finnix dma", or you could boot into debug mode and manually modprobe your chipset's drivers, which will be available on the initrd.

Edit: I've found the "Use PCI DMA by default when available" option in the kernel config, but I believe I'll be keeping it as default ("on" as per Debian's config), and still going with the method described above.

  • 1 Comment
  • Posted in Development, Finnix

One Response to “Improved DMA Support Coming Soon”

  1. Finnix Blog » Finnix Development Update says:
    May 2, 2006 at 2:36 pm

    [...] This also means that many boot-time options have been removed, because there are now automate. Of the top of my head, I removed nobootide, bootusb, nobootusb, bootfirewire, nobootusb2, bootscsi, nousb, nousb2, nofirewire, noscsi, nopcmcia, and dma. Automatically loading DMA-capable modules makes me worry (see this blog post), but out of the 30 or so different setups I’ve tested, only one drive has a problem with DMA, and it’s a DVD burner that is frankly broken in other respects as well. [...]

Leave a Reply

Click here to cancel reply.

« No 2.6.16 for Finnix 87.0
I Lied. »

Finnix

  • Wiki
  • Blog
  • Snapshots

Categories

  • Announcements (23)
  • Development (28)
  • Finnix (71)
  • Miscellany (18)
  • Trademark (2)

Archives

  • November 2009
  • August 2009
  • January 2009
  • December 2008
  • November 2008
  • June 2008
  • March 2008
  • January 2008
  • October 2007
  • July 2007
  • April 2007
  • January 2007
  • October 2006
  • August 2006
  • July 2006
  • May 2006
  • April 2006
  • March 2006
  • February 2006
  • January 2006
  • November 2005
  • October 2005

Recent Comments

  • Ubik!: I just want to take opportunity to thank the Finnix team for a great linux distro :) I was so happy to find...
  • Steve: I tried to make a bootable DVD using mkisofs using the isolinux.bin file in the v93 iso download and it would...
  • Rony: I find Finnix extremely useful when servicing Windows as well as Linux machines, especially for taking backups...
  • bubo: hehe, the CRAY really is is cracking me up…funny stuff and a nice office by the way :-) . thanks for...
  • Ryan Finnie: Rodney, the package lists are in the release notes, 3rd bullet point at the top....

Search

Meta

  • Log in
  • Valid XHTML

Keep 'em coming!

286,879 spam comments
blocked by
Akismet
Powered by WordPress.