Thread (9 messages) 9 messages, 4 authors, 2023-01-17

Re: [PATCH] blk-cgroup: fix missing pd_online_fn() while activating policy

From: Tejun Heo <hidden>
Date: 2023-01-05 17:00:12
Also in: linux-block, lkml

On Thu, Jan 05, 2023 at 09:52:29PM +0800, Yu Kuai wrote:
Hi,

在 2023/01/05 18:45, Michal Koutný 写道:
quoted
On Thu, Jan 05, 2023 at 09:43:02AM +0800, Yu Kuai [off-list ref] wrote:
quoted
This is based only on code review, currently the only negative effects
is that root blkg from blk-throtl won't call pd_online_fn().
Good, that's a NOP and there are no other uses of pd_online_fn.

I wonder are the separate pd_init_fn and pd_online_fn callbacks
necessary today?
I think online can combine to init, consider that only blk-throttle
implement pd_online_fn(), but I'm not sure...

It seems to me the policies(bfq, iocost...) seem don't honor how pd
apis works: alloc->init->online->offline->free, bfq combines online to
init, iocost combines offline to free, ...
So, the distinction between alloc and online is that a pd which gets
allocated may be freed without ever going online if later allocations fail.
This is following cgroup init/exit pattern. Maybe it's a bit too elaborate
but the distinction is meaningful, at least in principle.

What seems truly spurious is pd_init_fn(). All that pd_init_fn() can do
should be achievable between pd_alloc_fn() and pd_online_fn(). The overlap
seems at least partially historical and we used to have pd_exit_fn() too.
So, yeah, getting rid of pd_init_fn() would be a nice first step.

Thanks.

-- 
tejun
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help