lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 7 Sep 2022 10:01:16 -0400 From: Joel Fernandes <joel@...lfernandes.org> To: Frederic Weisbecker <frederic@...nel.org> Cc: rcu@...r.kernel.org, linux-kernel@...r.kernel.org, rushikesh.s.kadam@...el.com, urezki@...il.com, neeraj.iitr10@...il.com, paulmck@...nel.org, rostedt@...dmis.org, vineeth@...byteword.org, boqun.feng@...il.com Subject: Re: [PATCH v5 06/18] rcu: Introduce call_rcu_lazy() API implementation On 9/7/2022 6:03 AM, Frederic Weisbecker wrote: > On Tue, Sep 06, 2022 at 12:15:19PM -0400, Joel Fernandes wrote: >>>> + >>>> + // We had CBs in the bypass list before. There is nothing else to do if: >>>> + // There were only non-lazy CBs before, in this case, the bypass timer >>> >>> Kind of misleading. I would replace "There were only non-lazy CBs before" with >>> "There was at least one non-lazy CBs before". >> >> I really mean "There were only non-lazy CBs ever queued in the bypass list >> before". That's the bypass_is_lazy variable. So I did not fully understand your >> suggested comment change. > > I may well be missing something but to me it seems that: > > bypass_is_lazy = all bypass callbacks are lazy > !bypass_is_lazy = there is at least one non-lazy bypass callback > > And indeed as long as there is at least one non-lazy callback, we don't > want to rely on the LAZY timer. > > Am I overlooking something? No you are not over looking and you are very right that I may need to change the comment. To clarify my intent, a wake up or timer adjustment needs to be done only if: 1. Bypass list was fully empty before (this is the first bypass list entry). Or both the below conditions are met: 1. Bypass list had only lazy CBs before. 2. The new CB is non-lazy. Instead of saying, "nothing needs to be done if...", I will change it to: // A wake up of the grace period kthread or timer adjustment needs to // be done only if: // 1. Bypass list was empty before (this is the first bypass queue). // Or, both the below conditions are met: // 1. Bypass list had only lazy CBs before. // 2. The new CB is non-lazy. That sounds less confusing... Or, I can just make the edit you suggested... let me know either way! Thanks! - Joel
Powered by blists - more mailing lists