![]() | ||||||||||
Messages in this thread |
On Sat, Feb 28 2004, Ming Zhang wrote: > Hi, I have a quick question. > > In 2.4 kernel, can generic_make_request sleep? yes > I read the 2.4.24 kernel and find that there is printk in it. so i > assume it can sleep. if so, why the per queue make_request_fn can not > sleep base on the LDD book? and i do not see any place that the > io_request_lock is held. is this lock removed from system? or we do not > need this lock at this place any more? > > and in md code, it use blk_queue_make_request to use its own request_fn > instead a queue, for example, in raid1_make_request(), it calls > raid1_alloc_r1ch() which also call schedule() if need, then this own > request_fn can sleep? > > i think i am little confused about the LDD (linux device driver 2nd) > book and the new kernel code. can anybody point out some latest > reference for me? ->make_request_fn() is not entered with the queue/io_request_lock. It can sleep, it's not recommended since on writeout you are blocking kswapd/bdflush. -- 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/ | |||||||||
| Last update: 2005-03-22 13:01 [from the cache] ©2003-2008 | ||||||||||