Finnix

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. [...]

    Reply

Leave a Reply

Click here to cancel reply.

If you have an OpenID, you may fill it in here. If your OpenID provider provides a name and email, those values will be used instead of the values here. Learn more about OpenID or find an OpenID provider.

« No 2.6.16 for Finnix 87.0
I Lied. »

Finnix

  • Wiki
  • Blog
  • Snapshots

Finnix on Identi.ca

  • zinayfuzz: RT @fo0bar !Finnix 108 released! http://ur1.ca/dsds4 External link
  • fo0bar: !Finnix 108 released! http://ur1.ca/dsds4 External link Geotagged
  • neustradamus: !Finnix 108 has been released ( !Debian ) http://www.finnix.org/ External link
  • zinayfuzz: RT @fo0bar !Finnix 107 released! http://ur1.ca/c9oqp External link
  • fo0bar: !Finnix 107 released! http://ur1.ca/c9oqp External link Geotagged

Categories

  • Announcements (33)
  • Development (35)
  • Finnix (106)
  • Miscellany (24)

Archives

  • May 2013 (2)
  • December 2012 (1)
  • November 2012 (1)
  • October 2012 (1)
  • July 2012 (1)
  • April 2012 (1)
  • March 2012 (2)
  • February 2012 (2)
  • January 2012 (1)
  • December 2011 (1)
  • October 2011 (2)
  • September 2011 (1)

Recent Comments

  • Ryan Finnie: Package lists are available in the release notes.
  • Ben in Seattle: This seems like a very neat distribution, but I’m having a devil of a time figuring out what...
  • Ryan Finnie: It is installed, it’s just at /usr/games/robotfindskitten, which is not in root’s path.
  • robotfindskitten enjoyer: robotfindskitten does not appear to be installed by default in Finnix 106. This is a great...
  • Steve Nordquist: I would have HFS+ with i18n filenames available for available console charsets (Chinese...

Search

Meta

  • Log in
Powered by WordPress.