memcg: disable swap cgroup allocation at swapon
Get series with b4
b4 am [email protected]Versions newest first
- v2 Latest6 patches 26 repliesIn review
Changes in v2 from the cover letter
- Refactor swap_cgroup_swapon()/swap_cgroup_prepare(), to make the later can be used for allocating buffers per the first non-root memcg creation.
- Bypass root memcg swap statistics, using the global stats to figure it out instead.
- Export nr_swap_files which would be used when creating/freeing swap_cgroup
- Deallocate swap accounting structures on the last non-root memcg removal
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/6 | memcg: refactor swap_cgroup_swapon()mm/ | +6 | 2 replies | |
| 2/6 | memcg: bypass swap accounting for the root memcgmm/ | +30 | 6 replies | |
| 3/6 | memcg: introduce memsw_accounting_usersmm/ | +15 | 5 replies | |
| 4/6 | memcg: export nr_swap_filesinclude/ mm/ | +2 | 3 replies | |
| 5/6 | memcg: introduce swap_cgroup_init()/swap_cgroup_free()include/ mm/ | +110 | 5 replies | |
| 6/6 | memcg: init/free swap cgroup strucutres upon create/free child memcgmm/ | +3 | 3 replies |
Reviews trailers per patch
4 of 6 patches have a Reviewed-by or Acked-by.
| Patch | Glauber Costa | Michal Hocko |
|---|---|---|
| 1/6 | A-b | |
| 2/6 | ||
| 3/6 | ||
| 4/6 | A-b | A-b |
| 5/6 | R-b | |
| 6/6 | A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v2 0/6] memcg: disable swap cgroup allocation at swapon
Hello,
Here is the v2 patch set for disabling swap_cgroup structures allocation per swapon.
In the initial version, one big issue is that I have missed the swap tracking for the root memcg, thanks Michal pointing it out. :)
In order to solve it, the easiest approach I can think out is to bypass the root memcg swap accounting during the business and figure it out with some global stats, which means that we always return 0 per root memcg swap charge/uncharge stage, and this is inspired by another proposal from Zhengju:
"memcg: Don't account root memcg page statistics -- https://lkml.org/lkml/2013/1/2/71"
Besides that, another major fix is deallocate swap accounting structures on the last non-root memcg remove after all references to it are gone rather than doing it on mem_cgroup_destroy().
Any comment are welcome!
v1->v2:
- Refactor swap_cgroup_swapon()/swap_cgroup_prepare(), to make the later can be used for allocating buffers per the first non-root memcg creation.
- Bypass root memcg swap statistics, using the global stats to figure it out instead.
- Export nr_swap_files which would be used when creating/freeing swap_cgroup
- Deallocate swap accounting structures on the last non-root memcg removal
Old patch set:
v1:
http://marc.info/?l=linux-mm&m=135461016823964&w=2
Thanks,
-Jeff
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>