lkml.org 
[lkml]   [2005]   [Aug]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/1] block: CFQ refcounting fix
    On Wed, Aug 31 2005, Brian King wrote:
    > Jens Axboe wrote:
    > > On Tue, Aug 30 2005, brking@us.ibm.com wrote:
    > >
    > >>I ran across a memory leak related to the cfq scheduler. The cfq
    > >>init function increments the refcnt of the associated request_queue.
    > >>This refcount gets decremented in cfq's exit function. Since blk_cleanup_queue
    > >>only calls the elevator exit function when its refcnt goes to zero, the
    > >>request_q never gets cleaned up. It didn't look like other io schedulers were
    > >>incrementing this refcnt, so I removed the refcnt increment and it fixed the
    > >>memory leak for me.
    > >>
    > >>To reproduce the problem, simply use cfq and use the scsi_host scan sysfs
    > >>attribute to scan "- - -" repeatedly on a scsi host and watch the memory
    > >>vanish.
    > >
    > >
    > > Yeah, that actually looks like a dangling reference. I assume you tested
    > > this properly?
    >
    > Yes. I applied the patch, booted my system (which was crashing on
    > bootup before due to out of memory errors due to the leak) ran the
    > scan a few times and verified /proc/meminfo didn't continually
    > decrease like without it, and rebooted again. If there is anything
    > else you would like me to do, I would be happy to do so.

    I think you need to remove the blk_put_queue() in cfq_put_cfqd() as
    well, otherwise I don't see how this can work without looking at freed
    memory. I'll audit the other paths as well.

    --
    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-08-31 15:48    [W:0.026 / U:2.168 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site