From: sashiko-bot@kernel.org
To: "Anthony Krowiak" <akrowiak@linux.ibm.com>
Cc: linux-s390@vger.kernel.org,
"Alexander Gordeev" <agordeev@linux.ibm.com>,
"Vasily Gorbik" <gor@linux.ibm.com>,
kvm@vger.kernel.org, "Heiko Carstens" <hca@linux.ibm.com>
Subject: Re: [PATCH v3 15/15] s390/vfio-ap: Add live guest migration chapter to vfio-ap.rst
Date: Tue, 30 Jun 2026 11:54:19 +0000 [thread overview]
Message-ID: <20260630115419.DF07A1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260630104132.1598851-16-akrowiak@linux.ibm.com>
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [Low] Malformed reStructuredText syntax leading to potential build warnings (grid table and nested lists).
- [Low] Multiple typographical, grammatical errors, and inconsistent variable names in the newly added text.
- [Low] Logical contradiction in section heading.
--
commit 5afeaef82632a184153d66843b7e2a58e98d0cdd
Author: Anthony Krowiak <akrowiak@linux.ibm.com>
s390/vfio-ap: Add live guest migration chapter to vfio-ap.rst
This commit adds a 'Live Guest Migration' chapter to the vfio-ap.rst
documentation. It describes the details for initiating live guest migration
for a guest to which AP adapters, domains and control domains have been
passed through.
> diff --git a/Documentation/arch/s390/vfio-ap.rst b/Documentation/arch/s390/vfio-ap.rst
> index ac0c07f76ddd7..fc0707c0dffd6 100644
> --- a/Documentation/arch/s390/vfio-ap.rst
> +++ b/Documentation/arch/s390/vfio-ap.rst
[ ... ]
> +To be considered compatible, the AP configuration for the destination host must
> +meet these requirements:
>
> - (QEMU) device-del id=<device-id>
> +* Each AP adapter, domain and control domain number assigned to the source
> + guest's AP configuration must be in the destination host's AP
> + configuration. This can be verified as follows:
>
> - For example, to hot unplug the vfio_ap mediated device that was specified
> - on the qemu command line with 'id=hostdev0' when the guest was started:
> + * On the source host, display the AP configuration of the source guest:
>
> - (QEMU) device-del id=hostdev0
> + .. code-block:: bash
>
> -After live migration of the KVM guest completes, an AP configuration can be
> -restored to the KVM guest by hot plugging a vfio_ap mediated device on the target
> -system into the guest in one of two ways:
> + cat /sys/devices/vfio_ap/matrix/$UUID/guest_matrix
> + cat /sys/devices/vfio_ap/matrix/$UUID/control_domains
>
> -1. If the KVM guest was started with libvirt, you can hot plug a matrix mediated
> - device into the guest via the following virsh commands:
> + .. note::
> + Replace ``$UUID`` with the actual UUID of your mediated device.
>
> - virsh attach-device <guestname> <path-to-device-xml>
> + * Display the AP configuration of the destination host:
>
> - For example, to hot plug mdev 62177883-f1bb-47f0-914d-32a22e3a8804 into
> - the guest named 'my-guest':
> + .. code-block:: bash
>
> - virsh attach-device my-guest ~/config/my-guest-hostdev.xml
> + lszcrypt -V
> + cat /sys/bus/ap/ap_control_domain_mask
>
> - The contents of my-guest-hostdev.xml:
> + Note that each bit in the ap_control_domain_mask corresponds to
> + correspond to domain numbers 0-255. If a bit is set to one, then
[Severity: Low]
This isn't a bug, but the phrase "corresponds to correspond to" appears
to be duplicated.
> + the control domain is available on the destination host. For
> + example:
[ ... ]
> ++-----------------------------------------------------------------------------+
> +| Table Keys |
> ++=============================================================================+
> +| |
> +| [1] The hardware capability must be the same for both the source |
> +| and destination queue device. |
> +| |
> +| [2] The source and destination queues must either both have |
> +| full native card function or both have stateless functions. |
> +| If the functional capabilities don't match, then the source |
> +| queue can have stateless capabilities since full native card |
> +| function can handle stateless functions; otherwise, migration |
> +| will fail. |
> +| |
> +| [3] The AP type on the source and destination guests can |
> +| differ if the queue passed through to the target guest is a |
> +| newer model (backwards compatible) |
> ++--------------+--------------------------------------------------------------+
[Severity: Low]
Will this malformed table bottom border cause sphinx build warnings?
The table body defines a single column, but the bottom border is split
into two columns by the + character, which violates reStructuredText grid
table syntax.
> +
> +* To verify the hardware capabilities are compatible:
> +
> + * On both the source and destination hosts, display the hardware capabilities
> + for each AP adapter in the AP configuration for that host::
> +
> + cat /sys/bus/ap/devices/card$APID/ap_functions
> +
> + .. note::
> + The ``$APID`` is the two-character adapter number in hexidecimal format;
[Severity: Low]
This isn't a bug, but there is a typo in the word "hexidecimal".
> + for example, card02 or card1f. The ``/sys/bus/ap/devices`` directory
> + also lists the APQNs of the queue devices installed in the respective
> + host system with the first two characters being the APID.
> +
> + * Verify the hardware capabilities for each AP adapter device on the source
> + and destination host are compatible. The ``ap_functions`` attribute is a
> + bitmask. The bits in the mask read from left to right starting with bit 0.
> + Each bit that is set to one indicates the corresponding hardware capability
> + is installed:
> +
> + * Bits 0-3 are the facilities bits. Each bit value must match for the AP
> + devices on the source and destination systems. The values indicate the
> + following:
> + * bit-0: APSC is installed
> + * bit-1: AP4KM is installed
> + * bit-2: AP4KC is installed
[Severity: Low]
Is a blank line needed before the nested list items (starting with bit-0)
to avoid reStructuredText parsing warnings?
> +
> + * Bits 3-5 specify the adapter Modes. Only one of these bits will be set to
> + one and must be the same for both the source and destination adapter
> + devices:
> + * bit-3: CCA-mode
> + * bit-4: Accelerator-mode
> + * bit-5: XCP-mode (EP11)
> +
> + * Bit 6 specifies whether APXA is installed and must be the same for both
> + the source and destination adapter devices.
> +
> + * Bit 7 specifies command whether command filtering is installed
[Severity: Low]
This isn't a bug, but the phrase "command whether command filtering" has
duplicated words.
> + and must be the same for both the source and destination adapter devices.
[ ... ]
> +One or more queues are not bound to the vfio_ap driver on the destination host
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +The queue devices passed through to the source guest are not installed in the
> +destination host or are not bound to its vfio_ap device driver.
> +
> +**Source host**
> +
> ++--------------+----------------------------------------------------------------+
> +| Log | Message |
> ++==============+================================================================+
> +| Console log: | error: operation failed: migration failed. Message from the |
> +| | source host: operation failed: job 'migration out' failed: |
> +| | Sibling indicated error 1. Message from the destination host: |
> +| | operation failed: job 'migration in' failed: load of migration |
> +| | failed: No such device: Failed to load vmstate version_id: 1, |
> +| | ret: -19 |
> ++--------------+----------------------------------------------------------------+
> +
> +**Destinaton host**
[Severity: Low]
This isn't a bug, but there is a typo in the word "Destinaton".
> +
> ++--------------+----------------------------------------------------------------+
> +| Kernel log: | vfio_ap_mdev $UUID: Queue $APID.$APQI not available to |
> +| | vfio_ap driver on target host |
> ++--------------+----------------------------------------------------------------+
> +| QEMU log: | shutting down, reason=failed |
> +| | qemu-system-s390x: terminating on signal $SIGNAL_NUM from |
> +| | pid $PID $DAEMON |
> ++--------------+----------------------------------------------------------------+
[ ... ]
> +**Destination host**
> +
> ++--------------+----------------------------------------------------------------+
> +| Log | Message |
> ++==============+================================================================+
> +| Console log: | vfio_ap_mdev $UUID: migration failed: Failed to get hwinfo for |
> +| | queue $APQN on target host: rc=$RESPONSE-CODE" |
[Severity: Low]
This isn't a bug, but there appears to be an unmatched trailing quote
character at the end of the rc=$RESPONSE-CODE string.
> ++--------------+----------------------------------------------------------------+
> +| QEMU log: | shutting down, reason=failed |
> +| | qemu-system-s390x: terminating on signal $SIGNAL-ID from pid |
> +| | $PID $DAEMON |
> ++--------------+----------------------------------------------------------------+
> +
> +.. note::
> + * $UUID is the UUID of the mediated device being migrated from the source host.
> + * $APQN (for example, 00.0033) of the queue device that is not compatible.
> + * $RESPONSE_CODE is the response code from the AP instruction.
> + * $SIGNAL_NUM is the signal number of the signal that caused the QEMU process
> + to terminate.
> + * $PID is the process ID of the QEMU process on the destination host.
> + * $DAEMON is the name of the QEMU daemon process.
> + * This message will be logged for each queue for which this error is detected.
> +
> +The AP configurations of the source guest and destination host not incompatible
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[Severity: Low]
Does this heading have a double negative?
The text below it enumerates failures when the configurations are not
compatible, but the heading says "not incompatible" which logically means
they are compatible.
> +The functional capabilities or facilities available on one or more of the queues
> +passed through to the source guest are not compatible with the queue device with
> +the same APQN on the destination system (see the Hardware Capabilities table above)
> +
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260630104132.1598851-1-akrowiak@linux.ibm.com?part=15
prev parent reply other threads:[~2026-06-30 11:54 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-30 10:41 [PATCH v3 00/15] s390/vfio-ap: Add live guest migration support Anthony Krowiak
2026-06-30 10:41 ` [PATCH v3 01/15] s390/vfio-ap: Provide function to get the number of queues assigned to mdev Anthony Krowiak
2026-06-30 10:41 ` [PATCH v3 02/15] s390/vfio-ap: Data structures for facilitating vfio device migration Anthony Krowiak
2026-06-30 10:55 ` sashiko-bot
2026-06-30 10:41 ` [PATCH v3 03/15] s390/vfio-ap: Initialize/release vfio device migration data Anthony Krowiak
2026-06-30 11:04 ` sashiko-bot
2026-06-30 10:41 ` [PATCH v3 04/15] s390/vfio-ap: Reset migration state in VFIO_DEVICE_RESET ioctl handler Anthony Krowiak
2026-06-30 11:10 ` sashiko-bot
2026-06-30 10:41 ` [PATCH v3 05/15] s390-vfio-ap: Callback to get/set vfio device mig state during guest migration Anthony Krowiak
2026-06-30 11:11 ` sashiko-bot
2026-06-30 10:41 ` [PATCH v3 06/15] s390/vfio-ap: Transition guest migration state from STOP to STOP_COPY Anthony Krowiak
2026-06-30 11:23 ` sashiko-bot
2026-06-30 10:41 ` [PATCH v3 07/15] s390/vfio-ap: File ops called to save the vfio device migration state Anthony Krowiak
2026-06-30 11:26 ` sashiko-bot
2026-06-30 10:41 ` [PATCH v3 08/15] s390/vfio-ap: Transition device migration state from STOP to RESUMING Anthony Krowiak
2026-06-30 11:28 ` sashiko-bot
2026-06-30 10:41 ` [PATCH v3 09/15] s390/vfio-ap: Add method to set a new guest AP configuration Anthony Krowiak
2026-06-30 11:34 ` sashiko-bot
2026-06-30 10:41 ` [PATCH v3 10/15] s390/vfio-ap: File ops called to resume the vfio device migration Anthony Krowiak
2026-06-30 11:37 ` sashiko-bot
2026-06-30 10:41 ` [PATCH v3 11/15] s390/vfio-ap: Transition device migration state to STOP Anthony Krowiak
2026-06-30 11:46 ` sashiko-bot
2026-06-30 10:41 ` [PATCH v3 12/15] s390/vfio-ap: Transition device migration state from STOP to RUNNING and vice versa Anthony Krowiak
2026-06-30 11:48 ` sashiko-bot
2026-06-30 10:41 ` [PATCH v3 13/15] s390/vfio-ap: Callback to get the size of data to be migrated during guest migration Anthony Krowiak
2026-06-30 11:49 ` sashiko-bot
2026-06-30 10:41 ` [PATCH v3 14/15] s390/vfio-ap: Add 'migratable' feature to sysfs 'features' attribute Anthony Krowiak
2026-06-30 11:56 ` sashiko-bot
2026-06-30 10:41 ` [PATCH v3 15/15] s390/vfio-ap: Add live guest migration chapter to vfio-ap.rst Anthony Krowiak
2026-06-30 11:54 ` sashiko-bot [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=20260630115419.DF07A1F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=agordeev@linux.ibm.com \
--cc=akrowiak@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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