Messages in this thread | | | Date | Wed, 15 Feb 2006 11:07:32 -0500 (EST) | From | Alan Stern <> | Subject | Re: [linux-usb-devel] Re: Linux 2.6.16-rc3 |
| |
On Tue, 14 Feb 2006, James Bottomley wrote:
> On Mon, 2006-02-13 at 12:38 -0800, Greg KH wrote: > > > - Nasty warnings from scsi about kobject-layer things being called > > from > > > irq context. James has a push-it-to-process-context patch which > > sadly > > > assumes kmalloc() is immortal, but no other fix seems to have > > offered > > > itself. > > > > This has been the case for a long time. I don't really think there is > > a > > rush to get this fixed, but I really like James's proposed patch. > > It's > > up to him if he feels it is ready for 2.6.16 or not. > > Well, I can't solve the problem that it requires memory allocation from > IRQ context to operate. Based on that, it's an unsafe interface. I'm > going to put it inside SCSI for 2.6.16, since it's better than what we > have now, but I don't think we can export it globally.
Could we perhaps make this safer and more general?
For instance, add to struct device a "pending puts" counter and a list header (both protected by a global spinlock), and have a kernel thread periodically check the list, doing put_device wherever needed. How does that sound?
Alan Stern
- 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/
| |