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 v6 2/4] s390/pci: Reuse FMB buffer and preserve state in device re-enablement
Date: Thu, 17 Sep 2026 09:32:46 -0400 [thread overview]
Message-ID: <85cb647d-b1c8-4804-b206-2cae1e03e20d@linux.ibm.com> (raw)
In-Reply-To: <099b4e3f-4156-42e4-a2e9-bdc715547bef@linux.ibm.com>
On 9/16/26 10:21 PM, Matthew Rosato wrote:
>
>> +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);
>
> Sashiko has a point here, won't all paths that call zpci_reenable_device
> now unconditionally turn on FMB here even if it was purposely disabled?
>
> The pattern of callers for zpci_reenable_device() is:
>
> zpci_disable_device()
> ...
> zpci_reenable_device()
>
> We only care to re-enable the FMB during device re-enable if the device
> had FMB enabled at the time zpci_disable_device() was called.
The way I thought of it was pcibios_enable_device() already enables
measurement, so we might as well ensure it is enabled when the zdev is
re-enabled. That default state is also helpful for the later patches
because kvm_s390_pci_register_kvm() calls zpci_reenable_device().
But I guess if we didn't want to conflate the two, we could also add an
unconditional zpci_fmb_reenable_device() within the KVM register hook,
to run after the zpci_reenable_device(), whichever you'd prefer.
Thanks
>
> Thanks,
> Matt
>
>> +
>> + fib.gd = zdev->gisa;
>> + cc = zpci_mod_fc(req, &fib, &status); /* Disable function measurement */
>> +
>> + /* Unlike in zpci_fmb_disable_device(), cc == 3 is not a valid state here
>> + * because we are re-enabling function measurement for the same function
>> + * handle.
>> + */
>> + if (cc)
>> + return -EIO;
>> +
>> + zdev->fmb_enabled = 0;
>> + return zpci_fmb_enable_device(zdev);
>> +}
>> +EXPORT_SYMBOL_GPL(zpci_fmb_reenable_device);
>
next prev parent reply other threads:[~2026-09-17 13:32 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-16 21:32 [PATCH v6 0/4] vfio-pci/zdev: Improved zPCI Function Measurement Support Omar Elghoul
2026-09-16 21:32 ` [PATCH v6 1/4] s390/pci: Hold fmb_lock when enabling or disabling PCI devices Omar Elghoul
2026-09-17 2:21 ` Matthew Rosato
2026-09-16 21:32 ` [PATCH v6 2/4] s390/pci: Reuse FMB buffer and preserve state in device re-enablement Omar Elghoul
2026-09-17 2:21 ` Matthew Rosato
2026-09-17 13:32 ` Omar Elghoul [this message]
2026-09-17 15:28 ` Matthew Rosato
2026-09-16 21:32 ` [PATCH v6 3/4] s390/pci: Fence FMB enable/disable via debugfs for passthrough devices Omar Elghoul
2026-09-17 2:23 ` Matthew Rosato
2026-09-16 21:32 ` [PATCH v6 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=85cb647d-b1c8-4804-b206-2cae1e03e20d@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®