• Jens Axboe's avatar
    [PATCH] dynamic request allocation · ac062f74
    Jens Axboe authored
    This patch adds dynamic allocation of request structures. Right now we
    are reserving 256 requests per initialized queue, which adds up to quite
    a lot of memory for even a modest number of queues. For the quoted 4000
    disk systems, it's a disaster.
    
    Instead, we mempool 4 requests per queue and put an upper limit on the
    number of requests that we will put in-flight as well. I've kept the 128
    read/write max in-flight limit for now. It is trivial to experiement
    with larger queue sizes now, but I want to change one thing at the time
    (the truncate scenario doesn't look all that good with a huge number of
    requests, for instance).
    
    Patch has been in -mm for a while, I'm running it here against stock 2.5
    as well. Additionally, it actually kills quite a bit of code as well
    ac062f74
elevator.c 10.4 KB