]> git.karo-electronics.de Git - karo-tx-linux.git/commit
mm: memcontrol: simplify move precharge function
authorJohannes Weiner <hannes@cmpxchg.org>
Thu, 26 Jun 2014 00:42:37 +0000 (10:42 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 26 Jun 2014 00:42:37 +0000 (10:42 +1000)
commitcf116e596d90b44779c98acd92b955c7e3f219e2
tree8d07c6005199734b1ec662061df58f990a669152
parent0d51b7c40e3d887980d4579e42118a5d5ec3731e
mm: memcontrol: simplify move precharge function

The move precharge function does some baroque things: it tries raw
res_counter charging of the entire amount first, and then falls back to a
loop of one-by-one charges, with checks for pending signals and
cond_resched() batching.

Just use mem_cgroup_try_charge() without __GFP_WAIT for the first bulk
charge attempt.  In the one-by-one loop, remove the signal check (this is
already checked in try_charge), and simply call cond_resched() after every
charge - it's not that expensive.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Michal Hocko <mhocko@suse.cz>
Cc: Hugh Dickins <hughd@google.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Vladimir Davydov <vdavydov@parallels.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/memcontrol.c