linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Combined mode quirk removal kills performance
       [not found]         ` <20070616075347.96b2405d.akpm@linux-foundation.org>
@ 2007-06-16 15:36           ` Jeff Garzik
  0 siblings, 0 replies; only message in thread
From: Jeff Garzik @ 2007-06-16 15:36 UTC (permalink / raw)
  To: Andrew Morton; +Cc: IDE/ATA development list

Andrew Morton wrote:
> So I revisited [...]
> http://bugzilla.kernel.org/show_bug.cgi?id=8636
> 
> I don't see why it's not-a-bug.  The second guy (Stephen Clark) had to toss
> out the FC6 kernel and build his own kernel to fix this regression.

(I hope you don't mind me copying linux-ide)

The combined mode removal changed the driver load configuration.  Some 
distros updated with that knowledge, but apparently Fedora did not.

Combined mode would explicitly reserve ports for libata in pci/quirks.c, 
a horrible layering violation that created special case module load 
order dependencies.

The change made libata and the old-IDE driver behave like normal Linux 
drivers.  They can both grab an entire PCI device and drive it 
correctly, so -- just like every other situation where two drivers can 
match the same PCI ID -- the one that loads first wins.

Kernel configs need to be tweaked a bit, due to this change.  That's why 
it was communicated in advance (but poorly, as it appears from your 
questions and existing bug reports).  Two common results appear in bug 
reports:

1) One possible result of a complete lack of kconfig tweaking (blindly 
hitting <enter> during 'make oldconfig') is falling back to the 
most-compatible configuration, the legacy IDE driver (either libata or 
old-IDE), with resultant slow performance.

2) "no root! panic!" and similar I-cant-find-your-hard-drive results for 
people with hardcoding root= configurations, for the minority where a 
device moved from /dev/hdX -> /dev/sdX, or vice versa.

The damage is hoped to be limited to:

* Intel ICH5/6[/7?] users with combined mode enabled, which is a 
not-small subset of all ICH[567] users.

* Users that did /not/ choose the combined_mode=libata kernel command 
line option, a popular option for restoring performance /broken/ by 
running two drivers in tandem [i.e. the old way, recently removed].

* In the combined mode configuration, one device is /dev/hdX (often the 
CD-ROM) and one device is /dev/sdX, so only one of those devices will 
move.  Standard LVM and mount-by-label/uuid found in standard distro 
installs makes this move seamless for many.

* ...in distros that hopefully took stock of their compatibility 
picture, and modified their kernel configs and drivers accordingly. 
Some distros were defaulting to combined_mode=libata (==libata drives 
all applicable Intel ICHx IDE devices), others were not.  That affects 
the decision about kernel config changes.

	Jeff






^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-06-16 15:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <465EDF89.9050207@tuxrocks.com>
     [not found] ` <20070601165054.114e8b9d.akpm@linux-foundation.org>
     [not found]   ` <4660B47A.1030604@garzik.org>
     [not found]     ` <20070601171938.87989b62.akpm@linux-foundation.org>
     [not found]       ` <4661B2CC.8030409@garzik.org>
     [not found]         ` <20070616075347.96b2405d.akpm@linux-foundation.org>
2007-06-16 15:36           ` Combined mode quirk removal kills performance Jeff Garzik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).