[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87ilyakx0z.mognet@arm.com>
Date: Wed, 06 Oct 2021 16:12:12 +0100
From: Valentin Schneider <valentin.schneider@....com>
To: Frederic Weisbecker <frederic@...nel.org>
Cc: "Paul E . McKenney" <paulmck@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
Uladzislau Rezki <urezki@...il.com>,
Thomas Gleixner <tglx@...utronix.de>,
Boqun Feng <boqun.feng@...il.com>,
Neeraj Upadhyay <neeraju@...eaurora.org>,
Josh Triplett <josh@...htriplett.org>,
Joel Fernandes <joel@...lfernandes.org>, rcu@...r.kernel.org
Subject: Re: [PATCH 10/11] rcu: Apply callbacks processing time limit only on softirq
On 04/10/21 15:47, Frederic Weisbecker wrote:
> On Fri, Oct 01, 2021 at 06:51:32PM +0100, Valentin Schneider wrote:
>> On 30/09/21 00:10, Frederic Weisbecker wrote:
>> > Time limit only makes sense when callbacks are serviced in softirq mode
>> > because:
>> >
>> > _ In case we need to get back to the scheduler,
>> > cond_resched_tasks_rcu_qs() is called after each callback.
>> >
>> > _ In case some other softirq vector needs the CPU, the call to
>> > local_bh_enable() before cond_resched_tasks_rcu_qs() takes care about
>> > them via a call to do_softirq().
>> >
>> > _ The time spent on other tasks after scheduling out, or on softirqs
>> > processing, is spuriously accounted to the time limit.
>> >
>>
>> That wasn't the case before ("rcu: Fix callbacks processing time limit
>> retaining cond_resched()")
>
> But if cond_resched_tasks_rcu_qs() was called and then on the next iteration
> tlimit is checked, the time spent scheduling out is included, right?
>
if tlimit was set, then that branch would either continue or break; both
cases would have skipped over the cond_resched_tasks_rcu_qs() (which the
aforementioned patch addresses).
Powered by blists - more mailing lists