[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <OS0PR01MB5922F9C13EB44AA99B3DC6C586CAA@OS0PR01MB5922.jpnprd01.prod.outlook.com>
Date: Thu, 5 Oct 2023 07:58:04 +0000
From: Biju Das <biju.das.jz@...renesas.com>
To: "m.szyprowski@...sung.com" <m.szyprowski@...sung.com>,
"bsegall@...gle.com" <bsegall@...gle.com>,
"peterz@...radead.org" <peterz@...radead.org>
CC: "bristot@...hat.com" <bristot@...hat.com>,
"bsegall@...gle.com" <bsegall@...gle.com>,
"chris.hyser@...cle.com" <chris.hyser@...cle.com>,
"corbet@....net" <corbet@....net>,
"dietmar.eggemann@....com" <dietmar.eggemann@....com>,
"efault@....de" <efault@....de>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"joel@...lfernandes.org" <joel@...lfernandes.org>,
"joshdon@...gle.com" <joshdon@...gle.com>,
"juri.lelli@...hat.com" <juri.lelli@...hat.com>,
"kprateek.nayak@....com" <kprateek.nayak@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"mingo@...nel.org" <mingo@...nel.org>,
"patrick.bellasi@...bug.net" <patrick.bellasi@...bug.net>,
Pavel Machek <pavel@....cz>,
"peterz@...radead.org" <peterz@...radead.org>,
"pjt@...gle.com" <pjt@...gle.com>,
"qperret@...gle.com" <qperret@...gle.com>,
"qyousef@...alina.io" <qyousef@...alina.io>,
"rostedt@...dmis.org" <rostedt@...dmis.org>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"tim.c.chen@...ux.intel.com" <tim.c.chen@...ux.intel.com>,
"timj@....org" <timj@....org>,
"vincent.guittot@...aro.org" <vincent.guittot@...aro.org>,
"youssefesmat@...omium.org" <youssefesmat@...omium.org>,
"yu.c.chen@...el.com" <yu.c.chen@...el.com>,
"mgorman@...e.de" <mgorman@...e.de>,
"linux-renesas-soc@...r.kernel.org"
<linux-renesas-soc@...r.kernel.org>,
Geert Uytterhoeven <geert+renesas@...der.be>
Subject: RE: Re: [PATCH] sched/fair: fix pick_eevdf to always find the correct
se
Hi all,
> -----Original Message-----
> From: Biju Das
> Sent: Thursday, October 5, 2023 8:32 AM
> Subject: Re: [PATCH] sched/fair: fix pick_eevdf to always find the correct
> se
>
> Subject: Re: [PATCH] sched/fair: fix pick_eevdf to always find the correct
> se
> Date: Wed, 4 Oct 2023 22:39:39 +0200 [thread overview]
> Message-ID: <c92bc8a6-225d-4fd2-88b5-8994090fb2de@...sung.com> (raw)
> In-Reply-To: <xm261qego72d.fsf_-_@...gle.com>
>
> Hi,
>
> On 30.09.2023 02:09, Benjamin Segall wrote:
> > The old pick_eevdf could fail to find the actual earliest eligible
> > deadline when it descended to the right looking for min_deadline, but
> > it turned out that that min_deadline wasn't actually eligible. In that
> > case we need to go back and search through any left branches we
> > skipped looking for the actual best _eligible_ min_deadline.
> >
> > This is more expensive, but still O(log n), and at worst should only
> > involve descending two branches of the rbtree.
> >
> > I've run this through a userspace stress test (thank you
> > tools/lib/rbtree.c), so hopefully this implementation doesn't miss any
> > corner cases.
> >
> > Fixes: 147f3efaa241 ("sched/fair: Implement an EEVDF-like scheduling
> > policy")
> > Signed-off-by: Ben Segall <bsegall@...gle.com>
>
> This patch causing issues [1] in Renesas RZ/G2L SMARC EVK platform.
> Reverting the patch fixes the warning messages
>
> [1]
> [ 25.550898] EEVDF scheduling fail, picking leftmost
>
> [ 15.109634] ======================================================
> [ 15.109636] WARNING: possible circular locking dependency detected
> [ 15.109641] 6.6.0-rc4-next-20231005-arm64-renesas-ga03f9ebbbb4c #1165
> Not tainted
> [ 15.109648] ------------------------------------------------------
> [ 15.109649] migration/0/16 is trying to acquire lock:
> [ 15.109654] ffff800081713460 (console_owner){..-.}-{0:0}, at:
> console_flush_all.constprop.0+0x1a0/0x438
> [ 15.109694]
> [ 15.109694] but task is already holding lock:
> [ 15.109697] ffff00007fbd2298 (&rq->__lock){-.-.}-{2:2}, at:
> __schedule+0xd0/0xbe0
> [ 15.109718]
> [ 15.109718] which lock already depends on the new lock.
> [ 15.109718]
> [ 15.109720]
> [ 15.109720] the existing dependency chain (in reverse order) is:
>
> 25.551560] __down_trylock_console_sem+0x34/0xb8
> [ 25.551567] console_trylock+0x24/0x74
> [ 25.551574] vprintk_emit+0x114/0x388
> [ 25.551581] vprintk_default+0x34/0x3c
> [ 25.551588] vprintk+0x9c/0xb4
> [ 25.551594] _printk+0x58/0x7c
> [ 25.551600] pick_next_task_fair+0x274/0x480
> [ 25.551608] __schedule+0x154/0xbe0
> [ 25.551616] schedule+0x48/0x110
> [ 25.551623] worker_thread+0x1b8/0x3f8
> [ 25.551630] kthread+0x114/0x118
> [ 25.551635] ret_from_fork+0x10/0x20
> [ OK ] Started System Logging Service.
> [ 26.099203] EEVDF scheduling fail, picking leftmost
Complete log can be found here
https://pastebin.com/zZkRFiSf
Cheers,
Biju
Powered by blists - more mailing lists