diff options
author | Vivek Goyal <vgoyal@redhat.com> | 2011-05-23 10:02:19 +0200 |
---|---|---|
committer | Jens Axboe <jaxboe@fusionio.com> | 2011-05-23 10:02:19 +0200 |
commit | 2abae55f5a41d29f21b5b259c33d218c950d5c90 (patch) | |
tree | 69169fa89fb25fcf7521999d7fca91664262bfc7 /block/cfq-iosched.c | |
parent | backing-dev: Kill set but not used var in bdi_debug_stats_show() (diff) | |
download | linux-2abae55f5a41d29f21b5b259c33d218c950d5c90.tar.xz linux-2abae55f5a41d29f21b5b259c33d218c950d5c90.zip |
cfq-iosched: Fix a memory leak of per cpu stats for root group
We allocated per cpu stats struct for root group but did not free it.
Fix it.
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'block/cfq-iosched.c')
-rw-r--r-- | block/cfq-iosched.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index d646b279c8bb..0316f6eece03 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -3940,6 +3940,11 @@ static void cfq_exit_queue(struct elevator_queue *e) */ if (wait) synchronize_rcu(); + +#ifdef CONFIG_CFQ_GROUP_IOSCHED + /* Free up per cpu stats for root group */ + free_percpu(cfqd->root_group.blkg.stats_cpu); +#endif kfree(cfqd); } |