Mikael Pettersson | 4 Jan 03:35 2003

[PATCH] 2.5.54 fix ide-cd/ide-scsi oopses after module unload

In 2.5 (the bug's been there since 2.5.42), rmmod:ing a
modular IDE subdriver like ide-cd or ide-scsi and then
rebooting causes an oops in device_shutdown(). This is because
the IDE layer doesn't reset the drive->gendev.driver pointer
that it previously set up to point to data structures in the
subdriver module. device_shutdown() sees a non-NULL ->driver,
dereferences it, and oopses.

The patch below for 2.5.54 fixes two generic bugs related to
unloading of modular IDE subdrivers, and one specific to ide-scsi:

1. ata_attach() needs to set drive->gendev.driver = NULL
   when no specific driver claims the drive. This prevents a
   drive previously owned by a subdriver module from keeping
   its ->gendev.driver pointing into that module.

2. ide_unregister_driver() needs to unregister &driver->gen_driver;
   this is to balance the corresponding register call in
   ide_register_driver(). [This part of the patch is originally
   by Patrick Mochel.]

3. ide-scsi.c abuses ide_driver_t's busy field as a counter
   while the field in fact is a single-bit boolean. This causes
   the busyness of the driver to be incorrect while the driver
   is active. (From my recent patch for 2.4.20-ac2/2.4.21-pre2.)

With these three fixes modular ide-cd and ide-scsi work quite
reliably for me in 2.5.54.

(Continue reading)

Tom Winkler | 23 Jan 15:09 2003

poor IDE performance on ASUS P4PE with WD800JB


I've asked this question in several Newsgroups but nobody was really
able to answer it. That's why I decided to send it to LKM. Please CC
me on your replies. Thanks!

I've got a question related to ide performance.
First of all my hardware:
Mainboard: ASUS P4PE (using onboard IDE but not S-ATA)
Harddisk: Western Digital WD800JB

Now about the current performance:

tom <at> storm:~$ sudo hdparm -tT /dev/hda
 Timing buffer-cache reads:   128 MB in  0.27 seconds =474.07 MB/sec
 Timing buffered disk reads:  64 MB in  3.05 seconds = 20.98 MB/sec

The cache read time is pretty ok but the disk read time is below of
what I'd have expected. My expectations would have been about 40MB/sec.

Am I wrong with my expectations for this setup?
I'd really be interested in any suggestion about how I could omptimize
the system.

And here's some more information about the current settings (let me
know if you need anything else):

(Continue reading)