[PATCH V4 0/7] loop: cleanup charging io to mem/blkcg

Ming Lei
2021-08-06T08:03:41Z

Hello Guys,

Cleanup charging io to mem/blkcg a bit:

- avoid to store blkcg_css/memcg_css in loop_cmd, and store blkcg_css in
loop_worker instead

- avoid to acquire ->lo_work_lock in IO path

- simplify blkcg_css query via xarray

- other misc cleanup

V4:
- fix build failure in case of !CONFIG_CGROUPS: changed to use
'struct cgroup_subsys_state' as parameter of the added memcg helper;
meantime add helper loop_blkcg_css_id()

V3:
- one patch style change in 7/7
- rebase patch 4/7 against for-5.15/block
- add acked-by tag

V2:
- add helper of memcg_get_e_css
- cleanup #ifdef
- improve the last patch, as discussed with Dan Schatzberg

Ming Lei (7):
mm: memcontrol: add helper of memcg_get_e_css
loop: clean up blkcg association
loop: conver timer for monitoring idle worker into dwork
loop: add __loop_free_idle_workers() for covering freeing workers in
clearing FD
loop: improve loop_process_work
loop: use xarray to store workers
loop: don't add worker into idle list

drivers/block/loop.c | 331 +++++++++++++++++++++----------------
drivers/block/loop.h | 7 +-
include/linux/memcontrol.h | 10 ++
3 files changed, 201 insertions(+), 147 deletions(-)

--
2.31.1