From: Valentin Schneider <valentin.schneider@arm.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: mw@semihalf.com, paulmck@kernel.org,
Anna-Maria Gleixner <anna-maria@linutronix.de>,
catalin.marinas@arm.com, Alison Wang <alison.wang@nxp.com>,
linux-kernel@vger.kernel.org, leoyang.li@nxp.com,
Peter Zijlstra <peterz@infradead.org>,
vladimir.oltean@nxp.com,
Kurt Kanzenbach <kurt.kanzenbach@linutronix.de>,
Vladimir Oltean <olteanv@gmail.com>,
will@kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC PATCH] arm64: defconfig: Disable fine-grained task level IRQ time accounting
Date: Mon, 03 Aug 2020 16:47:03 +0100 [thread overview]
Message-ID: <jhjh7tjivew.mognet@arm.com> (raw)
In-Reply-To: <87d047n4oh.fsf@nanos.tec.linutronix.de>
On 03/08/20 16:13, Thomas Gleixner wrote:
> Vladimir Oltean <olteanv@gmail.com> writes:
>>> 1) When irq accounting is disabled, RT throttling kicks in as
>>> expected.
>>>
>>> 2) With irq accounting the RT throttler does not kick in and the RCU
>>> stall/lockups happen.
>> What is this telling us?
>
> It seems that the fine grained irq time accounting affects the runtime
> accounting in some way which I haven't figured out yet.
>
With IRQ_TIME_ACCOUNTING, rq_clock_task() will always be incremented by a
lesser-or-equal value than when not having the option; you start with the
same delta_exec but slice some for the IRQ accounting, and leave the rest
for the rq_clock_task() (+paravirt).
IIUC this means that if you spend e.g. 10% of the time in IRQ and 90% of
the time running the stress-ng RT tasks, despite having RT tasks hogging
the entirety of the "available time" it is still only 90% runtime, which is
below the 95% default and the throttling doesn't happen.
I don't know if considering IRQ time in some way or another in
sched_rt_runtime_exceeded() really is a way out here.
> Thanks,
>
> tglx
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Valentin Schneider <valentin.schneider@arm.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Vladimir Oltean <olteanv@gmail.com>,
Kurt Kanzenbach <kurt.kanzenbach@linutronix.de>,
Alison Wang <alison.wang@nxp.com>,
catalin.marinas@arm.com, will@kernel.org, paulmck@kernel.org,
mw@semihalf.com, leoyang.li@nxp.com, vladimir.oltean@nxp.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org,
Anna-Maria Gleixner <anna-maria@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>
Subject: Re: [RFC PATCH] arm64: defconfig: Disable fine-grained task level IRQ time accounting
Date: Mon, 03 Aug 2020 16:47:03 +0100 [thread overview]
Message-ID: <jhjh7tjivew.mognet@arm.com> (raw)
In-Reply-To: <87d047n4oh.fsf@nanos.tec.linutronix.de>
On 03/08/20 16:13, Thomas Gleixner wrote:
> Vladimir Oltean <olteanv@gmail.com> writes:
>>> 1) When irq accounting is disabled, RT throttling kicks in as
>>> expected.
>>>
>>> 2) With irq accounting the RT throttler does not kick in and the RCU
>>> stall/lockups happen.
>> What is this telling us?
>
> It seems that the fine grained irq time accounting affects the runtime
> accounting in some way which I haven't figured out yet.
>
With IRQ_TIME_ACCOUNTING, rq_clock_task() will always be incremented by a
lesser-or-equal value than when not having the option; you start with the
same delta_exec but slice some for the IRQ accounting, and leave the rest
for the rq_clock_task() (+paravirt).
IIUC this means that if you spend e.g. 10% of the time in IRQ and 90% of
the time running the stress-ng RT tasks, despite having RT tasks hogging
the entirety of the "available time" it is still only 90% runtime, which is
below the 95% default and the throttling doesn't happen.
I don't know if considering IRQ time in some way or another in
sched_rt_runtime_exceeded() really is a way out here.
> Thanks,
>
> tglx
next prev parent reply other threads:[~2020-08-03 15:48 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-29 3:39 [RFC PATCH] arm64: defconfig: Disable fine-grained task level IRQ time accounting Alison Wang
2020-07-29 3:39 ` Alison Wang
2020-07-29 8:40 ` Kurt Kanzenbach
2020-07-29 8:40 ` Kurt Kanzenbach
2020-07-29 8:50 ` [EXT] " Alison Wang
2020-07-29 8:50 ` Alison Wang
2020-07-29 9:49 ` Vladimir Oltean
2020-07-29 9:49 ` Vladimir Oltean
2020-07-30 7:23 ` Kurt Kanzenbach
2020-07-30 7:23 ` Kurt Kanzenbach
2020-07-30 8:22 ` Vladimir Oltean
2020-07-30 8:22 ` Vladimir Oltean
2020-08-03 8:04 ` Kurt Kanzenbach
2020-08-03 8:04 ` Kurt Kanzenbach
2020-08-03 8:16 ` Vladimir Oltean
2020-08-03 8:16 ` Vladimir Oltean
2020-08-03 9:51 ` Robin Murphy
2020-08-03 9:51 ` Robin Murphy
2020-08-03 11:38 ` Vladimir Oltean
2020-08-03 11:38 ` Vladimir Oltean
2020-08-03 11:48 ` Valentin Schneider
2020-08-03 11:48 ` Valentin Schneider
2020-08-03 13:24 ` Marc Zyngier
2020-08-03 13:24 ` Marc Zyngier
2020-08-03 10:02 ` Thomas Gleixner
2020-08-03 10:02 ` Thomas Gleixner
2020-08-03 10:49 ` Thomas Gleixner
2020-08-03 10:49 ` Thomas Gleixner
2020-08-03 11:41 ` Vladimir Oltean
2020-08-03 11:41 ` Vladimir Oltean
2020-08-03 15:13 ` Thomas Gleixner
2020-08-03 15:13 ` Thomas Gleixner
2020-08-03 15:47 ` Valentin Schneider [this message]
2020-08-03 15:47 ` Valentin Schneider
2020-08-03 16:14 ` Vladimir Oltean
2020-08-03 16:14 ` Vladimir Oltean
2020-08-03 19:22 ` Thomas Gleixner
2020-08-03 19:22 ` Thomas Gleixner
2020-08-03 23:59 ` Valentin Schneider
2020-08-03 23:59 ` Valentin Schneider
2020-08-05 8:50 ` Dietmar Eggemann
2020-08-05 8:50 ` Dietmar Eggemann
2020-08-05 13:40 ` peterz
2020-08-05 13:40 ` peterz
2020-08-05 13:56 ` Valentin Schneider
2020-08-05 13:56 ` Valentin Schneider
2020-08-05 15:31 ` peterz
2020-08-05 15:31 ` peterz
2020-08-06 9:41 ` Thomas Gleixner
2020-08-06 9:41 ` Thomas Gleixner
2020-08-06 11:45 ` peterz
2020-08-06 11:45 ` peterz
2020-08-06 13:27 ` Paul E. McKenney
2020-08-06 13:27 ` Paul E. McKenney
2020-08-06 19:03 ` Thomas Gleixner
2020-08-06 19:03 ` Thomas Gleixner
2020-08-06 20:39 ` Paul E. McKenney
2020-08-06 20:39 ` Paul E. McKenney
2020-08-06 18:58 ` Thomas Gleixner
2020-08-06 18:58 ` Thomas Gleixner
2020-08-06 9:34 ` Thomas Gleixner
2020-08-06 9:34 ` Thomas Gleixner
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=jhjh7tjivew.mognet@arm.com \
--to=valentin.schneider@arm.com \
--cc=alison.wang@nxp.com \
--cc=anna-maria@linutronix.de \
--cc=catalin.marinas@arm.com \
--cc=kurt.kanzenbach@linutronix.de \
--cc=leoyang.li@nxp.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mw@semihalf.com \
--cc=olteanv@gmail.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=vladimir.oltean@nxp.com \
--cc=will@kernel.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.