diff options
| author | Johannes Weiner <[email protected]> | 2016-01-20 23:03:16 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2016-01-21 01:09:18 +0000 |
| commit | 44b7a8d33d666268062e0f725d5f14813a63a6ea (patch) | |
| tree | 976a8ef6d69e8d34be1b07ec5f5d75e26b291ceb /net/switchdev/switchdev.c | |
| parent | Documentation: cgroup: add memory.swap.{current,max} description (diff) | |
| download | kernel-44b7a8d33d666268062e0f725d5f14813a63a6ea.tar.gz kernel-44b7a8d33d666268062e0f725d5f14813a63a6ea.zip | |
mm: memcontrol: do not uncharge old page in page cache replacement
Changing page->mem_cgroup of a live page is tricky and fragile. In
particular, the memcg writeback code relies on that mapping being stable
and users of mem_cgroup_replace_page() not overlapping with dirtyable
inodes.
Page cache replacement doesn't have to do that, though. Instead of being
clever and transferring the charge from the old page to the new,
force-charge the new page and leave the old page alone. A temporary
overcharge won't matter in practice, and the old page is going to be freed
shortly after this anyway. And this is not performance critical.
Signed-off-by: Johannes Weiner <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Vladimir Davydov <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'net/switchdev/switchdev.c')
0 files changed, 0 insertions, 0 deletions
