From: Omar Elghoul <oelghoul@linux.ibm.com>
To: linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
kvm@vger.kernel.org
Cc: oelghoul@linux.ibm.com, hca@linux.ibm.com, gor@linux.ibm.com,
agordeev@linux.ibm.com, borntraeger@linux.ibm.com,
svens@linux.ibm.com, schnelle@linux.ibm.com,
mjrosato@linux.ibm.com, alifm@linux.ibm.com,
farman@linux.ibm.com, gbayer@linux.ibm.com, alex@shazbot.org
Subject: [PATCH v2 0/3] vfio-pci/zdev: Improved zPCI Function Measurement Support
Date: Tue, 19 May 2026 18:42:01 -0400 [thread overview]
Message-ID: <20260519224204.19154-1-oelghoul@linux.ibm.com> (raw)
Hi,
This patch series improves support for function measurement for zPCI
passthrough devices on s390x.
Changelog
=========
v1 -> v2:
* Patch 1/3:
- Address a possible race condition in zpci_reenable_device() caused by
calling zpci_fmb_reenable_device() without holding fmb_lock
- Assert that fmb_lock is held within zpci_fmb_reenable_device()
* Patch 3/3:
- Address a possible race condition in pci_perf_seq_write() caused by
consuming zdev->kzdev without holding kzdev_lock
Motivation
==========
The firmware on s390x machines allows for tracking a variety of statistics
relating to zPCI devices in a function measurement block (FMB). However,
the kernel currently lacks a structured mechanism of sharing this
information with userspace, beyond /sys/kernel/debug/pci/ID/statistics.
This can lead to shortcomings when running a guest on KVM with PCI
passthrough devices, as QEMU is unable to provide an accurate FMB snapshot
to the guest.
Proposal
========
We propose adding a new VFIO device feature to zPCI passthrough devices,
allowing userspace programs to read the latest FMB snapshot as it is
written by the firmware. We ensure that function measurement enablement is
preserved across device resets on the host. Furthermore, we guard against
host tampering with the FMB via sysfs when the zPCI device is in
passthrough to protect the VM's state.
I'd appreciate some feedback on these patches.
Thanks in advance.
Omar Elghoul (3):
s390/pci: Preserve FMB state in device re-enablement
vfio-pci/zdev: Add VFIO FMB device feature
s390/pci: Fence FMB enable/disable via sysfs for passthrough devices
arch/s390/include/asm/pci.h | 1 +
arch/s390/pci/pci.c | 75 ++++++++++++++++++++++++-------
arch/s390/pci/pci_debug.c | 11 ++++-
drivers/vfio/pci/vfio_pci_core.c | 2 +
drivers/vfio/pci/vfio_pci_priv.h | 9 ++++
drivers/vfio/pci/vfio_pci_zdev.c | 77 ++++++++++++++++++++++++++++++++
include/uapi/linux/vfio.h | 43 ++++++++++++++++++
7 files changed, 202 insertions(+), 16 deletions(-)
--
2.52.0
next reply other threads:[~2026-05-19 22:42 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-19 22:42 Omar Elghoul [this message]
2026-05-19 22:42 ` [PATCH v2 1/3] s390/pci: Preserve FMB state in device re-enablement Omar Elghoul
2026-06-03 10:50 ` Niklas Schnelle
2026-06-03 12:52 ` Omar Elghoul
2026-05-19 22:42 ` [PATCH v2 2/3] vfio-pci/zdev: Add VFIO FMB device feature Omar Elghoul
2026-06-02 22:24 ` Alex Williamson
2026-06-03 12:35 ` Omar Elghoul
2026-06-03 13:56 ` Niklas Schnelle
2026-06-03 15:55 ` Alex Williamson
2026-06-03 18:26 ` Omar Elghoul
2026-06-03 19:24 ` Alex Williamson
2026-06-03 21:20 ` Omar Elghoul
2026-05-19 22:42 ` [PATCH v2 3/3] s390/pci: Fence FMB enable/disable via sysfs for passthrough devices Omar Elghoul
2026-06-03 12:15 ` Niklas Schnelle
2026-06-03 13:02 ` Omar Elghoul
2026-06-02 19:36 ` [PATCH v2 0/3] vfio-pci/zdev: Improved zPCI Function Measurement Support Omar Elghoul
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=20260519224204.19154-1-oelghoul@linux.ibm.com \
--to=oelghoul@linux.ibm.com \
--cc=agordeev@linux.ibm.com \
--cc=alex@shazbot.org \
--cc=alifm@linux.ibm.com \
--cc=borntraeger@linux.ibm.com \
--cc=farman@linux.ibm.com \
--cc=gbayer@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mjrosato@linux.ibm.com \
--cc=schnelle@linux.ibm.com \
--cc=svens@linux.ibm.com \
/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®