All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: "Tan, Jianfeng" <jianfeng.tan@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "nakajima.yoshihiro@lab.ntt.co.jp"
	<nakajima.yoshihiro@lab.ntt.co.jp>,
	"zhbzg@huawei.com" <zhbzg@huawei.com>,
	"mst@redhat.com" <mst@redhat.com>,
	"gaoxiaoqiu@huawei.com" <gaoxiaoqiu@huawei.com>,
	"oscar.zhangbo@huawei.com" <oscar.zhangbo@huawei.com>,
	"ann.zhuangyanying@huawei.com" <ann.zhuangyanying@huawei.com>,
	"zhoujingbin@huawei.com" <zhoujingbin@huawei.com>,
	"guohongzhen@huawei.com" <guohongzhen@huawei.com>
Subject: Re: [RFC 4/5] virtio/container: adjust memory initialization	process
Date: Mon, 9 Nov 2015 13:32:29 +0000	[thread overview]
Message-ID: <2601191342CEEE43887BDE71AB97725836AC618B@irsmsx105.ger.corp.intel.com> (raw)
In-Reply-To: <ED26CBA2FAD1BF48A8719AEF02201E36634DD6@SHSMSX152.ccr.corp.intel.com>



> 
> > -----Original Message-----
> > From: Ananyev, Konstantin
> > Sent: Saturday, November 7, 2015 12:22 AM
> > To: Tan, Jianfeng; dev@dpdk.org
> > Cc: nakajima.yoshihiro@lab.ntt.co.jp; zhbzg@huawei.com; mst@redhat.com;
> > gaoxiaoqiu@huawei.com; oscar.zhangbo@huawei.com;
> > ann.zhuangyanying@huawei.com; zhoujingbin@huawei.com;
> > guohongzhen@huawei.com
> > Subject: RE: [dpdk-dev] [RFC 4/5] virtio/container: adjust memory
> > initialization process
> >
> > Hi,
> >
> > > -----Original Message-----
> > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jianfeng Tan
> > > Sent: Thursday, November 05, 2015 6:31 PM
> > > To: dev@dpdk.org
> > > Cc: nakajima.yoshihiro@lab.ntt.co.jp; zhbzg@huawei.com;
> > > mst@redhat.com; gaoxiaoqiu@huawei.com; oscar.zhangbo@huawei.com;
> > > ann.zhuangyanying@huawei.com; zhoujingbin@huawei.com;
> > > guohongzhen@huawei.com
> > > Subject: [dpdk-dev] [RFC 4/5] virtio/container: adjust memory
> > > initialization process
> > >
> > > When using virtio for container, we should specify --no-huge so that
> > > in memory initialization, shm_open() is used to alloc memory from
> > > tmpfs filesystem /dev/shm/.
> > >
> > > Signed-off-by: Huawei Xie <huawei.xie@intel.com>
> > > Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
> > > ---
> ......
> > > +int
> > > +rte_memseg_info_get(int index, int *pfd, uint64_t *psize, void
> > > +**paddr) {
> > > +	struct rte_mem_config *mcfg;
> > > +	mcfg = rte_eal_get_configuration()->mem_config;
> > > +
> > > +	*pfd = mcfg->memseg[index].fd;
> > > +	*psize = (uint64_t)mcfg->memseg[index].len;
> > > +	*paddr = (void *)(uint64_t)mcfg->memseg[index].addr;
> > > +	return 0;
> > > +}
> >
> > Wonder who will use that function?
> > Can't see any references to that function in that patch or next.
> 
> This function is used in 1/5, when virtio front end needs to send VHOST_USER_SET_MEM_TABLE to back end.

Ok, but hen this function should be defined in the patch *before* it is used, not after.
Another thing: probably better to create a struct for all memseg parameters you want to retrieve,
and pass it to the function, instead of several pointers. 

> 
> > > +
> > >  /*
> > >   * Get physical address of any mapped virtual address in the current
> > process.
> > >   */
> > > @@ -1044,6 +1059,42 @@ calc_num_pages_per_socket(uint64_t *
> > memory,
> > >  	return total_num_pages;
> > >  }
> > >
> > > +static void *
> > > +rte_eal_shm_create(int *pfd)
> > > +{
> > > +	int ret, fd;
> > > +	char filepath[256];
> > > +	void *vaddr;
> > > +	uint64_t size = internal_config.memory;
> > > +
> > > +	sprintf(filepath, "/%s_cvio", internal_config.hugefile_prefix);
> > > +
> > > +	fd = shm_open(filepath, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR);
> > > +	if (fd < 0) {
> > > +		rte_panic("shm_open %s failed: %s\n", filepath,
> > strerror(errno));
> > > +	}
> > > +	ret = flock(fd, LOCK_EX);
> > > +	if (ret < 0) {
> > > +		close(fd);
> > > +		rte_panic("flock %s failed: %s\n", filepath, strerror(errno));
> > > +	}
> > > +
> > > +	ret = ftruncate(fd, size);
> > > +	if (ret < 0) {
> > > +		rte_panic("ftruncate failed: %s\n", strerror(errno));
> > > +	}
> > > +	/* flag: MAP_HUGETLB */
> >
> > Any explanation what that comment means here?
> > Do you plan to use MAP_HUGETLb in the call below or ...?
> 
> Yes, it's a todo item. Shm_open() just uses a tmpfs mounted at /dev/shm. So I wonder maybe we can use this flag to make
> sure  os allocates hugepages here if user would like to use hugepages.
> 
> >>
> ......
> > > @@ -1081,8 +1134,8 @@ rte_eal_hugepage_init(void)
> > >
> > >  	/* hugetlbfs can be disabled */
> > >  	if (internal_config.no_hugetlbfs) {
> > > -		addr = mmap(NULL, internal_config.memory, PROT_READ |
> > PROT_WRITE,
> > > -				MAP_PRIVATE | MAP_ANONYMOUS, 0, 0);
> > > +		int fd;
> > > +		addr = rte_eal_shm_create(&fd);
> >
> > Why do you remove ability to map(dev/zero) here?
> > Probably not everyone plan to use --no-hugepages only inside containers.
> 
> From my understanding, mmap here is just to allocate some memory, which is initialized to be all zero. I cannot understand what's
> the relationship with /dev/zero.

I used it here as a synonym for mmap(, ..., MAP_ANONYMOUS,...).

 rte_eal_shm_create() can do the original function, plus it generates a fd to point to this chunk of
> memory. This fd is indispensable in vhost protocol when VHOST_USER_SET_MEM_TABLE using sendmsg().


My question was:
Right now for --no-hugepages it allocates a chunk of memory that is not backed-up by any file and is private to the process:

addr = mmap(NULL, internal_config.memory, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, 0, 0); 

You changed it to shared memory region allocation:

fd = shm_open(filepath, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR);
addr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);

I understand that you need it for your containers stuff - but I suppose you have to add
new functionality without breaking existing one>
There could be other users of --no-hugepages and they probably want existing behaviour.
Konstantin

> 
> >
> >
> > >  		if (addr == MAP_FAILED) {
> > >  			RTE_LOG(ERR, EAL, "%s: mmap() failed: %s\n",
> > __func__,
> > >  					strerror(errno));
> > > @@ -1093,6 +1146,7 @@ rte_eal_hugepage_init(void)
> > >  		mcfg->memseg[0].hugepage_sz = RTE_PGSIZE_4K;
> > >  		mcfg->memseg[0].len = internal_config.memory;
> > >  		mcfg->memseg[0].socket_id = 0;
> > > +		mcfg->memseg[0].fd = fd;
> > >  		return 0;
> > >  	}
> > >
> > > diff --git a/lib/librte_mempool/rte_mempool.c
> > > b/lib/librte_mempool/rte_mempool.c
> > > index e57cbbd..8f8852b 100644
> > > --- a/lib/librte_mempool/rte_mempool.c
> > > +++ b/lib/librte_mempool/rte_mempool.c
> > > @@ -453,13 +453,6 @@ rte_mempool_xmem_create(const char *name,
> > unsigned n, unsigned elt_size,
> > >  		rte_errno = EINVAL;
> > >  		return NULL;
> > >  	}
> > > -
> > > -	/* check that we have both VA and PA */
> > > -	if (vaddr != NULL && paddr == NULL) {
> > > -		rte_errno = EINVAL;
> > > -		return NULL;
> > > -	}
> > > -
> > >  	/* Check that pg_num and pg_shift parameters are valid. */
> > >  	if (pg_num < RTE_DIM(mp->elt_pa) || pg_shift >
> > MEMPOOL_PG_SHIFT_MAX) {
> > >  		rte_errno = EINVAL;
> > > @@ -596,8 +589,15 @@ rte_mempool_xmem_create(const char *name,
> > > unsigned n, unsigned elt_size,
> > >
> > >  	/* mempool elements in a separate chunk of memory. */
> > >  	} else {
> > > +		/* when VA is specified, PA should be specified? */
> > > +		if (rte_eal_has_hugepages()) {
> > > +			if (paddr == NULL) {
> > > +				rte_errno = EINVAL;
> > > +				return NULL;
> > > +			}
> > > +			memcpy(mp->elt_pa, paddr, sizeof (mp->elt_pa[0])
> > * pg_num);
> > > +		}
> > >  		mp->elt_va_start = (uintptr_t)vaddr;
> > > -		memcpy(mp->elt_pa, paddr, sizeof (mp->elt_pa[0]) *
> > pg_num);
> >
> > Could you explain the reason for that change?
> > Specially why mempool over external memory now only allowed for
> > hugepages config?
> > Konstantin
> 
> Oops, you're right! This change was previously for creating a mbuf mempool at a given vaddr and without
> giving any paddr[].  And now we don't need to care about neither vaddr nor paddr[] so I should have reverted
> change in this file.
> 
> >
> > >  	}
> > >
> > >  	mp->elt_va_end = mp->elt_va_start;
> > > --
> > > 2.1.4

  reply	other threads:[~2015-11-09 13:32 UTC|newest]

Thread overview: 196+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-05 18:31 [RFC 0/5] virtio support for container Jianfeng Tan
2015-11-05 18:31 ` [RFC 1/5] virtio/container: add handler for ioport rd/wr Jianfeng Tan
2015-11-05 18:31 ` [RFC 2/5] virtio/container: add a new virtual device named eth_cvio Jianfeng Tan
2015-11-05 18:31 ` [RFC 3/5] virtio/container: unify desc->addr assignment Jianfeng Tan
2015-11-05 18:31 ` [RFC 4/5] virtio/container: adjust memory initialization process Jianfeng Tan
2015-11-06 16:21   ` Ananyev, Konstantin
2015-11-08 11:18     ` Tan, Jianfeng
2015-11-09 13:32       ` Ananyev, Konstantin [this message]
2015-11-09 14:13         ` Tan, Jianfeng
2015-11-05 18:31 ` [RFC 5/5] vhost/container: change mode of vhost listening socket Jianfeng Tan
2015-11-09  3:54   ` Yuanhan Liu
2015-11-09  5:15     ` Tan, Jianfeng
2015-11-09  5:40       ` Yuanhan Liu
2015-11-09  5:46         ` Tan, Jianfeng
2015-11-24  3:53 ` [RFC 0/5] virtio support for container Zhuangyanying
2015-11-24  6:19   ` Tan, Jianfeng
2016-01-10 11:42 ` [PATCH 0/4] " Jianfeng Tan
2016-01-10 11:42   ` [PATCH 1/4] mem: add --single-file to create single mem-backed file Jianfeng Tan
2016-01-21  1:57     ` Xie, Huawei
2016-01-10 11:43   ` [PATCH 2/4] mem: add API to obstain memory-backed file info Jianfeng Tan
2016-01-11 11:43     ` Pavel Fedin
2016-01-11 20:26     ` Rich Lane
2016-01-12  9:12       ` Tan, Jianfeng
2016-01-12 10:04         ` Pavel Fedin
2016-01-12 10:48           ` Tan, Jianfeng
2016-01-12 11:00             ` Pavel Fedin
2016-01-12 11:07               ` Sergio Gonzalez Monroy
2016-01-12 11:37                 ` Pavel Fedin
2016-01-12 12:12                   ` Sergio Gonzalez Monroy
2016-01-12 13:57                     ` Pavel Fedin
2016-01-12 14:13                       ` Sergio Gonzalez Monroy
2016-01-12 11:44                 ` Sergio Gonzalez Monroy
2016-01-12 11:22             ` Pavel Fedin
2016-01-12 11:33               ` Sergio Gonzalez Monroy
2016-01-12 12:01                 ` Pavel Fedin
2016-01-12 13:39                   ` Sergio Gonzalez Monroy
2016-01-10 11:43   ` [PATCH 3/4] virtio/vdev: add ways to interact with vhost Jianfeng Tan
2016-01-11 10:42     ` Pavel Fedin
2016-01-11 14:02     ` Pavel Fedin
2016-01-21  2:18     ` Xie, Huawei
2016-01-10 11:43   ` [PATCH 4/4] virtio/vdev: add a new vdev named eth_cvio Jianfeng Tan
2016-01-12  7:45     ` Pavel Fedin
2016-01-12  7:59       ` Yuanhan Liu
2016-01-12  8:39       ` Tan, Jianfeng
2016-01-12  9:15         ` Tan, Jianfeng
2016-01-27  3:10     ` Qiu, Michael
2016-01-11 14:21   ` [PATCH 0/4] virtio support for container Pavel Fedin
2016-01-11 15:53     ` Tan, Jianfeng
2016-01-12  7:38       ` Pavel Fedin
2016-01-12  8:14         ` Rich Lane
2016-01-12  8:39           ` Pavel Fedin
2016-01-12  8:51             ` Tan, Jianfeng
2016-01-12 10:48               ` Pavel Fedin
2016-01-12 14:45                 ` Amit Tomer
2016-01-12 14:50                   ` Pavel Fedin
2016-01-12 14:58                     ` Amit Tomer
2016-01-12 14:53                   ` Tan, Jianfeng
2016-01-12 15:11                     ` Amit Tomer
2016-01-12 16:18                       ` Tan, Jianfeng
2016-01-13 15:00                         ` Amit Tomer
2016-01-13 18:41                           ` Tan, Jianfeng
2016-01-14  9:34                             ` Amit Tomer
2016-01-14 11:41                               ` Tan, Jianfeng
2016-01-14 12:03                                 ` Amit Tomer
2016-01-15  6:39                                   ` Tan, Jianfeng
2016-01-20 15:19                                     ` Amit Tomer
2016-01-22  6:04                                       ` Tan, Jianfeng
2016-01-12  5:36   ` Tetsuya Mukawa
2016-01-12  5:46     ` Tan, Jianfeng
2016-01-12  6:01       ` Tetsuya Mukawa
2016-01-12  6:14         ` Yuanhan Liu
2016-01-12  6:26           ` Tetsuya Mukawa
2016-01-12  6:29             ` Yuanhan Liu
2016-01-20  3:48     ` Xie, Huawei
2016-01-26  6:02   ` Qiu, Michael
2016-01-26  6:09     ` Tan, Jianfeng
2016-02-05 11:20 ` [PATCH v2 0/5] " Jianfeng Tan
2016-02-05 11:20   ` [PATCH v2 1/5] mem: add --single-file to create single mem-backed file Jianfeng Tan
2016-03-07 13:13     ` Yuanhan Liu
2016-03-08  1:55       ` Tan, Jianfeng
2016-03-08  2:44         ` Yuanhan Liu
2016-03-09 14:44           ` Tan, Jianfeng
2016-03-08  8:49       ` Panu Matilainen
2016-03-08  9:04         ` Yuanhan Liu
2016-03-08 10:30           ` Thomas Monjalon
2016-03-08 10:57             ` Burakov, Anatoly
2016-03-14 13:53             ` Traynor, Kevin
2016-03-14 14:45               ` Thomas Monjalon
2016-03-14 18:21                 ` Traynor, Kevin
2016-02-05 11:20   ` [PATCH v2 2/5] mem: add API to obtain memory-backed file info Jianfeng Tan
2016-03-07 13:22     ` Yuanhan Liu
2016-03-08  2:31       ` Tan, Jianfeng
2016-03-08  2:53         ` Yuanhan Liu
2016-02-05 11:20   ` [PATCH v2 3/5] virtio/vdev: add embeded device emulation Jianfeng Tan
2016-02-07 10:47     ` Michael S. Tsirkin
2016-02-08  6:59     ` Tetsuya Mukawa
2016-02-16  2:47       ` Tan, Jianfeng
2016-02-16  2:40     ` Tan, Jianfeng
2016-02-05 11:20   ` [PATCH v2 4/5] virtio/vdev: add a new vdev named eth_cvio Jianfeng Tan
2016-02-05 11:20   ` [PATCH v2 5/5] docs: add release note for virtio for container Jianfeng Tan
2016-03-23 19:17   ` [PATCH v2 0/5] virtio support " Neil Horman
2016-03-24  3:10     ` Tan, Jianfeng
2016-03-24 13:45       ` Neil Horman
2016-03-25  1:25         ` Tan, Jianfeng
2016-03-25 11:06           ` Neil Horman
2016-04-13 16:14   ` Thomas Monjalon
2016-04-14  6:08     ` Tan, Jianfeng
2016-04-21  2:56 ` [PATCH v3 0/2] " Jianfeng Tan
2016-04-21  2:56   ` [PATCH v3 1/2] virtio/vdev: add embeded device emulation Jianfeng Tan
2016-04-21 22:01     ` Yuanhan Liu
2016-04-22 10:12       ` Tan, Jianfeng
2016-04-22 10:17         ` Thomas Monjalon
2016-04-22 17:27         ` Yuanhan Liu
2016-04-21  2:56   ` [PATCH v3 2/2] virtio/vdev: add a new vdev named eth_cvio Jianfeng Tan
2016-04-21  8:51     ` David Marchand
2016-04-22  5:15       ` Tan, Jianfeng
2016-04-22  7:36         ` David Marchand
2016-04-22 10:25           ` Tan, Jianfeng
2016-04-21 10:05     ` Thomas Monjalon
2016-04-22  7:26       ` Tan, Jianfeng
2016-04-22  8:30         ` Thomas Monjalon
2016-04-21 22:14     ` Yuanhan Liu
2016-04-22 10:12       ` Tan, Jianfeng
2016-04-29  1:18 ` [PATCH v4 0/8] virtio support for container Jianfeng Tan
2016-04-29  1:18   ` [PATCH v4 1/8] virtio: hide phys addr check inside pci ops Jianfeng Tan
2016-05-11 23:05     ` Yuanhan Liu
2016-04-29  1:18   ` [PATCH v4 2/8] virtio: abstract vring hdr desc init as a method Jianfeng Tan
2016-04-29  1:18   ` [PATCH v4 3/8] virtio: enable use virtual address to fill desc Jianfeng Tan
2016-04-29  1:18   ` [PATCH v4 4/8] virtio-user: add vhost adapter layer Jianfeng Tan
2016-04-29  1:18   ` [PATCH v4 5/8] virtio-user: add device emulation layer APIs Jianfeng Tan
2016-05-12  1:05     ` Yuanhan Liu
2016-04-29  1:18   ` [PATCH v4 6/8] virtio-user: add new virtual pci driver for virtio Jianfeng Tan
2016-05-12  2:12     ` Yuanhan Liu
2016-05-12  7:08       ` Tan, Jianfeng
2016-05-12 16:40         ` Yuanhan Liu
2016-05-13  1:54           ` Tan, Jianfeng
2016-05-13  4:45             ` Yuanhan Liu
2016-05-16  1:48               ` Tan, Jianfeng
2016-05-16  2:51                 ` Yuanhan Liu
2016-05-12 17:02         ` Michael S. Tsirkin
2016-05-13  2:00           ` Tan, Jianfeng
2016-04-29  1:18   ` [PATCH v4 7/8] virtio-user: add a new virtual device named virtio-user Jianfeng Tan
2016-04-29  1:18   ` [PATCH v4 8/8] doc: update doc for virtio-user Jianfeng Tan
2016-04-29  1:35   ` [PATCH v4 0/8] virtio support for container Tan, Jianfeng
2016-05-30 10:55 ` [PATCH v5 " Jianfeng Tan
2016-05-30 10:55   ` [PATCH v5 1/8] virtio: hide phys addr check inside pci ops Jianfeng Tan
2016-05-30 10:55   ` [PATCH v5 2/8] virtio: clean up virtio_dev_queue_setup Jianfeng Tan
2016-06-01  7:38     ` Yuanhan Liu
2016-06-01  7:44       ` Tan, Jianfeng
2016-06-01  7:58         ` Yuanhan Liu
2016-05-30 10:55   ` [PATCH v5 3/8] virtio: enable use virtual address to fill desc Jianfeng Tan
2016-06-01  8:03     ` Yuanhan Liu
2016-05-30 10:55   ` [PATCH v5 4/8] virtio-user: add vhost adapter layer Jianfeng Tan
2016-05-30 10:55   ` [PATCH v5 5/8] virtio-user: add device emulation layer APIs Jianfeng Tan
2016-05-30 10:55   ` [PATCH v5 6/8] virtio-user: add new virtual pci driver for virtio Jianfeng Tan
2016-06-01  8:21     ` Yuanhan Liu
2016-05-30 10:55   ` [PATCH v5 7/8] virtio-user: add a new vdev named virtio-user Jianfeng Tan
2016-06-01  8:26     ` Yuanhan Liu
2016-06-02  1:27       ` Tan, Jianfeng
2016-05-30 10:55   ` [PATCH v5 8/8] doc: update doc for virtio-user Jianfeng Tan
2016-06-01  8:30     ` Yuanhan Liu
2016-06-02  9:54 ` [PATCH v6 0/7] virtio support for container Jianfeng Tan
2016-06-02  9:54   ` [PATCH v6 1/7] virtio: hide phys addr check inside pci ops Jianfeng Tan
2016-06-02  9:54   ` [PATCH v6 2/7] virtio: clean up virtio_dev_queue_setup Jianfeng Tan
2016-06-02  9:54   ` [PATCH v6 3/7] virtio: enable use virtual address to fill desc Jianfeng Tan
2016-06-02  9:54   ` [PATCH v6 4/7] virtio-user: add vhost adapter layer Jianfeng Tan
2016-06-02  9:54   ` [PATCH v6 5/7] virtio-user: add device emulation layer APIs Jianfeng Tan
2016-06-02  9:54   ` [PATCH v6 6/7] virtio-user: add new virtual pci driver for virtio Jianfeng Tan
2016-06-06  8:01     ` Yuanhan Liu
2016-06-06  8:31       ` Tan, Jianfeng
2016-06-02  9:54   ` [PATCH v6 7/7] virtio-user: add a new vdev named virtio-user Jianfeng Tan
2016-06-12  0:35 ` [PATCH v7 0/6] virtio support for container Jianfeng Tan
2016-06-12  0:35   ` [PATCH v7 1/6] virtio: hide phys addr check inside pci ops Jianfeng Tan
2016-06-12  0:35   ` [PATCH v7 2/6] virtio: enable use virtual address to fill desc Jianfeng Tan
2016-06-12  0:35   ` [PATCH v7 3/6] virtio-user: add vhost adapter layer Jianfeng Tan
2016-06-12  0:35   ` [PATCH v7 4/6] virtio-user: add device emulation layer APIs Jianfeng Tan
2016-06-12  0:35   ` [PATCH v7 5/6] virtio-user: add new virtual pci driver for virtio Jianfeng Tan
2016-06-12  0:35   ` [PATCH v7 6/6] virtio-user: add a new vdev named virtio-user Jianfeng Tan
2016-06-13  6:38 ` [PATCH v8 0/6] virtio support for container Jianfeng Tan
2016-06-13  6:38   ` [PATCH v8 1/6] virtio: hide phys addr check inside pci ops Jianfeng Tan
2016-06-13  6:38   ` [PATCH v8 2/6] virtio: enable use virtual address to fill desc Jianfeng Tan
2016-06-13  6:39   ` [PATCH v8 3/6] virtio-user: add vhost user adapter layer Jianfeng Tan
2016-06-13  6:39   ` [PATCH v8 4/6] virtio-user: add device emulation layer APIs Jianfeng Tan
2016-06-13  6:39   ` [PATCH v8 5/6] virtio-user: add new virtual pci driver for virtio Jianfeng Tan
2016-06-13  6:39   ` [PATCH v8 6/6] virtio-user: add a new vdev named virtio-user Jianfeng Tan
2016-06-14  8:34   ` [PATCH v8 0/6] virtio support for container Yuanhan Liu
2016-06-15  9:03 ` [PATCH v9 " Jianfeng Tan
2016-06-15  9:03   ` [PATCH v9 1/6] virtio: hide phys addr check inside PCI ops Jianfeng Tan
2016-06-15  9:03   ` [PATCH v9 2/6] virtio: enable use virtual address to fill desc Jianfeng Tan
2016-06-15  9:03   ` [PATCH v9 3/6] virtio-user: add vhost user adapter layer Jianfeng Tan
2016-06-23  9:01     ` Ferruh Yigit
2016-06-24  1:18       ` Tan, Jianfeng
2016-06-15  9:03   ` [PATCH v9 4/6] virtio-user: add device emulation layer APIs Jianfeng Tan
2016-06-15  9:03   ` [PATCH v9 5/6] virtio-user: add new virtual PCI driver for virtio Jianfeng Tan
2016-06-15  9:03   ` [PATCH v9 6/6] virtio-user: add a new vdev named virtio-user Jianfeng Tan
2016-06-15  9:54   ` [PATCH v9 0/6] virtio support for container Yuanhan Liu

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=2601191342CEEE43887BDE71AB97725836AC618B@irsmsx105.ger.corp.intel.com \
    --to=konstantin.ananyev@intel.com \
    --cc=ann.zhuangyanying@huawei.com \
    --cc=dev@dpdk.org \
    --cc=gaoxiaoqiu@huawei.com \
    --cc=guohongzhen@huawei.com \
    --cc=jianfeng.tan@intel.com \
    --cc=mst@redhat.com \
    --cc=nakajima.yoshihiro@lab.ntt.co.jp \
    --cc=oscar.zhangbo@huawei.com \
    --cc=zhbzg@huawei.com \
    --cc=zhoujingbin@huawei.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.