diff options
author | Tejun Heo <tj@kernel.org> | 2016-11-21 18:03:32 -0500 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2016-11-22 08:59:49 -0700 |
commit | e00f4f4d0ff7e13b9115428a245b49108d625f09 (patch) | |
tree | c7ba017472071fe72b1d99628fba056b96a56575 /block/cfq-iosched.c | |
parent | 05aea81b4bc9e51dabd4559666c1d8d004f3662a (diff) |
block,blkcg: use __GFP_NOWARN for best-effort allocations in blkcg
blkcg allocates some per-cgroup data structures with GFP_NOWAIT and
when that fails falls back to operations which aren't specific to the
cgroup. Occassional failures are expected under pressure and falling
back to non-cgroup operation is the right thing to do.
Unfortunately, I forgot to add __GFP_NOWARN to these allocations and
these expected failures end up creating a lot of noise. Add
__GFP_NOWARN.
Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Marc MERLIN <marc@merlins.org>
Reported-by: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block/cfq-iosched.c')
-rw-r--r-- | block/cfq-iosched.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index e280d08ef6d7..9894dc985e09 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -3859,7 +3859,8 @@ cfq_get_queue(struct cfq_data *cfqd, bool is_sync, struct cfq_io_cq *cic, goto out; } - cfqq = kmem_cache_alloc_node(cfq_pool, GFP_NOWAIT | __GFP_ZERO, + cfqq = kmem_cache_alloc_node(cfq_pool, + GFP_NOWAIT | __GFP_ZERO | __GFP_NOWARN, cfqd->queue->node); if (!cfqq) { cfqq = &cfqd->oom_cfqq; |