From: Omar Elghoul <oelghoul@linux.ibm.com>
To: Matthew Rosato <mjrosato@linux.ibm.com>,
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, alifm@linux.ibm.com,
farman@linux.ibm.com, gbayer@linux.ibm.com, pasic@linux.ibm.com,
alex@shazbot.org
Subject: Re: [PATCH v7 2/4] s390/pci: Reuse FMB buffer and preserve state in device re-enablement
Date: Thu, 24 Sep 2026 10:27:07 -0400 [thread overview]
Message-ID: <f900fc9f-948c-4786-95ac-3096f3455dbf@linux.ibm.com> (raw)
In-Reply-To: <502d511c-0cea-4245-a8ee-06e8d05a141b@linux.ibm.com>
On 9/23/26 6:20 PM, Matthew Rosato wrote:
> On 9/22/26 3:51 PM, Omar Elghoul wrote:
>> Introduce the function zpci_fmb_reenable_device() that checks the state
>> of function measurement and ensures it is enabled. Reset the counters to
>> zero, disable, and re-enable the FMB if it was already enabled. Call
>> this function from zpci_reenable_device().
>>
>> Don't free the FMB buffer during disabling and reuse it when re-enabling
>> measurement. Instead, free the buffer upon device teardown, allowing the
>> same buffer to be reused in the enable path and add the bit fmb_enabled
>> to struct zpci_dev. Audit the only consumer of zdev->fmb and update it
>> to reflect the change in semantics.
>>
>> Signed-off-by: Omar Elghoul <oelghoul@linux.ibm.com>
>
> [...]
>
>> +int zpci_fmb_reenable_device(struct zpci_dev *zdev)
>> +{
>> + u64 req = ZPCI_CREATE_REQ(zdev->fh, 0, ZPCI_MOD_FC_SET_MEASURE);
>> + struct zpci_fib fib = {0};
>> + u8 cc, status;
>> +
>> + lockdep_assert_held(&zdev->fmb_lock);
>> +
>> + if (!zdev->fmb_enabled)
>> + return zpci_fmb_enable_device(zdev);
>
> [...]
>
>> + if (zdev->fmb_enabled)
>> + zpci_fmb_reenable_device(zdev);
>>
> Besides Gerd's comments, I was looking at this patch in isolation and
> this combination made me wonder why you were adding what appears to be
> dead code (of course, patch 4 adds another caller that doesn't check
> zdev->fmb_enabled before calling)
>
> Maybe you could add a bit to the commit message besides 'Call
>> this function from zpci_reenable_device().' to indicate that this
> function is also being setup for future re-use where we might be going
> disabled->enabled rather than enabled->disabled->enabled.
Sure, how's this for a new commit message? Hopefully this is clearer and
doesn't read as upside down. I also added a blurb about firmware
implicitly disabling FMB when we disable the device.
"Don't free the FMB buffer when disabling measurement in
zpci_fmb_disable_device(). Instead, make the buffer persistent for the
lifetime of the device and reuse it across enable/disable cycles. Defer
freeing the buffer until teardown in zpci_release_device().
To support the persistent buffers, add the fmb_enabled field to struct
zpci_dev to decouple whether FMB is enabled from whether the buffer has
been allocated. Audit the only consumer of zdev->fmb as a liveness check
and update it to reflect this change.
Introduce the function zpci_fmb_reenable_device() to ensure that the FMB
is enabled. If it was already enabled, disable it, zero the counters,
and re-enable it. This allows the function to be used in both first-time
enabling and re-enabling measurement. Call it in zpci_reenable_device()
to preserve the FMB enablement if it had been implicitly disabled by
firmware in zpci_disable_device()."
next prev parent reply other threads:[~2026-09-24 14:27 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-22 19:51 [PATCH v7 0/4] vfio-pci/zdev: Improved zPCI Function Measurement Support Omar Elghoul
2026-09-22 19:51 ` [PATCH v7 1/4] s390/pci: Hold fmb_lock when enabling or disabling PCI devices Omar Elghoul
2026-09-22 19:51 ` [PATCH v7 2/4] s390/pci: Reuse FMB buffer and preserve state in device re-enablement Omar Elghoul
2026-09-23 15:09 ` Gerd Bayer
2026-09-23 16:37 ` Omar Elghoul
2026-09-24 15:55 ` Gerd Bayer
2026-09-24 16:47 ` Omar Elghoul
2026-09-23 22:20 ` Matthew Rosato
2026-09-24 14:27 ` Omar Elghoul [this message]
2026-09-22 19:51 ` [PATCH v7 3/4] s390/pci: Fence FMB enable/disable via debugfs for passthrough devices Omar Elghoul
2026-09-22 19:51 ` [PATCH v7 4/4] vfio-pci/zdev: Add VFIO FMB device features 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=f900fc9f-948c-4786-95ac-3096f3455dbf@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=pasic@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®