Re: io_request_lock/queue_lock patch
Jens Axboe (axboe@suse.de)
Mon, 3 Sep 2001 09:07:03 +0200
On Fri, Aug 31 2001, Jonathan Lahr wrote:
>
> > > Please elaborate on "no, no, no". Are you suggesting that no further
> > > improvements can be made or should be attempted on the 2.4 i/o subsystem?
> >
> > Of course not. The no no no just means that attempting to globally remove the
> > io_request_lock at this point is a no-go, so don't even go there. The
> > sledgehammer approach will not fly at this point, it's just way too risky.
>
> I agree that reducing locking scope is often problematic. However,
> this patch does not globally remove the io_request_lock. The purpose
> of the patch is to protect request queue integrity with a per queue
> lock instead of the global io_request_lock. My intent was to leave
> other io_request_lock serialization intact. Any insight into whether
> the patch leaves data unprotected would be appreciated.
You are now browsing the request list without agreeing on what lock is
being held -- what happens to drivers assuming that io_request_lock
protects the list? Boom. For 2.4 we simply cannot afford to muck around
with this, it's jsut too dangerous. For 2.5 I already completely removed
the io_request_lock (also helps to catch references to it from drivers).
I agree with your SCSI approach, it's the same we took. Low level
drivers must be responsible for their own locking, the mid layer should
not pre-grab anything for them.
--
Jens Axboe
-
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/