From: Ionela Voinescu <ionela.voinescu@arm.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>,
rjw@rjwysocki.net, catalin.marinas@arm.com, sudeep.holla@arm.com,
will@kernel.org, linux@armlinux.org.uk, mingo@redhat.com,
peterz@infradead.org, linux-pm@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 3/7] arch_topology: disable frequency invariance for CONFIG_BL_SWITCHER
Date: Mon, 10 Aug 2020 10:01:00 +0100 [thread overview]
Message-ID: <20200810090100.GA7190@arm.com> (raw)
In-Reply-To: <20200804063046.a2hw5cxwiewhb3aw@vireshk-mac-ubuntu>
Hi guys,
On Tuesday 04 Aug 2020 at 12:00:46 (+0530), Viresh Kumar wrote:
> On 30-07-20, 12:29, Dietmar Eggemann wrote:
> > On 30/07/2020 06:24, Viresh Kumar wrote:
> > > On 22-07-20, 10:37, Ionela Voinescu wrote:
> > >> +++ b/drivers/base/arch_topology.c
> > >> @@ -27,6 +27,7 @@ __weak bool arch_freq_counters_available(struct cpumask *cpus)
> > >> }
> > >> DEFINE_PER_CPU(unsigned long, freq_scale) = SCHED_CAPACITY_SCALE;
> > >>
> > >> +#ifndef CONFIG_BL_SWITCHER
> > >> void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
> > >> unsigned long max_freq)
> > >> {
> > >> @@ -46,6 +47,7 @@ void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
> > >> for_each_cpu(i, cpus)
> > >> per_cpu(freq_scale, i) = scale;
> > >> }
> > >> +#endif
> > >
> > > I don't really like this change, the ifdef hackery is disgusting and
> > > then we are putting that in a completely different part of the kernel.
> > >
> > > There are at least these two ways of solving this, maybe more:
> > >
> > > - Fix the bl switcher driver and add the complexity in it (which you
> > > tried to do earlier).
> > >
> > > - Add a cpufreq flag to skip arch-set-freq-scale call.
> >
> > I agree it's not nice but IMHO the cpufreq flag is worse since we would
> > introduce new infrastructure only for a deprecated feature. I'm assuming
> > that BL SWITCHER is the only feature needing this CPUfreq flag extension.
> >
> > #ifdef CONFIG_BL_SWITCHER is already in drivers/irqchip/irq-gic.c so
> > it's ugly already.
> >
> > Runtime detecting (via bL_switching_enabled) of BL SWITCHER is right now
> > also only handled inside vexpress-spc-cpufreq.c via a
> > bL_switcher_notifier. A mechanism which also sits behind a #ifdef
> > CONFIG_BL_SWITCHER.
>
> Vexpress one is a driver and so ugliness could be ignored here :)
>
> So here is option number 3 (in continuation of the earlier two
> options):
> - Don't do anything for bL switcher, just add a TODO/NOTE in the
> driver that FIE is broken for switcher. And I don't think anyone
> will care about FIE for the switcher anyway :)
>
I gave it a bit of time in case anyone had strong opinions about this,
but given the lack of those, what I can do in this series is the
following: ignore the problem :). This issue was there before these
patches and it will continue to be there after these patches - nothing
changes.
Separately from this series, I can submit a patch with Viresh's
suggestion above and we can spin around a bit discussing this, if there
is interest. My opinion on this is that option 1 is ugly but it does fix
an issue in a relatively non-invasive way. I agree with "I don't think
anyone will care about FIE for the switcher anyway", but for me this
means that nobody will care if it's supported (and therefore option 1
is the proper solution). But if bL switcher is used, I think people might
care if it's broken, as it results in incorrect scheduler signals.
Therefore, I would not like leaving it broken (option 3). If it's not
used, option 2 is obvious.
Many thanks,
Ionela.
> --
> viresh
WARNING: multiple messages have this Message-ID (diff)
From: Ionela Voinescu <ionela.voinescu@arm.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: linux-pm@vger.kernel.org, peterz@infradead.org,
catalin.marinas@arm.com, rjw@rjwysocki.net,
linux@armlinux.org.uk, linux-kernel@vger.kernel.org,
mingo@redhat.com, sudeep.holla@arm.com, will@kernel.org,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 3/7] arch_topology: disable frequency invariance for CONFIG_BL_SWITCHER
Date: Mon, 10 Aug 2020 10:01:00 +0100 [thread overview]
Message-ID: <20200810090100.GA7190@arm.com> (raw)
In-Reply-To: <20200804063046.a2hw5cxwiewhb3aw@vireshk-mac-ubuntu>
Hi guys,
On Tuesday 04 Aug 2020 at 12:00:46 (+0530), Viresh Kumar wrote:
> On 30-07-20, 12:29, Dietmar Eggemann wrote:
> > On 30/07/2020 06:24, Viresh Kumar wrote:
> > > On 22-07-20, 10:37, Ionela Voinescu wrote:
> > >> +++ b/drivers/base/arch_topology.c
> > >> @@ -27,6 +27,7 @@ __weak bool arch_freq_counters_available(struct cpumask *cpus)
> > >> }
> > >> DEFINE_PER_CPU(unsigned long, freq_scale) = SCHED_CAPACITY_SCALE;
> > >>
> > >> +#ifndef CONFIG_BL_SWITCHER
> > >> void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
> > >> unsigned long max_freq)
> > >> {
> > >> @@ -46,6 +47,7 @@ void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq,
> > >> for_each_cpu(i, cpus)
> > >> per_cpu(freq_scale, i) = scale;
> > >> }
> > >> +#endif
> > >
> > > I don't really like this change, the ifdef hackery is disgusting and
> > > then we are putting that in a completely different part of the kernel.
> > >
> > > There are at least these two ways of solving this, maybe more:
> > >
> > > - Fix the bl switcher driver and add the complexity in it (which you
> > > tried to do earlier).
> > >
> > > - Add a cpufreq flag to skip arch-set-freq-scale call.
> >
> > I agree it's not nice but IMHO the cpufreq flag is worse since we would
> > introduce new infrastructure only for a deprecated feature. I'm assuming
> > that BL SWITCHER is the only feature needing this CPUfreq flag extension.
> >
> > #ifdef CONFIG_BL_SWITCHER is already in drivers/irqchip/irq-gic.c so
> > it's ugly already.
> >
> > Runtime detecting (via bL_switching_enabled) of BL SWITCHER is right now
> > also only handled inside vexpress-spc-cpufreq.c via a
> > bL_switcher_notifier. A mechanism which also sits behind a #ifdef
> > CONFIG_BL_SWITCHER.
>
> Vexpress one is a driver and so ugliness could be ignored here :)
>
> So here is option number 3 (in continuation of the earlier two
> options):
> - Don't do anything for bL switcher, just add a TODO/NOTE in the
> driver that FIE is broken for switcher. And I don't think anyone
> will care about FIE for the switcher anyway :)
>
I gave it a bit of time in case anyone had strong opinions about this,
but given the lack of those, what I can do in this series is the
following: ignore the problem :). This issue was there before these
patches and it will continue to be there after these patches - nothing
changes.
Separately from this series, I can submit a patch with Viresh's
suggestion above and we can spin around a bit discussing this, if there
is interest. My opinion on this is that option 1 is ugly but it does fix
an issue in a relatively non-invasive way. I agree with "I don't think
anyone will care about FIE for the switcher anyway", but for me this
means that nobody will care if it's supported (and therefore option 1
is the proper solution). But if bL switcher is used, I think people might
care if it's broken, as it results in incorrect scheduler signals.
Therefore, I would not like leaving it broken (option 3). If it's not
used, option 2 is obvious.
Many thanks,
Ionela.
> --
> viresh
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-08-10 9:01 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-22 9:37 [PATCH v2 0/7] cpufreq: improve frequency invariance support Ionela Voinescu
2020-07-22 9:37 ` Ionela Voinescu
2020-07-22 9:37 ` [PATCH v2 1/7] cpufreq: move invariance setter calls in cpufreq core Ionela Voinescu
2020-07-22 9:37 ` Ionela Voinescu
2020-07-27 13:48 ` Rafael J. Wysocki
2020-07-27 13:48 ` Rafael J. Wysocki
2020-07-29 9:03 ` Ionela Voinescu
2020-07-29 9:03 ` Ionela Voinescu
2020-07-30 3:41 ` Viresh Kumar
2020-07-30 3:41 ` Viresh Kumar
2020-08-03 13:26 ` Ionela Voinescu
2020-08-03 13:26 ` Ionela Voinescu
2020-08-03 13:46 ` Rafael J. Wysocki
2020-08-03 13:46 ` Rafael J. Wysocki
2020-08-03 14:16 ` Ionela Voinescu
2020-08-03 14:16 ` Ionela Voinescu
2020-07-22 9:37 ` [PATCH v2 2/7] cpufreq: set invariance scale factor on transition end Ionela Voinescu
2020-07-22 9:37 ` Ionela Voinescu
2020-07-27 13:52 ` Rafael J. Wysocki
2020-07-27 13:52 ` Rafael J. Wysocki
2020-07-29 9:14 ` Ionela Voinescu
2020-07-29 9:14 ` Ionela Voinescu
2020-07-30 4:13 ` Viresh Kumar
2020-07-30 4:13 ` Viresh Kumar
2020-08-03 13:58 ` Ionela Voinescu
2020-08-03 13:58 ` Ionela Voinescu
2020-08-04 6:26 ` Viresh Kumar
2020-08-04 6:26 ` Viresh Kumar
2020-08-05 10:35 ` Ionela Voinescu
2020-08-05 10:35 ` Ionela Voinescu
2020-07-22 9:37 ` [PATCH v2 3/7] arch_topology: disable frequency invariance for CONFIG_BL_SWITCHER Ionela Voinescu
2020-07-22 9:37 ` Ionela Voinescu
2020-07-30 4:24 ` Viresh Kumar
2020-07-30 4:24 ` Viresh Kumar
2020-07-30 10:29 ` Dietmar Eggemann
2020-07-30 10:29 ` Dietmar Eggemann
2020-07-31 15:48 ` Sudeep Holla
2020-07-31 15:48 ` Sudeep Holla
2020-08-03 14:39 ` Ionela Voinescu
2020-08-03 14:39 ` Ionela Voinescu
2020-08-04 6:30 ` Viresh Kumar
2020-08-04 6:30 ` Viresh Kumar
2020-08-10 9:01 ` Ionela Voinescu [this message]
2020-08-10 9:01 ` Ionela Voinescu
2020-07-22 9:37 ` [PATCH v2 4/7] cpufreq: report whether cpufreq supports Frequency Invariance (FI) Ionela Voinescu
2020-07-22 9:37 ` Ionela Voinescu
2020-07-27 14:02 ` Rafael J. Wysocki
2020-07-27 14:02 ` Rafael J. Wysocki
2020-07-29 14:39 ` Ionela Voinescu
2020-07-29 14:39 ` Ionela Voinescu
2020-07-30 4:43 ` Viresh Kumar
2020-07-30 4:43 ` Viresh Kumar
2020-08-03 15:24 ` Ionela Voinescu
2020-08-03 15:24 ` Ionela Voinescu
2020-08-04 6:46 ` Viresh Kumar
2020-08-04 6:46 ` Viresh Kumar
2020-08-05 10:35 ` Ionela Voinescu
2020-08-05 10:35 ` Ionela Voinescu
2020-07-22 9:37 ` [PATCH v2 5/7] arch_topology,cpufreq,sched/core: constify arch_* cpumasks Ionela Voinescu
2020-07-22 9:37 ` [PATCH v2 5/7] arch_topology, cpufreq, sched/core: " Ionela Voinescu
2020-07-30 11:43 ` [PATCH v2 5/7] arch_topology,cpufreq,sched/core: " Catalin Marinas
2020-07-30 11:43 ` [PATCH v2 5/7] arch_topology, cpufreq, sched/core: " Catalin Marinas
2020-07-22 9:37 ` [PATCH v2 6/7] arch_topology,arm,arm64: define arch_scale_freq_invariant() Ionela Voinescu
2020-07-22 9:37 ` [PATCH v2 6/7] arch_topology, arm, arm64: " Ionela Voinescu
2020-07-30 11:44 ` [PATCH v2 6/7] arch_topology,arm,arm64: " Catalin Marinas
2020-07-30 11:44 ` Catalin Marinas
2020-07-22 9:37 ` [PATCH v2 7/7] cpufreq: make schedutil the default for arm and arm64 Ionela Voinescu
2020-07-22 9:37 ` Ionela Voinescu
2020-07-30 4:54 ` Viresh Kumar
2020-07-30 4:54 ` Viresh Kumar
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=20200810090100.GA7190@arm.com \
--to=ionela.voinescu@arm.com \
--cc=catalin.marinas@arm.com \
--cc=dietmar.eggemann@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=sudeep.holla@arm.com \
--cc=viresh.kumar@linaro.org \
--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.