Messages in this thread | | | Date | Tue, 5 Aug 2003 14:30:34 +0200 (MET DST) | From | Bartlomiej Zolnierkiewicz <> | Subject | Re: IDE locking problem |
| |
On 5 Aug 2003, Benjamin Herrenschmidt wrote:
> > It only works with default/legacy io bases. > > Which is all I care about in this specific situation. The "mediabay" > hotswap controller is driven by ide-pmac, which provides it's own > ide_init_hwif_ports() and ide_default_io_base() arch hooks. (In the > PPC arch, those arch functions can be themselves hooked in by the > actual platform code, on pmac, this goes to ide-pmac, though I also > deal with added PCI cards). > > > > Also, look at my patch, we also _NEED_ to add some proper > > > device_unregister calls to ide_unregister() or this function will > > > leave dangling entries in the device list, and since those have the > > > same restrictions as the new blk_cleanup_queue(), we really need to > > > do that without the lock held. > > > > Yes. > > That reminds me that without this fix, even ide-cs will break things > when ejecting a CF card for example.
I am aware of that.
> > > I'd suggest merging my patch for now, it won't make things much > > > worse than what they are today regarding racyness of IDE registration > > > and unregistration, we an look into sanitizing this as a 2.7 goal. > > > > Okay :\. > > Heh, thanks... Well... who else uses ide_unregister except ide-pmac and > ide-cs anyway ? If it's really that little used, it's quite under control > and we can try to clean it up a bit more then during early 2.6.0...
HDIO_UNREGISTER_HWIF ioctl. Together with HDIO_SCAN_HWIF ioctl it provides dirty hotswap functionality. Thats why I mentioned about problem with ide_unregister() and non default io bases.
> Right now, I'm waiting to see what we can come up to with Jens Axboe > regarding race-free teardown of the blk queue. Once that's agreed, we > can think about just removing the call to init_hwif_data and just reinit > the drive array ourselves. That would be a good thing anyway as the > current ide_unregister allocation of a full hwif_t on stack is causing > other problems (stack bloat typically, an issue with people trying to > shrink the kernel process stack to 1 page).
Decreasing stack usage is an additional motivation to simplify ide_unregister(). We really need to remove ide_unregister() from Jörn's top stack (l)users list ;-).
Thanks, -- Bartlomiej
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |