On 9/26/24 18:40, Uladzislau Rezki wrote:
> On Thu, Sep 26, 2024 at 06:35:27PM +0200, Vlastimil Babka wrote:
>> On 9/18/24 16:40, Uladzislau Rezki wrote:
>> >>
>> > Thank you for valuable feedback! Indeed it is hard to follow, even
>> > though it works correctly.
>> > I will add the comment and also break the loop on first queuing as you
>> > suggested!
>> > 
>> > It does not make sense to loop further because following iterations
>> > are never successful
>> > thus never overwrite "queued" variable(it never reaches the
>> > queue_rcu_work() call).
>> > 
>> > <snip>
>> >          bool queued = false;
>> >          ...
>> >          for (i = 0; i < KFREE_N_BATCHES; i++) {
>> >                 if (need_offload_krc(krcp)) {
>> >                          queued = queue_rcu_work(system_wq, 
>> > &krwp->rcu_work);
>> >          ...
>> >          return queued;
>> > <snip>
>> > 
>> > if we queued, "if(need_offload_krc())" condition is never true anymore.
>> > 
>> > Below refactoring makes it clear. I will send the patch to address it.
>> 
>> Looks good, AFAICT. Can you send the full patch then? Thanks.
>> 
> I will do so. We can send it from RCU-side for rcX, this merge window or
> you can do it.
> 
> What is the best for you?

Guess I could do via slab tree since the original commit went there too.

Thanks

> --
> Uladzislau Rezki


Reply via email to