Messages in this thread | | | Date | Mon, 3 Sep 2001 09:07:03 +0200 | From | Jens Axboe <> | Subject | Re: io_request_lock/queue_lock patch |
| |
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/
| |