From: Bagas Sanjaya <bagasdotme@gmail.com>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux Regressions <regressions@lists.linux.dev>,
Linux Power Management <linux-pm@vger.kernel.org>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>,
Viresh Kumar <viresh.kumar@linaro.org>,
Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Ramses VdP <ramses@well-founded.dev>
Subject: Fwd: Intel hybrid CPU scheduler always prefers E cores
Date: Tue, 28 Nov 2023 20:22:27 +0700 [thread overview]
Message-ID: <01df8329-06d7-4fd1-9c7a-05296f33231e@gmail.com> (raw)
Hi,
I come across an interesting bug report on Bugzilla [1]. The reporter
wrote:
> I am running an intel alder lake system (Core i7-1260P), with a mix of P and E cores.
>
> Since Linux 6.6, and also on the current 6.7 RC, the scheduler seems to have a strong preference for the E cores, and single threaded workloads are consistently scheduled on one of the E cores.
>
> With Linux 6.4 and before, when I ran a single threaded CPU-bound process, it was scheduled on a P core. With 6.5, it seems that the choice of P or E seemed rather random.
>
> I tested these by running "stress" with different amounts of threads. With a single thread on Linux 6.6 and 6.7, I always have an E core at 100% and no load on the P cores. Starting from 3 threads I get some load on the P cores as well, but the E cores stay more heavily loaded.
> With "taskset" I can force a process to run on a P core, but clearly it's not very practical to have to do CPU scheduling manually.
>
> This severely affects single-threaded performance of my CPU since the E cores are considerably slower. Several of my workflows are now a lot slower due to them being single-threaded and heavily CPU-bound and being scheduled on E cores whereas they would run on P cores before.
>
> I am not sure what the exact desired behaviour is here, to balance power consumption and performance, but currently my P cores are barely used for single-threaded workloads.
>
> Is this intended behaviour or is this indeed a regression? Or is there perhaps any configuration that I should have done from my side? Is there any further info that I can provide to help you figure out what's going on?
PM and scheduler people, is this a regression or works as intended?
Thanks.
[1]: https://bugzilla.kernel.org/show_bug.cgi?id=218195
--
An old man doll... just what I always wanted! - Clara
next reply other threads:[~2023-11-28 13:22 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-28 13:22 Bagas Sanjaya [this message]
2023-11-28 14:02 ` Fwd: Intel hybrid CPU scheduler always prefers E cores Peter Zijlstra
2023-11-28 14:19 ` Bagas Sanjaya
2023-12-18 16:11 ` Ricardo Neri
2023-11-28 17:33 ` Tim Chen
2023-11-28 22:37 ` Ramses
[not found] ` <NkN3JYx--3-9@well-founded.dev>
2023-11-28 23:10 ` Tim Chen
2023-11-28 23:17 ` Ramses
2023-11-29 15:05 ` srinivas pandruvada
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=01df8329-06d7-4fd1-9c7a-05296f33231e@gmail.com \
--to=bagasdotme@gmail.com \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rafael@kernel.org \
--cc=ramses@well-founded.dev \
--cc=regressions@lists.linux.dev \
--cc=vincent.guittot@linaro.org \
--cc=viresh.kumar@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox