Re: [linux-usb-devel] Re: Linux 2.6.16-rc3

From: Alan Stern
Date: Wed Feb 15 2006 - 11:05:24 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/