среда

[Bug 2132317] Re: [UBUNTU 24.04] KVM: s390: improve interrupt cpu for wakeup

** Tags removed: verification-needed-noble-linux verification-needed-questing-linux verification-needed-questing-linux-intel
** Tags added: verification-done-noble-linux verification-done-questing-linux verification-done-questing-linux-intel

--
You received this bug notification because you are subscribed to linux
in Ubuntu.
Matching subscriptions: Bgg, Bmail, Nb
https://bugs.launchpad.net/bugs/2132317

Title:
[UBUNTU 24.04] KVM: s390: improve interrupt cpu for wakeup

Status in Ubuntu on IBM z Systems:
Fix Committed
Status in linux package in Ubuntu:
Fix Committed
Status in linux source package in Noble:
Fix Committed
Status in linux source package in Plucky:
Won't Fix
Status in linux source package in Questing:
Fix Committed
Status in linux source package in Resolute:
Fix Committed

Bug description:
[ Impact ]

Commit 352ccf890a3e (KVM: s390: improve interrupt cpu for wakeup)
addresses a performance optimization in the KVM subsystem
for the s390 architecture, specifically concerning the selection
of target virtual CPUs (vCPUs) for floating interrupt delivery.
The modification changes the heuristic algorithm used to determine
which vCPU should be awakened when a floating interrupt arrives,
shifting from an idle-CPU-preference strategy to a
last-sleep-CPU-preference strategy.
This algorithmic change yields significant performance improvements
by reducing inter-processor interrupt overhead
and improving cache locality.

[ Fix ]

Backport 352ccf890a3e (KVM: s390: improve interrupt cpu for wakeup)
from mainline.

[ Test Plan ]

To test the patch it is possible to run I/O-intensive workloads
(fio, uperf) with varying vCPU configurations, on a s390x machine,
to ensure interrupt delivery remains correct without errors,
timeouts, or kernel warnings. Moreover, during I/O-intensive workloads
a performance improvement should be visible.

[ Regression Potential]

The patch modifies interrupt delivery heuristics within s390 KVM
but does not change core interrupt handling logic
or data structures significantly.
The primary risk is suboptimal vCPU selection in workload patterns
that differ from the tested scenarios (fio, uperf), potentially
causing performance regressions rather than functional failures.

---

352ccf890a3e91f58bc32503f9afdc161bc2c34a
-------------------------

              KVM: s390: improve interrupt cpu for wakeup

              Turns out that picking an idle CPU for floating interrupts has some
              negative side effects. The guest will keep the IO workload on its CPU
              and rather use an IPI from the interrupt CPU instead of moving workload.
              For example a guest with 2 vCPUs and 1 fio process might run that fio on
              vcpu1. If after diag500 both vCPUs are idle then vcpu0 is woken up. The
              guest will then do an IPI from vcpu0 to vcpu1.

              So lets change the heuristics and prefer the last CPU that went to
              sleep. This one is likely still in halt polling and can be woken up
              quickly.

              This patch shows significant improvements in terms of bandwidth or
              cpu consumption for fio and uperf workloads and seems to be a net
              win.

              Link: https://lore.kernel.org/linux-s390/20250904113927.119306-1-borntraeger@linux.ibm.com/
              Reviewed-by: Christoph Schlameu? <schlameuss@de.ibm.com>
              Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/2132317/+subscriptions

Комментариев нет:

Отправить комментарий