mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Omar Elghoul <oelghoul@linux.ibm.com>
To: linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
	kvm@vger.kernel.org
Cc: 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: Re: [PATCH v4 0/4] vfio-pci/zdev: Improved zPCI Function Measurement Support
Date: Mon, 22 Jun 2026 14:06:11 -0400	[thread overview]
Message-ID: <4d576959-dbf7-4393-9179-0e31797227ca@linux.ibm.com> (raw)
In-Reply-To: <20260612181048.91548-1-oelghoul@linux.ibm.com>

Polite ping :)

Thanks in advance.

On 6/12/26 2:10 PM, Omar Elghoul wrote:
> Hi,
> 
> This patch series improves support for function measurement for zPCI
> passthrough devices on s390x.
> 
> Changelog
> =========
> v3 -> v4:
> * Patch 2/3:
>    - Replace mutex_lock/unlock in zpci_reenable_device() with a guard
> 
> * Patch 3/4:
>    - Allow usercopy of the FMB when initializing its kmem_cache
>    - Move the guard in vfio_pci_zdev_feature_fmb_enable() lower to only
>      protect the FMB
>    - Ensure vfio_pci_zdev_feature_fmb_enable() fails on double-enable for
>      consistency with the documentation
>    - Eliminate the bounce buffer in vfio_pci_zdev_feature_fmb_read()
>    - Replace the void pointer with __aligned_u64 in the FMB read uAPI
>      structure
> 
> v2 -> v3:
> * Patch 1/4 (new patch):
>    - Fix race conditions in pcibios_enable/disable_device() with regard to
>      the FMB enable/disable
>    - Assert that fmb_lock is held within zpci_fmb_enable_device() and
>      zpci_fmb_disable_device()
> 
> * Patch 2/4 (previously 1/3):
>    - Move the FMB enable logic into a static function zpci_fmb_do_enable()
>      to reduce code duplication between zpci_fmb_enable_device() and
>      zpci_fmb_reenable_device()
>    - Reword commit message to use the imperative voice more consistently
> 
> * Patch 3/4 (previously 2/3):
>    - Split the previous VFIO feature into a SET-only and a GET-only feature
>      for enabling/disabling and reading the FMB respectively
>    - Remove FMB definitions from the VFIO uAPI and instead treat it as an
>      opaque structure
> 
> * Patch 4/4 (previously 3/3):
>    - Clarify goto label name to reduce misunderstandings
> 
> 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 (4):
>    s390/pci: Hold fmb_lock when enabling or disabling PCI devices
>    s390/pci: Preserve FMB state in device re-enablement
>    vfio-pci/zdev: Add VFIO FMB device features
>    s390/pci: Fence FMB enable/disable via sysfs for passthrough devices
> 
>   arch/s390/include/asm/pci.h      |   1 +
>   arch/s390/pci/pci.c              | 107 +++++++++++++++++++++++++------
>   arch/s390/pci/pci_debug.c        |  11 +++-
>   drivers/vfio/pci/vfio_pci_core.c |   4 ++
>   drivers/vfio/pci/vfio_pci_priv.h |  18 ++++++
>   drivers/vfio/pci/vfio_pci_zdev.c |  55 ++++++++++++++++
>   include/uapi/linux/vfio.h        |  29 +++++++++
>   7 files changed, 206 insertions(+), 19 deletions(-)
> 


      parent reply	other threads:[~2026-06-22 18:06 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-12 18:10 Omar Elghoul
2026-06-12 18:10 ` [PATCH v4 1/4] s390/pci: Hold fmb_lock when enabling or disabling PCI devices Omar Elghoul
2026-06-12 18:10 ` [PATCH v4 2/4] s390/pci: Preserve FMB state in device re-enablement Omar Elghoul
2026-06-22 20:22   ` Alex Williamson
2026-06-22 21:40     ` Omar Elghoul
2026-06-12 18:10 ` [PATCH v4 3/4] vfio-pci/zdev: Add VFIO FMB device features Omar Elghoul
2026-06-22 20:22   ` Alex Williamson
2026-06-22 21:30     ` Omar Elghoul
2026-06-12 18:10 ` [PATCH v4 4/4] s390/pci: Fence FMB enable/disable via sysfs for passthrough devices Omar Elghoul
2026-06-22 18:06 ` Omar Elghoul [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=4d576959-dbf7-4393-9179-0e31797227ca@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®