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

Christoph Hellwig
2021-08-09T06:42:04Z

FYI, I am still of the firm opinion that the current cgroup support in
the loop driver needs to be reverted and be redone cleanly from scratch
without impacting the normal non-cgroup path at all.

On Fri, Aug 06, 2021 at 04:02:55PM +0800, Ming Lei wrote:
> 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
---end quoted text---