Messages in this thread | | | Date | Thu, 24 Aug 2000 21:17:11 +0200 | From | Jens Axboe <> | Subject | Re: ll_rw_blk.c fails to merge requests. Help! |
| |
On Thu, Aug 24 2000, Linus Torvalds wrote: > > I did a quick patch doing just this -- and a just as quick dbench showed > > some improvement when batching freeing of requests of 64 at the time: > > Looks fine. > > However, I'd really like to introduce you to the "list_splice()" function. > Get rid of the loop to add the free'd requests back - just splice them > directly into the free request list. O(n) -> O(1), and much simpler too ;)
Heh, but it's not that simple. The requests that are currently on the pending list, are not necessarily added to the same freelist. So we have to scan the pending list, and look at each request individually.
-- * Jens Axboe <axboe@suse.de> * SuSE Labs - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |