All of lore.kernel.org
 help / color / mirror / Atom feed
* [virtio-comment] [PATCH V2 0/2] Introduce VIRTIO_F_QUEUE_STATE
@ 2021-03-22  3:47 Jason Wang
  2021-03-22  3:47 ` [virtio-comment] [PATCH V2 1/2] virtio: introduce virtqueue state as basic facility Jason Wang
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Jason Wang @ 2021-03-22  3:47 UTC (permalink / raw)
  To: mst, virtio-comment
  Cc: eperezma, lulu, rob.miller, pasic, sgarzare, cohuck, jim.harford,
	Jason Wang

Hi All:

This is a new version to support VIRTIO_F_QUEUE_STATE. The feautre
extends the basic facility to allow the driver to set and get device
internal virtqueue state. This main motivation is to support live
migration of virtio devices.

Please review.

Changes since V1:
- Introduce a dedicated part in the basic facility to describe the
  virtqueue state.
- Split the state into avail state and used state, use two le16
  isntead of a single u64 in the PCI implementation.

Thanks

Jason Wang (2):
  virtio: introduce virtqueue state as basic facility
  virtio-pci: implement VIRTIO_F_QUEUE_STATE

 content.tex | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

-- 
2.24.3 (Apple Git-128)


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


^ permalink raw reply	[flat|nested] 21+ messages in thread
* [PATCH V2 0/2] Vitqueue State Synchronization
@ 2021-07-06  4:33 Jason Wang
  2021-07-06  4:33 ` [PATCH V2 1/2] virtio: introduce virtqueue state as basic facility Jason Wang
  0 siblings, 1 reply; 21+ messages in thread
From: Jason Wang @ 2021-07-06  4:33 UTC (permalink / raw)
  To: mst, jasowang, virtio-comment, virtio-dev
  Cc: stefanha, mgurtovoy, cohuck, eperezma, oren, shahafs, parav,
	bodong, amikheev, pasic

Hi All:

This is an updated version to implement virtqueue state
synchronization which is a must for the migration support.

The first patch introduces virtqueue states as a new basic facility of
the virtio device. This is used by the driver to save and restore
virtqueue state. The states were split into available state and used
state to ease the transport specific implementation. It is also
allowed for the device to have its own device specific way to save and
resotre extra virtqueue states like in flight request.

The second patch introduce a new status bit STOP. This bit is used for
the driver to stop the device. The major difference from reset is that
STOP must preserve all the virtqueue state plus the device state.

A driver can then:

- Get the virtqueue state if STOP status bit is set
- Set the virtqueue state after FEATURE_OK but before DRIVER_OK

Device specific state synchronization could be built on top.

Please review.

Thanks

Changes from V1:

- introduce used_idx for synchronize used state for split virtqueue,
  this is needed since the used ring is read only by the driver.
- stick to the uni-directional state machine, this means driver is
  forbidden to clear STOP, the only way to 'resume' the device is to
  reset and re-initialization the device. This simplify the
  implementation and make it works more like a vhost device.
- mandate the virtqueue state setting during device initialization
- clarify the steps that are required for saving the virtqueue state
- allow the device to have its specifc way to save and restore extra
  virtqueue state
- rename DEVICE_STOPPED to STOP
- various other tweaks

Jason Wang (2):
  virtio: introduce virtqueue state as basic facility
  virtio: introduce STOP status bit

 content.tex | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 180 insertions(+)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2021-07-07 12:11 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-22  3:47 [virtio-comment] [PATCH V2 0/2] Introduce VIRTIO_F_QUEUE_STATE Jason Wang
2021-03-22  3:47 ` [virtio-comment] [PATCH V2 1/2] virtio: introduce virtqueue state as basic facility Jason Wang
2021-03-22  8:19   ` [virtio-comment] " Eugenio Perez Martin
2021-03-23  2:54     ` Jason Wang
2021-03-23  9:27       ` Eugenio Perez Martin
2021-03-23 10:27   ` [virtio-comment] " Stefan Hajnoczi
2021-03-24  8:15     ` Jason Wang
2021-03-24  9:35       ` Stefan Hajnoczi
2021-03-25  2:38         ` Jason Wang
2021-03-24  9:38       ` Stefan Hajnoczi
2021-03-25  2:42         ` Jason Wang
2021-03-25  9:59           ` Stefan Hajnoczi
2021-03-22  3:47 ` [virtio-comment] [PATCH V2 2/2] virtio-pci: implement VIRTIO_F_QUEUE_STATE Jason Wang
2021-03-23 10:02   ` Stefan Hajnoczi
2021-03-23 10:40 ` [virtio-comment] [PATCH V2 0/2] Introduce VIRTIO_F_QUEUE_STATE Stefan Hajnoczi
2021-03-24  7:05   ` Jason Wang
2021-03-24 10:05     ` Stefan Hajnoczi
2021-03-25  2:57       ` Jason Wang
2021-03-25 10:03         ` [virtio-comment] [PATCH V2 0/2] Introduce VIRTIO_F_QUEUE_STATE\\ Stefan Hajnoczi
2021-07-06  4:33 [PATCH V2 0/2] Vitqueue State Synchronization Jason Wang
2021-07-06  4:33 ` [PATCH V2 1/2] virtio: introduce virtqueue state as basic facility Jason Wang
2021-07-06  9:32   ` Michael S. Tsirkin
2021-07-06 17:09     ` Eugenio Perez Martin
2021-07-06 19:08       ` Michael S. Tsirkin
2021-07-06 23:49         ` Max Gurtovoy
2021-07-07  2:50           ` Jason Wang
2021-07-07 12:03             ` Max Gurtovoy
2021-07-07 12:11               ` [virtio-comment] " Jason Wang
2021-07-06 12:27   ` Cornelia Huck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.