All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Xia, Chenbo" <chenbo.xia@intel.com>
To: "Pei, Andy" <andy.pei@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "maxime.coquelin@redhat.com" <maxime.coquelin@redhat.com>,
	"Cao, Gang" <gang.cao@intel.com>,
	"Liu, Changpeng" <changpeng.liu@intel.com>
Subject: RE: [PATCH v6 07/16] examples/vdpa: add vDPA blk support in example
Date: Mon, 25 Apr 2022 13:38:58 +0000	[thread overview]
Message-ID: <SN6PR11MB3504AF8EC5743F2D9F078D079CF89@SN6PR11MB3504.namprd11.prod.outlook.com> (raw)
In-Reply-To: <1650530034-59744-8-git-send-email-andy.pei@intel.com>

Hi Andy,

> -----Original Message-----
> From: Pei, Andy <andy.pei@intel.com>
> Sent: Thursday, April 21, 2022 4:34 PM
> To: dev@dpdk.org
> Cc: Xia, Chenbo <chenbo.xia@intel.com>; maxime.coquelin@redhat.com; Cao,
> Gang <gang.cao@intel.com>; Liu, Changpeng <changpeng.liu@intel.com>
> Subject: [PATCH v6 07/16] examples/vdpa: add vDPA blk support in example
> 
> Add virtio blk device support to vDPA example.
> 
> Signed-off-by: Andy Pei <andy.pei@intel.com>
> ---
>  examples/vdpa/main.c             |  61 +++++++++++++-
>  examples/vdpa/vdpa_blk_compact.h |  72 +++++++++++++++++
>  examples/vdpa/vhost_user.h       | 169
> +++++++++++++++++++++++++++++++++++++++
>  3 files changed, 301 insertions(+), 1 deletion(-)
>  create mode 100644 examples/vdpa/vdpa_blk_compact.h
>  create mode 100644 examples/vdpa/vhost_user.h
> 
> diff --git a/examples/vdpa/main.c b/examples/vdpa/main.c
> index 5ab0765..1c809ab 100644
> --- a/examples/vdpa/main.c
> +++ b/examples/vdpa/main.c
> @@ -20,6 +20,7 @@
>  #include <cmdline_parse_string.h>
>  #include <cmdline_parse_num.h>
>  #include <cmdline.h>
> +#include "vdpa_blk_compact.h"
> 
>  #define MAX_PATH_LEN 128
>  #define MAX_VDPA_SAMPLE_PORTS 1024
> @@ -41,6 +42,7 @@ struct vdpa_port {
>  static int devcnt;
>  static int interactive;
>  static int client_mode;
> +static int isblk;
> 
>  /* display usage */
>  static void
> @@ -49,7 +51,8 @@ struct vdpa_port {
>  	printf("Usage: %s [EAL options] -- "
>  				 "	--interactive|-i: run in interactive
> mode.\n"
>  				 "	--iface <path>: specify the path prefix of
> the socket files, e.g. /tmp/vhost-user-.\n"
> -				 "	--client: register a vhost-user socket as
> client mode.\n",
> +				 "	--client: register a vhost-user socket as
> client mode.\n"
> +				 "	--isblk: device is a block device, e.g.
> virtio_blk device.\n",
>  				 prgname);
>  }
> 
> @@ -61,6 +64,7 @@ struct vdpa_port {
>  		{"iface", required_argument, NULL, 0},
>  		{"interactive", no_argument, &interactive, 1},
>  		{"client", no_argument, &client_mode, 1},
> +		{"isblk", no_argument, &isblk, 1},

I think a new API for get_device_type will be better than asking user to specify the
device type.

>  		{NULL, 0, 0, 0},
>  	};
>  	int opt, idx;
> @@ -159,6 +163,52 @@ struct vdpa_port {
>  };
> 
>  static int
> +vdpa_blk_device_set_features_and_protocol(const char *path)
> +{
> +	uint64_t protocol_features = 0;
> +	int ret;
> +
> +	ret = rte_vhost_driver_set_features(path, VHOST_BLK_FEATURES_BASE);
> +	if (ret != 0) {
> +		RTE_LOG(ERR, VDPA,
> +			"rte_vhost_driver_set_features for %s failed.\n",
> +			path);
> +		goto out;
> +	}
> +
> +	ret = rte_vhost_driver_disable_features(path,
> +		VHOST_VDPA_BLK_DISABLED_FEATURES);
> +	if (ret != 0) {
> +		RTE_LOG(ERR, VDPA,
> +			"rte_vhost_driver_disable_features for %s failed.\n",
> +			path);
> +		goto out;
> +	}
> +
> +	ret = rte_vhost_driver_get_protocol_features(path,
> &protocol_features);
> +	if (ret != 0) {
> +		RTE_LOG(ERR, VDPA,
> +			"rte_vhost_driver_get_protocol_features for %s
> failed.\n",
> +			path);
> +		goto out;
> +	}
> +
> +	protocol_features |= (1ULL << VHOST_USER_PROTOCOL_F_CONFIG);
> +	protocol_features |= (1ULL << VHOST_USER_PROTOCOL_F_LOG_SHMFD);
> +
> +	ret = rte_vhost_driver_set_protocol_features(path,
> protocol_features);
> +	if (ret != 0) {
> +		RTE_LOG(ERR, VDPA,
> +			"rte_vhost_driver_set_protocol_features for %s
> failed.\n",
> +			path);
> +		goto out;
> +	}
> +
> +out:
> +	return ret;
> +}
> +
> +static int
>  start_vdpa(struct vdpa_port *vport)
>  {
>  	int ret;
> @@ -192,6 +242,15 @@ struct vdpa_port {
>  			"attach vdpa device failed: %s\n",
>  			socket_path);
> 
> +	if (isblk) {
> +		RTE_LOG(NOTICE, VDPA, "is a blk device\n");
> +		ret = vdpa_blk_device_set_features_and_protocol(socket_path);
> +		if (ret != 0)
> +			rte_exit(EXIT_FAILURE,
> +				"set vhost blk driver features and protocol
> features failed: %s\n",
> +				socket_path);
> +	}
> +
>  	if (rte_vhost_driver_start(socket_path) < 0)
>  		rte_exit(EXIT_FAILURE,
>  			"start vhost driver failed: %s\n",
> diff --git a/examples/vdpa/vdpa_blk_compact.h
> b/examples/vdpa/vdpa_blk_compact.h

Please remove unused definition in this header. I didn't check all, but it
seems at least VHOST_BLK_PROTOCOL_FEATURES is not used.

> new file mode 100644
> index 0000000..e7c0f22
> --- /dev/null
> +++ b/examples/vdpa/vdpa_blk_compact.h
> @@ -0,0 +1,72 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright(c) 2022 Intel Corporation
> + */
> +
> +#ifndef _VDPA_BLK_COMPACT_H_
> +#define _VDPA_BLK_COMPACT_H_
> +
> +/**
> + * @file
> + *
> + * Device specific vhost lib
> + */
> +
> +#include <stdbool.h>
> +
> +#include <rte_pci.h>
> +#include <rte_vhost.h>
> +
> +/* Feature bits */
> +#define VIRTIO_BLK_F_SIZE_MAX     1    /* Indicates maximum segment size
> */
> +#define VIRTIO_BLK_F_SEG_MAX      2    /* Indicates maximum # of segments
> */
> +#define VIRTIO_BLK_F_GEOMETRY     4    /* Legacy geometry available  */
> +#define VIRTIO_BLK_F_RO           5    /* Disk is read-only */
> +#define VIRTIO_BLK_F_BLK_SIZE     6    /* Block size of disk is available
> */
> +#define VIRTIO_BLK_F_TOPOLOGY     10   /* Topology information is
> available */
> +#define VIRTIO_BLK_F_MQ           12   /* support more than one vq */
> +#define VIRTIO_BLK_F_DISCARD      13   /* DISCARD is supported */
> +#define VIRTIO_BLK_F_WRITE_ZEROES 14   /* WRITE ZEROES is supported */
> +
> +/* Legacy feature bits */
> +#ifndef VIRTIO_BLK_NO_LEGACY
> +#define VIRTIO_BLK_F_BARRIER      0    /* Does host support barriers? */
> +#define VIRTIO_BLK_F_SCSI         7    /* Supports scsi command passthru
> */
> +#define VIRTIO_BLK_F_FLUSH        9    /* Flush command supported */
> +#define VIRTIO_BLK_F_CONFIG_WCE   11   /* Writeback mode available in
> config */
> +
> +/* Old (deprecated) name for VIRTIO_BLK_F_FLUSH. */
> +#define VIRTIO_BLK_F_WCE VIRTIO_BLK_F_FLUSH
> +#endif /* !VIRTIO_BLK_NO_LEGACY */
> +
> +#ifndef VHOST_USER_F_PROTOCOL_FEATURES
> +#define VHOST_USER_F_PROTOCOL_FEATURES 30
> +#endif
> +
> +#define VHOST_BLK_FEATURES ((1ULL << VHOST_F_LOG_ALL) | \
> +	(1ULL << VHOST_USER_F_PROTOCOL_FEATURES) | \
> +	(1ULL << VIRTIO_F_VERSION_1) | \
> +	(1ULL << VIRTIO_F_NOTIFY_ON_EMPTY) | \
> +	(1ULL << VIRTIO_RING_F_EVENT_IDX) | \
> +	(1ULL << VIRTIO_RING_F_INDIRECT_DESC))
> +
> +#define VHOST_BLK_DISABLED_FEATURES ((1ULL << VIRTIO_RING_F_EVENT_IDX) |
> \
> +	(1ULL << VIRTIO_F_NOTIFY_ON_EMPTY))
> +
> +#define VHOST_BLK_FEATURES_BASE (VHOST_BLK_FEATURES | \
> +	(1ULL << VIRTIO_BLK_F_SIZE_MAX) | (1ULL << VIRTIO_BLK_F_SEG_MAX) | \
> +	(1ULL << VIRTIO_BLK_F_GEOMETRY) | (1ULL << VIRTIO_BLK_F_BLK_SIZE) |
> \
> +	(1ULL << VIRTIO_BLK_F_TOPOLOGY) | (1ULL << VIRTIO_BLK_F_BARRIER)  |
> \
> +	(1ULL << VIRTIO_BLK_F_SCSI)     | (1ULL << VIRTIO_BLK_F_CONFIG_WCE)
> | \
> +	(1ULL << VIRTIO_BLK_F_MQ))
> +
> +/* Not supported features */
> +#define VHOST_VDPA_BLK_DISABLED_FEATURES (VHOST_BLK_DISABLED_FEATURES | \
> +	(1ULL << VIRTIO_BLK_F_GEOMETRY) | (1ULL << VIRTIO_BLK_F_CONFIG_WCE)
> | \
> +	(1ULL << VIRTIO_BLK_F_BARRIER)  | (1ULL << VIRTIO_BLK_F_SCSI))
> +
> +/* Vhost-blk support protocol features */
> +#define VHOST_BLK_PROTOCOL_FEATURES \
> +	((1ULL << VHOST_USER_PROTOCOL_F_CONFIG) | \
> +	(1ULL << VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD))
> +
> +#endif /* _VDPA_BLK_COMPACT_H_ */
> diff --git a/examples/vdpa/vhost_user.h b/examples/vdpa/vhost_user.h
> new file mode 100644
> index 0000000..137bbc2
> --- /dev/null
> +++ b/examples/vdpa/vhost_user.h

I don't understand, why introduce this header? It seems never used.

Thanks,
Chenbo

> @@ -0,0 +1,169 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright(c) 2022 Intel Corporation
> + */
> +
> +#ifndef _VHOST_NET_USER_H
> +#define _VHOST_NET_USER_H
> +
> +#include <stdint.h>
> +#include <linux/vhost.h>
> +
> +#include "rte_vhost.h"
> +
> +/* refer to hw/virtio/vhost-user.c */
> +
> +#define VHOST_MEMORY_MAX_NREGIONS 8
> +
> +#ifndef VHOST_USER_MAX_CONFIG_SIZE
> +#define VHOST_USER_MAX_CONFIG_SIZE		256
> +#endif
> +
> +#define VHOST_USER_PROTOCOL_FEATURES	((1ULL <<
> VHOST_USER_PROTOCOL_F_MQ) | \
> +			(1ULL << VHOST_USER_PROTOCOL_F_LOG_SHMFD) |\
> +			(1ULL << VHOST_USER_PROTOCOL_F_RARP) | \
> +			(1ULL << VHOST_USER_PROTOCOL_F_REPLY_ACK) | \
> +			(1ULL << VHOST_USER_PROTOCOL_F_NET_MTU) | \
> +			(1ULL << VHOST_USER_PROTOCOL_F_SLAVE_REQ) | \
> +			(1ULL << VHOST_USER_PROTOCOL_F_CRYPTO_SESSION) | \
> +			(1ULL << VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD) | \
> +			(1ULL << VHOST_USER_PROTOCOL_F_HOST_NOTIFIER) | \
> +			(1ULL << VHOST_USER_PROTOCOL_F_PAGEFAULT))
> +
> +typedef enum VhostUserRequest {
> +	VHOST_USER_NONE = 0,
> +	VHOST_USER_GET_FEATURES = 1,
> +	VHOST_USER_SET_FEATURES = 2,
> +	VHOST_USER_SET_OWNER = 3,
> +	VHOST_USER_RESET_OWNER = 4,
> +	VHOST_USER_SET_MEM_TABLE = 5,
> +	VHOST_USER_SET_LOG_BASE = 6,
> +	VHOST_USER_SET_LOG_FD = 7,
> +	VHOST_USER_SET_VRING_NUM = 8,
> +	VHOST_USER_SET_VRING_ADDR = 9,
> +	VHOST_USER_SET_VRING_BASE = 10,
> +	VHOST_USER_GET_VRING_BASE = 11,
> +	VHOST_USER_SET_VRING_KICK = 12,
> +	VHOST_USER_SET_VRING_CALL = 13,
> +	VHOST_USER_SET_VRING_ERR = 14,
> +	VHOST_USER_GET_PROTOCOL_FEATURES = 15,
> +	VHOST_USER_SET_PROTOCOL_FEATURES = 16,
> +	VHOST_USER_GET_QUEUE_NUM = 17,
> +	VHOST_USER_SET_VRING_ENABLE = 18,
> +	VHOST_USER_SEND_RARP = 19,
> +	VHOST_USER_NET_SET_MTU = 20,
> +	VHOST_USER_SET_SLAVE_REQ_FD = 21,
> +	VHOST_USER_IOTLB_MSG = 22,
> +	VHOST_USER_CRYPTO_CREATE_SESS = 26,
> +	VHOST_USER_CRYPTO_CLOSE_SESS = 27,
> +	VHOST_USER_POSTCOPY_ADVISE = 28,
> +	VHOST_USER_POSTCOPY_LISTEN = 29,
> +	VHOST_USER_POSTCOPY_END = 30,
> +	VHOST_USER_GET_INFLIGHT_FD = 31,
> +	VHOST_USER_SET_INFLIGHT_FD = 32,
> +	VHOST_USER_MAX = 33
> +} VhostUserRequest;
> +
> +typedef enum VhostUserSlaveRequest {
> +	VHOST_USER_SLAVE_NONE = 0,
> +	VHOST_USER_SLAVE_IOTLB_MSG = 1,
> +	VHOST_USER_SLAVE_VRING_HOST_NOTIFIER_MSG = 3,
> +	VHOST_USER_SLAVE_MAX
> +} VhostUserSlaveRequest;
> +
> +typedef struct VhostUserMemoryRegion {
> +	uint64_t guest_phys_addr;
> +	uint64_t memory_size;
> +	uint64_t userspace_addr;
> +	uint64_t mmap_offset;
> +} VhostUserMemoryRegion;
> +
> +typedef struct VhostUserMemory {
> +	uint32_t nregions;
> +	uint32_t padding;
> +	VhostUserMemoryRegion regions[VHOST_MEMORY_MAX_NREGIONS];
> +} VhostUserMemory;
> +
> +typedef struct VhostUserLog {
> +	uint64_t mmap_size;
> +	uint64_t mmap_offset;
> +} VhostUserLog;
> +
> +/* Comply with Cryptodev-Linux */
> +#define VHOST_USER_CRYPTO_MAX_HMAC_KEY_LENGTH	512
> +#define VHOST_USER_CRYPTO_MAX_CIPHER_KEY_LENGTH	64
> +
> +/* Same structure as vhost-user backend session info */
> +typedef struct VhostUserCryptoSessionParam {
> +	int64_t session_id;
> +	uint32_t op_code;
> +	uint32_t cipher_algo;
> +	uint32_t cipher_key_len;
> +	uint32_t hash_algo;
> +	uint32_t digest_len;
> +	uint32_t auth_key_len;
> +	uint32_t aad_len;
> +	uint8_t op_type;
> +	uint8_t dir;
> +	uint8_t hash_mode;
> +	uint8_t chaining_dir;
> +	uint8_t *ciphe_key;
> +	uint8_t *auth_key;
> +	uint8_t cipher_key_buf[VHOST_USER_CRYPTO_MAX_CIPHER_KEY_LENGTH];
> +	uint8_t auth_key_buf[VHOST_USER_CRYPTO_MAX_HMAC_KEY_LENGTH];
> +} VhostUserCryptoSessionParam;
> +
> +typedef struct VhostUserVringArea {
> +	uint64_t u64;
> +	uint64_t size;
> +	uint64_t offset;
> +} VhostUserVringArea;
> +
> +typedef struct VhostUserInflight {
> +	uint64_t mmap_size;
> +	uint64_t mmap_offset;
> +	uint16_t num_queues;
> +	uint16_t queue_size;
> +} VhostUserInflight;
> +
> +/** Get/set config msg payload */
> +struct vhost_user_config {
> +	uint32_t offset;
> +	uint32_t size;
> +	uint32_t flags;
> +	uint8_t region[VHOST_USER_MAX_CONFIG_SIZE];
> +};
> +
> +typedef struct VhostUserMsg {
> +	union {
> +		uint32_t master; /* a VhostUserRequest value */
> +		uint32_t slave;  /* a VhostUserSlaveRequest value*/
> +	} request;
> +
> +#define VHOST_USER_VERSION_MASK     0x3
> +#define VHOST_USER_REPLY_MASK       (0x1 << 2)
> +#define VHOST_USER_NEED_REPLY		(0x1 << 3)
> +	uint32_t flags;
> +	uint32_t size; /* the following payload size */
> +	union {
> +#define VHOST_USER_VRING_IDX_MASK   0xff
> +#define VHOST_USER_VRING_NOFD_MASK  (0x1<<8)
> +		uint64_t u64;
> +		struct vhost_vring_state state;
> +		struct vhost_vring_addr addr;
> +		VhostUserMemory memory;
> +		VhostUserLog    log;
> +		struct vhost_iotlb_msg iotlb;
> +		VhostUserCryptoSessionParam crypto_session;
> +		VhostUserVringArea area;
> +		VhostUserInflight inflight;
> +		struct vhost_user_config cfg;
> +	} payload;
> +	int fds[VHOST_MEMORY_MAX_NREGIONS];
> +	int fd_num;
> +} __attribute((packed)) VhostUserMsg;
> +
> +#define VHOST_USER_HDR_SIZE offsetof(VhostUserMsg, payload.u64)
> +
> +/* The version of the protocol we support */
> +#define VHOST_USER_VERSION    0x1
> +#endif
> --
> 1.8.3.1


  reply	other threads:[~2022-04-25 13:39 UTC|newest]

Thread overview: 263+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-25  6:47 [PATCH 00/15] add virtio_blk device support to vdpa/ifc Andy Pei
2022-01-25  6:47 ` [PATCH 01/15] vdpa/ifc: add support for virtio blk device Andy Pei
2022-01-25  9:37   ` [PATCH v2 00/15] add virtio_blk device support to vdpa/ifc Andy Pei
2022-01-25  9:37     ` [PATCH v2 01/15] vdpa/ifc: add support for virtio blk device Andy Pei
2022-01-25  9:37     ` [PATCH v2 02/15] vhost: add vdpa ops for " Andy Pei
2022-01-25  9:37     ` [PATCH v2 03/15] vdpa/ifc: add blk ops for ifc device Andy Pei
2022-01-25  9:37     ` [PATCH v2 04/15] vdpa/ifc: add vdpa interrupt for blk device Andy Pei
2022-01-25  9:37     ` [PATCH v2 05/15] vdpa/ifc: add blk dev sw live migration Andy Pei
2022-01-25  9:37     ` [PATCH v2 06/15] example/vdpa:add vdpa blk support in example Andy Pei
2022-01-25  9:37     ` [PATCH v2 07/15] usertools: add support for virtio blk device Andy Pei
2022-01-25  9:37     ` [PATCH v2 08/15] vdpa/ifc: set_vring_state op is mandatory, add set_vring_state for " Andy Pei
2022-01-25  9:37     ` [PATCH v2 09/15] vdpa/ifc: add some log at VDPA launch before qemu connect Andy Pei
2022-01-25  9:37     ` [PATCH v2 10/15] vdpa/ifc: read virtio max_queues from hardware Andy Pei
2022-01-25  9:37     ` [PATCH v2 11/15] vdpa: add config space change interrupt register and handle for virtio_blk Andy Pei
2022-01-25  9:37     ` [PATCH v2 12/15] vdpa/ifc: add is_blk flag to ifcvf_hw, and init is_blk during probe Andy Pei
2022-01-25  9:37     ` [PATCH v2 13/15] vdpa/ifc/base: for blk device, live migration register is different from net device Andy Pei
2022-01-25  9:37     ` [PATCH v2 14/15] vdpa/ifc: make sure hardware last_avail_idx and last_used_idx is the same when blk device pause Andy Pei
2022-01-25  9:37     ` [PATCH v2 15/15] vhost: make sure each queue callfd is configured Andy Pei
2022-01-27  7:13       ` Xia, Chenbo
2022-01-29  3:11         ` Pei, Andy
2022-01-29  3:03   ` [PATCH v3 00/15] add virtio_blk device support to vdpa/ifc Andy Pei
2022-01-29  3:03     ` [PATCH v3 01/15] vdpa/ifc: add support for virtio blk device Andy Pei
2022-03-22  8:57       ` Maxime Coquelin
2022-01-29  3:03     ` [PATCH v3 02/15] vhost: add vdpa ops for " Andy Pei
2022-03-22  9:12       ` Maxime Coquelin
2022-01-29  3:03     ` [PATCH v3 03/15] vdpa/ifc: add blk ops for ifc device Andy Pei
2022-03-22  9:58       ` Maxime Coquelin
2022-01-29  3:03     ` [PATCH v3 04/15] vdpa/ifc: add vdpa interrupt for blk device Andy Pei
2022-03-22 10:04       ` Maxime Coquelin
2022-03-23  7:07         ` Pei, Andy
2022-03-23  7:42           ` Pei, Andy
2022-01-29  3:03     ` [PATCH v3 05/15] vdpa/ifc: add blk dev sw live migration Andy Pei
2022-03-22 11:10       ` Maxime Coquelin
2022-03-23  9:08         ` Pei, Andy
2022-01-29  3:03     ` [PATCH v3 06/15] example/vdpa:add vdpa blk support in example Andy Pei
2022-03-22 11:29       ` Maxime Coquelin
2022-03-23  9:31         ` Pei, Andy
2022-01-29  3:03     ` [PATCH v3 07/15] usertools: add support for virtio blk device Andy Pei
2022-01-29  3:03     ` [PATCH v3 08/15] vdpa/ifc: set_vring_state op is mandatory, add set_vring_state for " Andy Pei
2022-01-29  3:03     ` [PATCH v3 09/15] vdpa/ifc: add some log at VDPA launch before qemu connect Andy Pei
2022-01-29  3:03     ` [PATCH v3 10/15] vdpa/ifc: read virtio max_queues from hardware Andy Pei
2022-01-29  3:03     ` [PATCH v3 11/15] vdpa: add config space change interrupt register and handle for virtio_blk Andy Pei
2022-01-29  3:03     ` [PATCH v3 12/15] vdpa/ifc: add is_blk flag to ifcvf_hw, and init is_blk during probe Andy Pei
2022-01-29  3:03     ` [PATCH v3 13/15] vdpa/ifc/base: for blk device, live migration register is different from net device Andy Pei
2022-01-29  3:03     ` [PATCH v3 14/15] vdpa/ifc: make sure hardware last_avail_idx and last_used_idx are the same when blk device pause Andy Pei
2022-01-29  3:03     ` [PATCH v3 15/15] vhost: make sure each queue callfd is configured Andy Pei
2022-03-27 14:51   ` [PATCH v4 00/16] add virtio_blk device support to vdpa/ifc Andy Pei
2022-03-27 14:51     ` [PATCH v4 01/16] vdpa/ifc: add support for virtio blk device Andy Pei
2022-03-27 14:51     ` [PATCH v4 02/16] vhost: add vdpa ops for " Andy Pei
2022-03-27 14:51     ` [PATCH v4 03/16] vhost: add support for VHOST_USER_GET_CONFIG and VHOST_USER_SET_CONFIG Andy Pei
2022-03-27 14:51     ` [PATCH v4 04/16] vdpa/ifc: add blk ops for ifc device Andy Pei
2022-03-27 14:51     ` [PATCH v4 05/16] vdpa/ifc: add vdpa interrupt for blk device Andy Pei
2022-03-27 14:51     ` [PATCH v4 06/16] vdpa/ifc: add block device SW live-migration Andy Pei
2022-03-27 14:51     ` [PATCH v4 07/16] example/vdpa:add vdpa blk support in example Andy Pei
2022-03-27 14:51     ` [PATCH v4 08/16] usertools: add support for virtio blk device Andy Pei
2022-03-27 20:01       ` Stephen Hemminger
2022-03-27 14:51     ` [PATCH v4 09/16] vdpa/ifc: set_vring_state op is mandatory, add set_vring_state for " Andy Pei
2022-03-27 14:51     ` [PATCH v4 10/16] vdpa/ifc: add some log at VDPA lauch before qemu connect Andy Pei
2022-03-27 14:51     ` [PATCH v4 11/16] vdpa/ifc: read virtio max_queues from hardware Andy Pei
2022-03-27 14:51     ` [PATCH v4 12/16] vdpa: add config space change interrupt register and handle for virtio_blk Andy Pei
2022-03-27 14:51     ` [PATCH v4 13/16] vdpa/ifc: add is_blk flag to ifcvf_hw, and init is_blk during probe Andy Pei
2022-03-27 14:51     ` [PATCH v4 14/16] vdpa/ifc/base: for blk device, live migration register is different from net device Andy Pei
2022-03-27 14:51     ` [PATCH v4 15/16] vdpa/ifc: make sure hardware last_avail_idx and last_used_idx is the same when blk device pause Andy Pei
2022-03-27 14:51     ` [PATCH v4 16/16] vhost: make sure each queue callfd is configured Andy Pei
2022-03-28  7:17   ` [PATCH v5 00/16] add virtio_blk device support to vdpa/ifc Andy Pei
2022-03-28  7:17     ` [PATCH v5 01/16] vdpa/ifc: add support for virtio blk device Andy Pei
2022-03-28  7:17     ` [PATCH v5 02/16] vhost: add vdpa ops for " Andy Pei
2022-03-28  7:17     ` [PATCH v5 03/16] vhost: add support for VHOST_USER_GET_CONFIG and VHOST_USER_SET_CONFIG Andy Pei
2022-04-20 13:53       ` Xia, Chenbo
2022-04-21  8:05         ` Pei, Andy
2022-03-28  7:17     ` [PATCH v5 04/16] vdpa/ifc: add blk ops for ifc device Andy Pei
2022-03-28  7:17     ` [PATCH v5 05/16] vdpa/ifc: add vdpa interrupt for blk device Andy Pei
2022-03-28  7:17     ` [PATCH v5 06/16] vdpa/ifc: add block device SW live-migration Andy Pei
2022-03-28  7:17     ` [PATCH v5 07/16] example/vdpa:add vdpa blk support in example Andy Pei
2022-03-28  7:17     ` [PATCH v5 08/16] usertools: add support for virtio blk device Andy Pei
2022-03-28  7:17     ` [PATCH v5 09/16] vdpa/ifc: set_vring_state op is mandatory, add set_vring_state for " Andy Pei
2022-03-28  7:17     ` [PATCH v5 10/16] vdpa/ifc: add some log at VDPA launch before qemu connect Andy Pei
2022-03-28  7:17     ` [PATCH v5 11/16] vdpa/ifc: read virtio max_queues from hardware Andy Pei
2022-03-28  7:17     ` [PATCH v5 12/16] vdpa: add config space change interrupt register and handle for virtio_blk Andy Pei
2022-03-28  7:17     ` [PATCH v5 13/16] vdpa/ifc: add is_blk flag to ifcvf_hw, and init is_blk during probe Andy Pei
2022-03-28  7:17     ` [PATCH v5 14/16] vdpa/ifc/base: for blk device, live migration register is different from net device Andy Pei
2022-03-28  7:17     ` [PATCH v5 15/16] vdpa/ifc: make sure hardware last_avail_idx and last_used_idx is the same when blk device pause Andy Pei
2022-03-28  7:17     ` [PATCH v5 16/16] vhost: make sure each queue callfd is configured Andy Pei
2022-04-21  8:33   ` [PATCH v6 00/16] add virtio_blk device support to vdpa/ifc Andy Pei
2022-04-21  8:33     ` [PATCH v6 01/16] vdpa/ifc: add support for virtio blk device Andy Pei
2022-04-21  8:33     ` [PATCH v6 02/16] vhost: add vDPA ops for " Andy Pei
2022-04-21  8:33     ` [PATCH v6 03/16] vhost: add vhost msg support Andy Pei
2022-04-25 12:42       ` Xia, Chenbo
2022-04-26  8:55         ` Pei, Andy
2022-04-26  9:17           ` Xia, Chenbo
2022-04-27  4:12             ` Pei, Andy
2022-04-25 13:04       ` David Marchand
2022-04-26  8:08         ` Pei, Andy
2022-04-21  8:33     ` [PATCH v6 04/16] vdpa/ifc: add blk ops for ifc device Andy Pei
2022-04-21  8:33     ` [PATCH v6 05/16] vdpa/ifc: add vDPA interrupt for blk device Andy Pei
2022-04-25 12:58       ` Xia, Chenbo
2022-04-26  9:56         ` Pei, Andy
2022-04-21  8:33     ` [PATCH v6 06/16] vdpa/ifc: add block device SW live-migration Andy Pei
2022-04-25 13:10       ` Xia, Chenbo
2022-04-26 10:07         ` Pei, Andy
2022-04-21  8:33     ` [PATCH v6 07/16] examples/vdpa: add vDPA blk support in example Andy Pei
2022-04-25 13:38       ` Xia, Chenbo [this message]
2022-04-27  4:11         ` Pei, Andy
2022-04-21  8:33     ` [PATCH v6 08/16] usertools: add support for virtio blk device Andy Pei
2022-04-25 13:53       ` Xia, Chenbo
2022-04-26  4:13         ` Pei, Andy
2022-04-21  8:33     ` [PATCH v6 09/16] vdpa/ifc: add set vring state for " Andy Pei
2022-04-21  8:33     ` [PATCH v6 10/16] vdpa/ifc: add some log at vDPA launch before qemu connect Andy Pei
2022-04-21  8:33     ` [PATCH v6 11/16] vdpa/ifc: read virtio max queues from hardware Andy Pei
2022-04-21  8:33     ` [PATCH v6 12/16] vdpa/ifc: add interrupt and handle for virtio blk Andy Pei
2022-04-21  8:33     ` [PATCH v6 13/16] vdpa/ifc: add is blk flag to ifcvf HW struct Andy Pei
2022-04-21  8:33     ` [PATCH v6 14/16] vdpa/ifc/base: access correct register for blk device Andy Pei
2022-04-21  8:33     ` [PATCH v6 15/16] vdpa/ifc: blk device pause without no inflight IO Andy Pei
2022-04-21  8:33     ` [PATCH v6 16/16] vhost: make sure each queue callfd is configured Andy Pei
2022-04-27  8:29   ` [PATCH v7 00/18] add virtio_blk device support to vdpa/ifc Andy Pei
2022-04-27  8:29     ` [PATCH v7 01/18] vdpa/ifc: add support for virtio blk device Andy Pei
2022-04-27  8:29     ` [PATCH v7 02/18] vhost: add vDPA ops for " Andy Pei
2022-04-27  8:29     ` [PATCH v7 03/18] vhost: add vhost msg support Andy Pei
2022-05-11 14:24       ` Xia, Chenbo
2022-05-12  3:50         ` Pei, Andy
2022-04-27  8:29     ` [PATCH v7 04/18] vdpa/ifc: add blk ops for ifc device Andy Pei
2022-04-27  8:29     ` [PATCH v7 05/18] vdpa/ifc: add vDPA interrupt for blk device Andy Pei
2022-05-11 14:35       ` Xia, Chenbo
2022-05-12  3:49         ` Pei, Andy
2022-04-27  8:29     ` [PATCH v7 06/18] vdpa/ifc: add block device SW live-migration Andy Pei
2022-05-12 12:55       ` Xia, Chenbo
2022-05-13  3:32         ` Pei, Andy
2022-04-27  8:29     ` [PATCH v7 07/18] vhost: add API to get vDPA device type Andy Pei
2022-05-12 13:14       ` Xia, Chenbo
2022-05-13  4:15         ` Pei, Andy
2022-04-27  8:29     ` [PATCH v7 08/18] vdpa/ifc: add get device type ops to ifc driver Andy Pei
2022-05-12 13:21       ` Xia, Chenbo
2022-05-12 13:40         ` Xia, Chenbo
2022-05-13  7:38           ` Pei, Andy
2022-04-27  8:29     ` [PATCH v7 09/18] examples/vdpa: add vDPA blk support in example Andy Pei
2022-05-12 13:34       ` Xia, Chenbo
2022-05-13  8:16         ` Pei, Andy
2022-04-27  8:29     ` [PATCH v7 10/18] usertools: add support for virtio blk device Andy Pei
2022-04-27  8:29     ` [PATCH v7 11/18] vdpa/ifc: add set vring state for " Andy Pei
2022-05-12 13:44       ` Xia, Chenbo
2022-04-27  8:30     ` [PATCH v7 12/18] vdpa/ifc: add some log at vDPA launch before qemu connect Andy Pei
2022-05-12 13:53       ` Xia, Chenbo
2022-05-13  8:34         ` Pei, Andy
2022-05-13  8:40           ` Xia, Chenbo
2022-05-13 15:37           ` Stephen Hemminger
2022-05-16  1:03             ` Pei, Andy
2022-04-27  8:30     ` [PATCH v7 13/18] vdpa/ifc: read virtio max queues from hardware Andy Pei
2022-05-12 13:55       ` Xia, Chenbo
2022-05-13  8:58         ` Pei, Andy
2022-04-27  8:30     ` [PATCH v7 14/18] vdpa/ifc: add interrupt and handle for virtio blk Andy Pei
2022-05-13  2:52       ` Xia, Chenbo
2022-05-13 10:10         ` Pei, Andy
2022-04-27  8:30     ` [PATCH v7 15/18] vdpa/ifc: add is blk flag to ifcvf HW struct Andy Pei
2022-05-13  2:55       ` Xia, Chenbo
2022-05-16  3:05         ` Pei, Andy
2022-04-27  8:30     ` [PATCH v7 16/18] vdpa/ifc/base: access correct register for blk device Andy Pei
2022-05-13  2:57       ` Xia, Chenbo
2022-05-16  4:19         ` Pei, Andy
2022-04-27  8:30     ` [PATCH v7 17/18] vdpa/ifc: blk device pause without no inflight IO Andy Pei
2022-05-13  2:59       ` Xia, Chenbo
2022-05-16  4:20         ` Pei, Andy
2022-04-27  8:30     ` [PATCH v7 18/18] vhost: make sure each queue callfd is configured Andy Pei
2022-05-13  3:10       ` Xia, Chenbo
2022-05-18 12:13   ` [PATCH v8 00/13] add virtio_blk device support to vdpa/ifc Andy Pei
2022-05-18 12:13     ` [PATCH v8 01/13] vdpa/ifc: add support for virtio blk device Andy Pei
2022-05-23  3:41       ` Xia, Chenbo
2022-05-23  4:33         ` Pei, Andy
2022-05-18 12:13     ` [PATCH v8 02/13] vhost: add vDPA ops for " Andy Pei
2022-05-23  3:46       ` Xia, Chenbo
2022-05-23  4:38         ` Pei, Andy
2022-05-18 12:13     ` [PATCH v8 03/13] vhost: add vhost msg support for get/set config Andy Pei
2022-05-23  3:54       ` Xia, Chenbo
2022-05-23  4:49         ` Pei, Andy
2022-05-18 12:13     ` [PATCH v8 04/13] vdpa/ifc: add blk ops for ifc device Andy Pei
2022-05-23  4:07       ` Xia, Chenbo
2022-05-23  5:04         ` Pei, Andy
2022-05-18 12:13     ` [PATCH v8 05/13] vdpa/ifc: add vDPA interrupt relay for blk device Andy Pei
2022-05-23  4:10       ` Xia, Chenbo
2022-05-18 12:13     ` [PATCH v8 06/13] vdpa/ifc: add block device SW live-migration Andy Pei
2022-05-23  5:25       ` Xia, Chenbo
2022-05-23  5:31         ` Pei, Andy
2022-05-18 12:13     ` [PATCH v8 07/13] vhost: add API to get vDPA device type Andy Pei
2022-05-23  7:26       ` Xia, Chenbo
2022-05-23  8:23         ` Pei, Andy
2022-05-18 12:13     ` [PATCH v8 08/13] vdpa/ifc: add get device type ops to ifc driver Andy Pei
2022-05-23  7:30       ` Xia, Chenbo
2022-05-23  8:31         ` Pei, Andy
2022-05-18 12:13     ` [PATCH v8 09/13] examples/vdpa: add add virtio blk support Andy Pei
2022-05-23  7:40       ` Xia, Chenbo
2022-05-23  8:38         ` Pei, Andy
2022-05-18 12:13     ` [PATCH v8 10/13] usertools: add support for virtio blk device Andy Pei
2022-05-23  7:43       ` Xia, Chenbo
2022-05-23  8:49         ` Pei, Andy
2022-05-18 12:13     ` [PATCH v8 11/13] vdpa/ifc: add log for config space of virtio blk Andy Pei
2022-05-23  7:46       ` Xia, Chenbo
2022-05-18 12:13     ` [PATCH v8 12/13] vdpa/ifc: add interrupt handling for config space Andy Pei
2022-05-23  7:54       ` Xia, Chenbo
2022-05-18 12:13     ` [PATCH v8 13/13] vdpa/ifc/base: access correct register for blk device Andy Pei
2022-05-23  7:55       ` Xia, Chenbo
2022-05-23  9:03         ` Pei, Andy
2022-05-23  9:35   ` [PATCH v9 00/13] add virtio_blk device support to vdpa/ifc Andy Pei
2022-05-23  9:35     ` [PATCH v9 01/13] vdpa/ifc: add support for virtio blk device Andy Pei
2022-05-24  2:37       ` Xia, Chenbo
2022-05-23  9:35     ` [PATCH v9 02/13] vhost: add vDPA ops for " Andy Pei
2022-05-24  2:38       ` Xia, Chenbo
2022-05-23  9:35     ` [PATCH v9 03/13] vhost: add vhost msg support for get/set config Andy Pei
2022-05-24  2:52       ` Xia, Chenbo
2022-05-24  3:24         ` Pei, Andy
2022-05-23  9:35     ` [PATCH v9 04/13] vdpa/ifc: add blk ops for ifc device Andy Pei
2022-05-24  2:55       ` Xia, Chenbo
2022-05-24  3:27         ` Pei, Andy
2022-05-23  9:35     ` [PATCH v9 05/13] vdpa/ifc: add vDPA interrupt relay for blk device Andy Pei
2022-05-24  2:58       ` Xia, Chenbo
2022-05-23  9:35     ` [PATCH v9 06/13] vdpa/ifc: add block device SW live-migration Andy Pei
2022-05-24  3:00       ` Xia, Chenbo
2022-05-23  9:35     ` [PATCH v9 07/13] vhost: add API to get vDPA device type Andy Pei
2022-05-24  3:01       ` Xia, Chenbo
2022-05-23  9:35     ` [PATCH v9 08/13] vdpa/ifc: add get device type ops to ifc driver Andy Pei
2022-05-24  3:02       ` Xia, Chenbo
2022-05-23  9:35     ` [PATCH v9 09/13] examples/vdpa: add virtio blk support Andy Pei
2022-05-24  3:03       ` Xia, Chenbo
2022-05-23  9:35     ` [PATCH v9 10/13] usertools: add support for virtio blk device Andy Pei
2022-05-24  3:05       ` Xia, Chenbo
2022-05-23  9:35     ` [PATCH v9 11/13] vdpa/ifc: add log for config space of virtio blk Andy Pei
2022-05-24  3:06       ` Xia, Chenbo
2022-05-23  9:35     ` [PATCH v9 12/13] vdpa/ifc: add interrupt handling for config space Andy Pei
2022-05-24  3:09       ` Xia, Chenbo
2022-05-23  9:35     ` [PATCH v9 13/13] vdpa/ifc/base: access correct register for blk device Andy Pei
2022-05-24  3:10       ` Xia, Chenbo
2022-05-24  3:11         ` Pei, Andy
2022-05-24  2:48   ` [PATCH v10 00/13] add virtio_blk device support to vdpa/ifc Andy Pei
2022-05-24  2:48     ` [PATCH v10 01/13] vdpa/ifc: add support for virtio blk device Andy Pei
2022-05-24  2:48     ` [PATCH v10 02/13] vhost: add vDPA ops for " Andy Pei
2022-05-24  2:48     ` [PATCH v10 03/13] vhost: add vhost msg support for get/set config Andy Pei
2022-05-24  3:49       ` Xia, Chenbo
2022-05-24  2:48     ` [PATCH v10 04/13] vdpa/ifc: add blk ops for ifc device Andy Pei
2022-05-24  6:28       ` Xia, Chenbo
2022-05-24  6:30         ` Pei, Andy
2022-05-24  2:48     ` [PATCH v10 05/13] vdpa/ifc: add vDPA interrupt relay for blk device Andy Pei
2022-05-24  2:48     ` [PATCH v10 06/13] vdpa/ifc: add block device SW live-migration Andy Pei
2022-05-24  2:48     ` [PATCH v10 07/13] vhost: add API to get vDPA device type Andy Pei
2022-05-24  2:48     ` [PATCH v10 08/13] vdpa/ifc: add get device type ops to ifc driver Andy Pei
2022-05-24  2:48     ` [PATCH v10 09/13] examples/vdpa: add virtio blk support Andy Pei
2022-05-24  2:48     ` [PATCH v10 10/13] usertools: add support for virtio blk device Andy Pei
2022-05-24  2:48     ` [PATCH v10 11/13] vdpa/ifc: add log for config space of virtio blk Andy Pei
2022-05-24  2:48     ` [PATCH v10 12/13] vdpa/ifc: add interrupt handling for config space Andy Pei
2022-05-24  2:48     ` [PATCH v10 13/13] vdpa/ifc/base: access correct register for blk device Andy Pei
2022-06-01 10:10     ` [PATCH v10 00/13] add virtio_blk device support to vdpa/ifc Maxime Coquelin
2022-06-01 13:57       ` Pei, Andy
2022-01-25  6:47 ` [PATCH 02/15] vhost: add vdpa ops for blk device Andy Pei
2022-01-25  6:47 ` [PATCH 03/15] vdpa/ifc: add blk ops for ifc device Andy Pei
2022-01-25  6:47 ` [PATCH 04/15] vdpa/ifc: add vdpa interrupt for blk device Andy Pei
2022-01-25  6:47 ` [PATCH 05/15] vdpa/ifc: add blk dev sw live migration Andy Pei
2022-01-25  6:47 ` [PATCH 06/15] example/vdpa:add vdpa blk support in example Andy Pei
2022-01-25  6:47 ` [PATCH 07/15] usertools: add support for virtio blk device Andy Pei
2022-01-25  6:47 ` [PATCH 08/15] vdpa/ifc: set_vring_state op is mandatory, add set_vring_state for " Andy Pei
2022-01-25  6:47 ` [PATCH 09/15] vdpa/ifc: add some log at VDPA lauch before qemu connect Andy Pei
2022-01-25  6:47 ` [PATCH 10/15] vdpa/ifc: read virtio max_queues from hardware Andy Pei
2022-01-25  6:47 ` [PATCH 11/15] vdpa: add config space change interrupt register and handle for virtio_blk Andy Pei
2022-01-25  6:47 ` [PATCH 12/15] vdpa/ifc: add is_blk flag to ifcvf_hw, and init is_blk during probe Andy Pei
2022-01-25  6:47 ` [PATCH 13/15] vdpa/ifc/base: for blk device, live migration register is different from net device Andy Pei
2022-01-25  6:47 ` [PATCH 14/15] vdpa/ifc: make sure hardware last_avail_idx and last_used_idx is the same when blk device pause Andy Pei
2022-01-25  6:47 ` [PATCH 15/15] vhost: make sure each queue callfd is configured Andy Pei

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=SN6PR11MB3504AF8EC5743F2D9F078D079CF89@SN6PR11MB3504.namprd11.prod.outlook.com \
    --to=chenbo.xia@intel.com \
    --cc=andy.pei@intel.com \
    --cc=changpeng.liu@intel.com \
    --cc=dev@dpdk.org \
    --cc=gang.cao@intel.com \
    --cc=maxime.coquelin@redhat.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 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.