All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tim Chen <tim.c.chen@linux.intel.com>
To: Hao Jia <jiahao.os@bytedance.com>, Peter Zijlstra <peterz@infradead.org>
Cc: Benjamin Segall <bsegall@google.com>,
	Bagas Sanjaya <bagasdotme@gmail.com>,
	 Vincent Guittot <vincent.guittot@linaro.org>,
	Igor Raits <igor.raits@gmail.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Regressions <regressions@lists.linux.dev>,
	 Linux Stable <stable@vger.kernel.org>
Subject: Re: [External] Re: Fwd: WARNING: CPU: 13 PID: 3837105 at kernel/sched/sched.h:1561 __cfsb_csd_unthrottle+0x149/0x160
Date: Thu, 07 Sep 2023 14:01:10 -0700	[thread overview]
Message-ID: <171e6a9435a33885a73b48762f86954e447c26c2.camel@linux.intel.com> (raw)
In-Reply-To: <3544d5e3-3070-9ddc-fa6c-a05ed35dfd14@bytedance.com>

On Thu, 2023-09-07 at 16:59 +0800, Hao Jia wrote:
> 
> On 2023/9/5 Peter Zijlstra wrote:
> > On Thu, Aug 31, 2023 at 04:48:29PM +0800, Hao Jia wrote:
> > 
> > > If I understand correctly, rq->clock_update_flags may be set to
> > > RQCF_ACT_SKIP after __schedule() holds the rq lock, and sometimes the rq
> > > lock may be released briefly in __schedule(), such as newidle_balance(). At
> > > this time Other CPUs hold this rq lock, and then calling
> > > rq_clock_start_loop_update() may trigger this warning.
> > > 
> > > This warning check might be wrong. We need to add assert_clock_updated() to
> > > check that the rq clock has been updated before calling
> > > rq_clock_start_loop_update().
> > > 
> > > Maybe some things can be like this?
> > 
> > Urgh, aside from it being white space mangled, I think this is entirely
> > going in the wrong direction.
> > 
> > Leaking ACT_SKIP is dodgy as heck.. it's entirely too late to think
> > clearly though, I'll have to try again tomorrow.

I am trying to understand why this is an ACT_SKIP leak.
Before call to __cfsb_csd_unthrottle(), is it possible someone
else lock the runqueue, set ACT_SKIP and release rq_lock?
And then that someone never update the rq_clock? 

> 
> Hi Peter,
> 
> Do you think this fix method is correct? Or should we go back to the 
> beginning and move update_rq_clock() from unthrottle_cfs_rq()?
> 
If anyone who locked the runqueue set ACT_SKIP also will update rq_clock,
I think your change is okay.  Otherwise rq_clock could be missing update.

Thanks.

Tim

  reply	other threads:[~2023-09-07 21:01 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-30  0:37 Fwd: WARNING: CPU: 13 PID: 3837105 at kernel/sched/sched.h:1561 __cfsb_csd_unthrottle+0x149/0x160 Bagas Sanjaya
2023-08-30  0:42 ` Bagas Sanjaya
2023-08-30 19:16 ` Benjamin Segall
2023-08-31  8:48   ` [External] " Hao Jia
2023-09-04 22:23     ` Peter Zijlstra
2023-09-07  8:59       ` Hao Jia
2023-09-07 21:01         ` Tim Chen [this message]
2023-09-08  3:28           ` Hao Jia
2023-10-24  8:52 ` [tip: sched/core] sched/core: Fix RQCF_ACT_SKIP leak tip-bot2 for Hao Jia
2023-11-01 10:53 ` Fwd: WARNING: CPU: 13 PID: 3837105 at kernel/sched/sched.h:1561 __cfsb_csd_unthrottle+0x149/0x160 Linux regression tracking #update (Thorsten Leemhuis)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=171e6a9435a33885a73b48762f86954e447c26c2.camel@linux.intel.com \
    --to=tim.c.chen@linux.intel.com \
    --cc=bagasdotme@gmail.com \
    --cc=bsegall@google.com \
    --cc=igor.raits@gmail.com \
    --cc=jiahao.os@bytedance.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=regressions@lists.linux.dev \
    --cc=stable@vger.kernel.org \
    --cc=vincent.guittot@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.