From: David Laight <David.Laight@ACULAB.COM>
To: 'Linus Torvalds' <torvalds@linux-foundation.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
'Woody Suwalski' <terraluna977@gmail.com>,
'Johan Hovold' <johan@kernel.org>
Subject: RE: Linux 6.10-rc2 - massive performance regression
Date: Sun, 9 Jun 2024 14:24:50 +0000 [thread overview]
Message-ID: <3ca62f285df748b5b5d5cd891ace2db4@AcuMS.aculab.com> (raw)
In-Reply-To: <CAHk-=wjwFGQZcDinK=BkEaA8FSyVg5NaUe0BobxowxeZ5PvetA@mail.gmail.com>
From: Linus Torvalds
> Sent: 08 June 2024 23:01
>
> On Sat, 8 Jun 2024 at 14:36, David Laight <David.Laight@aculab.com> wrote:
> >
> > I'll try to remember how to bisect through the merge :-)
>
> git bisect should just do all the work for you. All you need to do is
> give a know good and bad point, and keep testing what git bisect asks
> you to do.
That would all be easier if the kernel version didn't keep changing
and/or after 'make install' grub defaulted to booting the last
built kernel.
I may already have 'fixed' this system so it doesn't default
to booting the 'last booted' kernel - a real PITA when you are
trying to fix non-booting kernels.
Anyway I completely failed to manage to build a 'good' kernel.
Even 6.9-rc5 failed and bisecting between 6.9-rc4 and 6.9.rc5
ended up building a 6.9-rc3+ kernel and 'git diff v6.9-rc4'
was giving massive changed even though 'git bisect view' only
gave a few changes that couldn't be relevant.
I finally realised what the different between 'good' and 'bad'
kernels was.
All down to CONFIG_SPECULATION_MITIGATIONS being renamed
CONFIG_CPU_MITIGATIONS and getting enabled 'by mistake'.
If I build a 6.10-rc2 kernel without the mitigations I get
the 'fast' behaviour.
So there must actually be something quite subtle in the
timings.
So there is still a problem that if a cpu-intensive process
get moved to a different cpu on a 'mostly idle' system then the
new cpu is likely to be running at a low frequency and will
take a while to speed up.
Move it often enough and it will run very slowly.
I suspect that something like (untested):
cpu=0; while [ $cpu -lt $num_cpu ]; do
taskset --cpu-list $cpu sh -c 'while sleep 0.01; do :; done' &
cpu=$((cpu + 1))
done
will cause a cpu-bound process to run very slowly.
I think that ought to be considered a bug.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
prev parent reply other threads:[~2024-06-09 14:25 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-02 22:50 Linux 6.10-rc2 Linus Torvalds
2024-06-03 7:03 ` Build regressions/improvements in v6.10-rc2 Geert Uytterhoeven
2024-06-08 14:44 ` Linux 6.10-rc2 - massive performance regression David Laight
2024-06-08 16:02 ` Linus Torvalds
2024-06-08 21:35 ` David Laight
2024-06-08 22:00 ` Linus Torvalds
2024-06-08 22:28 ` Woody Suwalski
2024-06-09 8:07 ` Johan Hovold
2024-06-09 8:11 ` Linux regression tracking (Thorsten Leemhuis)
2024-06-09 9:35 ` David Laight
2024-06-09 14:24 ` David Laight [this message]
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=3ca62f285df748b5b5d5cd891ace2db4@AcuMS.aculab.com \
--to=david.laight@aculab.com \
--cc=johan@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=terraluna977@gmail.com \
--cc=torvalds@linux-foundation.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
all inboxes | Powered by JetHome®