Re: Fw: blk_cleanup_queue, sleep in invalid context

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2006-01-04 at 16:56 -0800, Greg KH wrote:
> You mean, put a might_sleep() in put_device()?  Yes, I can do that, as
> that function might sleep.  SCSI is the culprit here, and I thought that
> the scsi developers had fixed this up already.

No .. I identified one clear culprit which was fixed, but I also said we
have exposure to this all over the place.  Our basic problem is that we
have a complex refcounted model for hosts, devices and commands.  Since
the I/O paths are all accessible from either user or softirq context,
most of these puts will be in potentially illegal places.

We could get out of this by dumping device refcounting and implementing
our own instead, but that really doesn't sound to be the right thing to
do.  Conversely, putting workqueues everywhere to get around this, like
I did for the target handling, is going to get very messy.

James


-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux