mm: memcontrol: rearrange charging fast path
authorJohannes Weiner <[email protected]>
Wed, 6 Aug 2014 23:05:44 +0000 (16:05 -0700)
committerLinus Torvalds <[email protected]>
Thu, 7 Aug 2014 01:01:17 +0000 (18:01 -0700)
commit06b078fc065fe1fe7097675c8ee416aa2ef94fb3
tree749a33193bae4b45994df23e67f4656d70eceeb9
parent6539cc053869bd32a2db731b215b7c73b11f68d3
mm: memcontrol: rearrange charging fast path

The charging path currently starts out with OOM condition checks when
OOM is the rarest possible case.

Rearrange this code to run OOM/task dying checks only after trying the
percpu charge and the res_counter charge and bail out before entering
reclaim.  Attempting a charge does not hurt an (oom-)killed task as much
as every charge attempt having to check OOM conditions.  Also, only
check __GFP_NOFAIL when the charge would actually fail.

Signed-off-by: Johannes Weiner <[email protected]>
Acked-by: Michal Hocko <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Tejun Heo <[email protected]>
Cc: Vladimir Davydov <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/memcontrol.c