From: Mikulas Patocka <mpatocka@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: "Michal Prívozník" <mprivozn@redhat.com>,
"Tejun Heo" <tj@kernel.org>,
"Lai Jiangshan" <jiangshanlai@gmail.com>,
"Waiman Long" <longman@redhat.com>,
"Mike Snitzer" <snitzer@kernel.org>,
"Laurence Oberman" <loberman@redhat.com>,
"Jonathan Brassow" <jbrassow@redhat.com>,
"Ming Lei" <minlei@redhat.com>,
"Ondrej Kozina" <okozina@redhat.com>,
"Milan Broz" <gmazyland@gmail.com>,
linux-kernel@vger.kernel.org, dm-devel@lists.linux.dev,
users@lists.libvirt.org
Subject: Re: dm-crypt performance regression due to workqueue changes
Date: Mon, 1 Jul 2024 15:40:53 +0200 (CEST) [thread overview]
Message-ID: <ede7d32c-5668-a2dc-ca9-e4b56cdfb42@redhat.com> (raw)
In-Reply-To: <ZoKuLzyhE8N4RaW4@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 2209 bytes --]
On Mon, 1 Jul 2024, Daniel P. Berrangé wrote:
> On Mon, Jul 01, 2024 at 02:48:07PM +0200, Michal Prívozník wrote:
> > On 6/30/24 20:49, Mikulas Patocka wrote:
> > >
> > >
> > > On Sun, 30 Jun 2024, Tejun Heo wrote:
> > >>
> > >> Do you happen to know why libvirt is doing that? There are many other
> > >> implications to configuring the system that way and I don't think we want to
> > >> design kernel behaviors to suit topology information fed to VMs which can be
> > >> arbitrary.
> >
> > Firstly, libvirt's not doing anything. It very specifically avoids doing
> > policy decisions. If something configures vCPUs so that they are in
> > separate sockets, then we should look at that something. Alternatively,
> > if "default" configuration does not work for your workflow well,
> > document recommended configuration.
>
> Actually in this particular case, it is strictly speaking libvirt.
> If the guest XML config does not mention any <topology> info, then
> libvirt explicitly tells QEMU to set sockets=N,cores=1,threads=1.
> That matches QEMU's own historical built-in default topology.
>
> None the less, my advice for mgmt applications using libvirt would
> likely be to explicitly request sockets=1,cores=N,threads=1. This
> is because it gives slightly better compatibility with unpleasant
> software that applies licensing / subscription rules that penalize
> use of many sockets, while being happy with any number of cores.
>
>
> Either way though, the topology is a lie when the guest CPUs
> are not pinned to host CPUs, so making performance decisions based
> on this is unlikely to yield the desired results. Historically the
> cores vs sockets distinction hasn't seemed to make much difference
> to guest OS performance, as the OS' haven't made significant
> decisions on this axis. Exposing threads != 1 though has always been
> a big no though, unless strictly pinning 1:1 guest:host CPUs, as that
> has had notable impacts on scheduling decisions.
>
> With regards,
> Daniel
I think there should be some way how to tell the guest kernel "the vCPUs
are free-floating, the topology is a lie", so that it can stop making
incorrect decisions based on the fake topology.
Mikulas
next prev parent reply other threads:[~2024-07-01 13:41 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-29 18:15 dm-crypt performance regression due to workqueue changes Mikulas Patocka
2024-06-29 18:29 ` Waiman Long
2024-06-30 9:49 ` Mikulas Patocka
2024-06-30 14:35 ` Waiman Long
2024-06-30 17:13 ` Tejun Heo
2024-06-30 18:49 ` Mikulas Patocka
2024-07-01 12:48 ` Michal Prívozník
2024-07-01 13:25 ` Daniel P. Berrangé
2024-07-01 13:40 ` Mikulas Patocka [this message]
2024-07-01 13:08 ` Daniel P. Berrangé
2024-07-01 13:42 ` Mikulas Patocka
2024-07-01 13:52 ` Daniel P. Berrangé
2024-07-01 17:25 ` Tejun Heo
-- strict thread matches above, loose matches on Subject: below --
2024-03-09 10:18 Thread for updating minor properties of tracked regressions [consider ignoring it!] Thorsten Leemhuis
2024-07-07 22:54 ` Christian Heusel
2024-07-08 7:08 ` dm-crypt performance regression due to workqueue changes (was: Re: Thread for updating minor properties of tracked regressions [consider ignoring it!]) Thorsten Leemhuis
2024-07-08 10:51 ` Christian Heusel
2024-07-08 11:16 ` dm-crypt performance regression due to workqueue changes Thorsten Leemhuis
2024-07-08 17:03 ` Christian Heusel
2024-07-09 7:53 ` Thorsten Leemhuis
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=ede7d32c-5668-a2dc-ca9-e4b56cdfb42@redhat.com \
--to=mpatocka@redhat.com \
--cc=berrange@redhat.com \
--cc=dm-devel@lists.linux.dev \
--cc=gmazyland@gmail.com \
--cc=jbrassow@redhat.com \
--cc=jiangshanlai@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=loberman@redhat.com \
--cc=longman@redhat.com \
--cc=minlei@redhat.com \
--cc=mprivozn@redhat.com \
--cc=okozina@redhat.com \
--cc=snitzer@kernel.org \
--cc=tj@kernel.org \
--cc=users@lists.libvirt.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.