[dpdk-dev] [PATCH v2] vhost: flush used->idx update before reading avail->flags

2015-05-15 Thread Michael S. Tsirkin
On Fri, May 15, 2015 at 04:43:33PM +0300, Nikita Kalyazin wrote: > Hi, > > > Maybe I missed a part of the discussion, but is there any special purpose for > using rte_mb (both read and write fence) here rather than rte_wmb (write > fence only)? The fence is between write of used->idx and read

[dpdk-dev] [snabb-devel] Re: memory barriers in virtq.lua?

2015-04-07 Thread Michael S. Tsirkin
On Tue, Apr 07, 2015 at 04:22:42PM +0200, Luke Gorrie wrote: > Hi Michael, > > I'm writing to follow up the previous discussion about memory barriers in > virtio-net device implementations, and Cc'ing the DPDK list because I believe > this is relevant to them too. > > First, thanks again for gett

Re: [dpdk-dev] [libvirt] [RFC] Vhost-user backends cross-version migration support

2017-02-01 Thread Michael S. Tsirkin
On Wed, Feb 01, 2017 at 11:41:19AM +, Daniel P. Berrange wrote: > On Wed, Feb 01, 2017 at 12:33:22PM +0100, Maxime Coquelin wrote: > > > > > > On 02/01/2017 10:43 AM, Daniel P. Berrange wrote: > > > On Wed, Feb 01, 2017 at 10:14:54AM +0100, Michal Privoznik wrote: > > > > On 02/01/2017 09:35

Re: [dpdk-dev] [libvirt] [RFC] Vhost-user backends cross-version migration support

2017-02-02 Thread Michael S. Tsirkin
On Thu, Feb 02, 2017 at 03:06:21PM +, Daniel P. Berrange wrote: > On Thu, Feb 02, 2017 at 03:14:01PM +0100, Maxime Coquelin wrote: > > > > > > On 02/01/2017 12:41 PM, Daniel P. Berrange wrote: > > > > > > It depends where / how in OVS it needs to be set. The only stuff libvirt > > > does wit

Re: [dpdk-dev] [libvirt] [RFC] Vhost-user backends cross-version migration support

2017-02-02 Thread Michael S. Tsirkin
On Thu, Feb 02, 2017 at 11:47:57AM -0500, Laine Stump wrote: > On 02/02/2017 10:06 AM, Daniel P. Berrange wrote: > > On Thu, Feb 02, 2017 at 03:14:01PM +0100, Maxime Coquelin wrote: > > > > > > On 02/01/2017 12:41 PM, Daniel P. Berrange wrote: > > > > It depends where / how in OVS it needs to be s

Re: [dpdk-dev] [libvirt] [RFC] Vhost-user backends cross-version migration support

2017-02-02 Thread Michael S. Tsirkin
On Thu, Feb 02, 2017 at 05:10:28PM +, Daniel P. Berrange wrote: > On Thu, Feb 02, 2017 at 06:21:55PM +0200, Michael S. Tsirkin wrote: > > On Thu, Feb 02, 2017 at 03:06:21PM +, Daniel P. Berrange wrote: > > > On Thu, Feb 02, 2017 at 03:14:01PM +0100, Max

Re: [dpdk-dev] [libvirt] [RFC] Vhost-user backends cross-version migration support

2017-02-02 Thread Michael S. Tsirkin
On Thu, Feb 02, 2017 at 05:29:08PM +, Daniel P. Berrange wrote: > On Thu, Feb 02, 2017 at 07:20:35PM +0200, Michael S. Tsirkin wrote: > > On Thu, Feb 02, 2017 at 05:10:28PM +, Daniel P. Berrange wrote: > > > On Thu, Feb 02, 2017 at 06:21:55PM +0200, Michael S. Tsirkin wro

Re: [dpdk-dev] [libvirt] [RFC] Vhost-user backends cross-version migration support

2017-02-02 Thread Michael S. Tsirkin
On Thu, Feb 02, 2017 at 06:21:55PM +, Daniel P. Berrange wrote: > On Thu, Feb 02, 2017 at 07:31:49PM +0200, Michael S. Tsirkin wrote: > > On Thu, Feb 02, 2017 at 05:29:08PM +, Daniel P. Berrange wrote: > > > On Thu, Feb 02, 2017 at 07:20:35PM +0200, Michael S. Tsirkin wro

Re: [dpdk-dev] [RFC] Vhost-user backends cross-version migration support

2017-02-03 Thread Michael S. Tsirkin
On Fri, Feb 03, 2017 at 03:11:10PM +0100, Maxime Coquelin wrote: > Hi, > > On 02/01/2017 09:35 AM, Maxime Coquelin wrote: > > Hi, > > > > Few months ago, Michael reported a problem about migrating VMs relying > > on vhost-user between hosts supporting different backend versions: > > - Message-I

Re: [dpdk-dev] [RFC] Vhost-user backends cross-version migration support

2017-02-03 Thread Michael S. Tsirkin
On Fri, Feb 03, 2017 at 03:54:52PM +, Daniel P. Berrange wrote: > On Fri, Feb 03, 2017 at 05:34:07PM +0200, Michael S. Tsirkin wrote: > > On Fri, Feb 03, 2017 at 03:11:10PM +0100, Maxime Coquelin wrote: > > > Hi, > > > > > > On 02/01/2017 09:35 A

Re: [dpdk-dev] vhost user MTU and promisc mode

2017-02-07 Thread Michael S. Tsirkin
On Tue, Feb 07, 2017 at 04:27:16PM +, Tan, Jianfeng wrote: > > > > -Original Message- > > From: Maxime Coquelin [mailto:maxime.coque...@redhat.com] > > Sent: Monday, February 6, 2017 6:20 PM > > To: Tan, Jianfeng > > Cc: m...@redhat.com; Liu, Yuanhan; dev@dpdk.org > > Subject: Re: vho

[dpdk-dev] [Qemu-devel] [PATCH 1/2] vhost: enable any layout feature

2016-09-30 Thread Michael S. Tsirkin
On Fri, Sep 30, 2016 at 02:05:10PM +0200, Maxime Coquelin wrote: > > > On 09/29/2016 11:23 PM, Maxime Coquelin wrote: > > > > > > On 09/29/2016 10:21 PM, Michael S. Tsirkin wrote: > > > On Thu, Sep 29, 2016 at 10:05:22PM +0200, Maxime Coquelin wrote: > &

Re: [dpdk-dev] [PATCH v4 00/17] Wind River Systems AVP PMD vs virtio? - ivshmem is back

2017-03-17 Thread Michael S. Tsirkin
On Fri, Mar 17, 2017 at 09:48:38AM +0100, Thomas Monjalon wrote: > I think there is one interesting technological point in this thread. > We are discussing about IVSHMEM but its support by Qemu is confused. > This feature is not in the MAINTAINERS file of Qemu. > Please Qemu maintainers, what is th

[dpdk-dev] [PATCH 2/2] virtio: support IOMMU platform

2016-09-02 Thread Michael S. Tsirkin
On Fri, Sep 02, 2016 at 03:04:56PM +0200, Thomas Monjalon wrote: > 2016-09-02 14:37, Jason Wang: > > Virtio pmd doesn't support VFIO in the past since devices bypass IOMMU > > completely. But recently, the work of making virtio device work with > > IOMMU is near to complete. > > Good news! > What

[dpdk-dev] [PATCH v3] vhost: Add indirect descriptors support to the TX path

2016-09-23 Thread Michael S. Tsirkin
On Fri, Sep 23, 2016 at 10:28:23AM +0200, Maxime Coquelin wrote: > Indirect descriptors are usually supported by virtio-net devices, > allowing to dispatch a larger number of requests. > > When the virtio device sends a packet using indirect descriptors, > only one slot is used in the ring, even f

[dpdk-dev] [PATCH v3] vhost: Add indirect descriptors support to the TX path

2016-09-23 Thread Michael S. Tsirkin
On Fri, Sep 23, 2016 at 08:02:27PM +0200, Maxime Coquelin wrote: > > > On 09/23/2016 05:49 PM, Michael S. Tsirkin wrote: > > On Fri, Sep 23, 2016 at 10:28:23AM +0200, Maxime Coquelin wrote: > > > Indirect descriptors are usually supported by virtio-net devices, >

[dpdk-dev] [PATCH v3] vhost: Add indirect descriptors support to the TX path

2016-09-23 Thread Michael S. Tsirkin
On Fri, Sep 23, 2016 at 08:16:09PM +0200, Maxime Coquelin wrote: > > > On 09/23/2016 08:06 PM, Michael S. Tsirkin wrote: > > On Fri, Sep 23, 2016 at 08:02:27PM +0200, Maxime Coquelin wrote: > > > > > > > > > On 09/23/2016 05:49 PM, Michael S. Tsirkin

[dpdk-dev] [PATCH v2] vhost: Add indirect descriptors support to the TX path

2016-09-23 Thread Michael S. Tsirkin
On Fri, Sep 23, 2016 at 11:24:16AM -0700, Stephen Hemminger wrote: > On Fri, 23 Sep 2016 09:16:49 +0200 > Maxime Coquelin wrote: > > > Indirect descriptors are usually supported by virtio-net devices, > > allowing to dispatch a larger number of requests. > > > > When the virtio device sends a pa

[dpdk-dev] [PATCH v2] vhost: Add indirect descriptors support to the TX path

2016-09-25 Thread Michael S. Tsirkin
On Fri, Sep 23, 2016 at 01:28:05PM -0700, Stephen Hemminger wrote: > On Fri, 23 Sep 2016 21:31:27 +0300 > "Michael S. Tsirkin" wrote: > > > On Fri, Sep 23, 2016 at 11:24:16AM -0700, Stephen Hemminger wrote: > > > On Fri, 23 Sep 2016 09:16:49

[dpdk-dev] [PATCH v2] vhost: Add indirect descriptors support to the TX path

2016-09-25 Thread Michael S. Tsirkin
On Sat, Sep 24, 2016 at 06:50:07PM -0700, Stephen Hemminger wrote: > On Sun, 25 Sep 2016 04:02:28 +0300 > "Michael S. Tsirkin" wrote: > > > I see. It's implied by VERSION_1 in fact. > > In other words if VERSION_1 is negotiated then bit 27 > > isn't

[dpdk-dev] [PATCH v3] vhost: Add indirect descriptors support to the TX path

2016-09-26 Thread Michael S. Tsirkin
On Mon, Sep 26, 2016 at 11:03:54AM +0800, Yuanhan Liu wrote: > On Fri, Sep 23, 2016 at 01:24:14PM -0700, Stephen Hemminger wrote: > > On Fri, 23 Sep 2016 21:22:23 +0300 > > "Michael S. Tsirkin" wrote: > > > > > On Fri, Sep 23, 2016 at

[dpdk-dev] [PATCH 1/2] vhost: enable any layout feature

2016-09-26 Thread Michael S. Tsirkin
On Mon, Sep 26, 2016 at 11:01:58AM -0700, Stephen Hemminger wrote: > I assume that if using Version 1 that the bit will be ignored > Therein lies a problem. If dpdk tweaks flags, updating it will break guest migration. One way is to require that users specify all flags fully when creating the vi

[dpdk-dev] [PATCH 1/2] vhost: enable any layout feature

2016-09-27 Thread Michael S. Tsirkin
On Tue, Sep 27, 2016 at 11:11:58AM +0800, Yuanhan Liu wrote: > On Mon, Sep 26, 2016 at 10:24:55PM +0300, Michael S. Tsirkin wrote: > > On Mon, Sep 26, 2016 at 11:01:58AM -0700, Stephen Hemminger wrote: > > > I assume that if using Version 1 that the bit will be ignored > &

[dpdk-dev] [Qemu-devel] [PATCH 1/2] vhost: enable any layout feature

2016-09-29 Thread Michael S. Tsirkin
On Thu, Sep 29, 2016 at 05:30:53PM +0200, Maxime Coquelin wrote: > > > On 09/28/2016 04:28 AM, Yuanhan Liu wrote: > > On Tue, Sep 27, 2016 at 10:56:40PM +0300, Michael S. Tsirkin wrote: > > > On Tue, Sep 27, 2016 at 11:11:58AM +0800, Yuanhan Liu wrote: > > > >

[dpdk-dev] [PATCH 2/2] net/virtio: enable any layout feature

2016-09-29 Thread Michael S. Tsirkin
On Mon, Sep 26, 2016 at 02:40:56PM +0800, Yuanhan Liu wrote: > The feature VIRTIO_F_ANY_LAYOUT was actually supported by commit > dd856dfcb9e7 ("virtio: use any layout on Tx"). But it's not enabled. > Here this patch enables it. > > Signed-off-by: Yuanhan Liu Well this will break cross-version m

[dpdk-dev] [PATCH 2/2] net/virtio: enable any layout feature

2016-09-29 Thread Michael S. Tsirkin
On Thu, Sep 29, 2016 at 09:00:47PM +0300, Michael S. Tsirkin wrote: > On Mon, Sep 26, 2016 at 02:40:56PM +0800, Yuanhan Liu wrote: > > The feature VIRTIO_F_ANY_LAYOUT was actually supported by commit > > dd856dfcb9e7 ("virtio: use any layout on Tx"). But it's no

[dpdk-dev] [Qemu-devel] [PATCH 1/2] vhost: enable any layout feature

2016-09-29 Thread Michael S. Tsirkin
On Thu, Sep 29, 2016 at 10:05:22PM +0200, Maxime Coquelin wrote: > > > On 09/29/2016 07:57 PM, Michael S. Tsirkin wrote: > > On Thu, Sep 29, 2016 at 05:30:53PM +0200, Maxime Coquelin wrote: > ... > > > > > > Before enabling anything by default, we should

Re: [dpdk-dev] [PATCH 2/3] net/virtio: clean up LSC setting

2017-04-26 Thread Michael S. Tsirkin
On Wed, Apr 26, 2017 at 05:44:05AM +, Tan, Jianfeng wrote: > > > > -Original Message- > > From: Yuanhan Liu [mailto:yuanhan@linux.intel.com] > > Sent: Wednesday, April 26, 2017 1:33 PM > > To: Tan, Jianfeng > > Cc: dev@dpdk.org; maxime.coque...@redhat.com; tho...@monjalon.net > >

[dpdk-dev] [PATCH 3/4] vhost: log vring changes

2015-12-02 Thread Michael S. Tsirkin
On Wed, Dec 02, 2015 at 05:58:24PM +0200, Victor Kaplansky wrote: > On Wed, Dec 02, 2015 at 10:38:02PM +0800, Yuanhan Liu wrote: > > On Wed, Dec 02, 2015 at 04:07:02PM +0200, Victor Kaplansky wrote: > > > On Wed, Dec 02, 2015 at 11:43:12AM +0800, Yuanhan Liu wrote: > > > > Invoking vhost_log_write(

[dpdk-dev] [PATCH] vfio: Include No-IOMMU mode

2015-12-02 Thread Michael S. Tsirkin
On Wed, Dec 02, 2015 at 05:19:18PM +0100, Thomas Monjalon wrote: > Hi, > > 2015-12-02 08:28, Alex Williamson: > > On Mon, 2015-11-16 at 19:12 +0200, Avi Kivity wrote: > > > On 11/16/2015 07:06 PM, Alex Williamson wrote: > > > > FYI, this is now in v4.4-rc1 (the slightly modified v2 version). I wa

[dpdk-dev] [PATCH 1/4] vhost: handle VHOST_USER_SET_LOG_BASE request

2015-12-02 Thread Michael S. Tsirkin
On Wed, Dec 02, 2015 at 06:58:03PM +0200, Panu Matilainen wrote: > On 12/02/2015 05:09 PM, Yuanhan Liu wrote: > >On Wed, Dec 02, 2015 at 04:48:14PM +0200, Panu Matilainen wrote: > >... > >diff --git a/lib/librte_vhost/rte_virtio_net.h > >b/lib/librte_vhost/rte_virtio_net.h > >index 568

Re: [dpdk-dev] vhost: batch used descriptors chains write-back with packed ring

2018-12-05 Thread Michael S. Tsirkin
On Wed, Dec 05, 2018 at 07:01:23PM +0300, Ilya Maximets wrote: > On 28.11.2018 12:47, Maxime Coquelin wrote: > > Instead of writing back descriptors chains in order, let's > > write the first chain flags last in order to improve batching. > > I'm not sure if this fully compliant with virtio spec.

Re: [dpdk-dev] [1/5] vhost: enforce avail index and desc read ordering

2018-12-06 Thread Michael S. Tsirkin
On Thu, Dec 06, 2018 at 12:17:38PM +0800, Jason Wang wrote: > > On 2018/12/5 下午7:30, Ilya Maximets wrote: > > On 05.12.2018 12:49, Maxime Coquelin wrote: > > > A read barrier is required to ensure the ordering between > > > available index and the descriptor reads is enforced. > > > > > > Fixes:

Re: [dpdk-dev] [1/5] vhost: enforce avail index and desc read ordering

2018-12-07 Thread Michael S. Tsirkin
On Fri, Dec 07, 2018 at 05:58:24PM +0300, Ilya Maximets wrote: > On 06.12.2018 16:48, Michael S. Tsirkin wrote: > > On Thu, Dec 06, 2018 at 12:17:38PM +0800, Jason Wang wrote: > >> > >> On 2018/12/5 下午7:30, Ilya Maximets wrote: > >>> On 05.12.2018 12:4

Re: [dpdk-dev] [PATCH] vhost: batch used descriptors chains write-back with packed ring

2018-12-12 Thread Michael S. Tsirkin
On Wed, Dec 12, 2018 at 05:34:31PM +0100, Maxime Coquelin wrote: > Hi Ilya, > > On 12/12/18 4:23 PM, Ilya Maximets wrote: > > On 12.12.2018 11:24, Maxime Coquelin wrote: > > > Instead of writing back descriptors chains in order, let's > > > write the first chain flags last in order to improve batc

Re: [dpdk-dev] [RFC] net/virtio: use real barriers for vDPA

2018-12-14 Thread Michael S. Tsirkin
On Fri, Dec 14, 2018 at 03:37:04PM +0300, Ilya Maximets wrote: > SMP barriers are OK for software vhost implementation, but vDPA is a > DMA capable hardware and we have to use at least DMA barriers to > ensure the memory ordering. > > This patch mimics the kernel virtio-net driver in part of choos

Re: [dpdk-dev] [RFC] net/virtio: use real barriers for vDPA

2018-12-14 Thread Michael S. Tsirkin
On Fri, Dec 14, 2018 at 05:03:43PM +0300, Ilya Maximets wrote: > On 14.12.2018 15:58, Michael S. Tsirkin wrote: > > On Fri, Dec 14, 2018 at 03:37:04PM +0300, Ilya Maximets wrote: > >> SMP barriers are OK for software vhost implementation, but vDPA is a > >> DMA capable

Re: [dpdk-dev] [PATCH] net/virtio: add platform memory ordering feature support

2018-12-14 Thread Michael S. Tsirkin
On Fri, Dec 14, 2018 at 06:38:12PM +0300, Ilya Maximets wrote: > VIRTIO_F_ORDER_PLATFORM is required to use proper memory barriers > in case of HW vhost implementations like vDPA. > > DMA barriers (rte_cio_*) are sufficent for that purpose. > > Previously known as VIRTIO_F_IO_BARRIER. > > Signed

Re: [dpdk-dev] [PATCH v2 1/4] vhost: enforce avail index and desc read ordering

2018-12-19 Thread Michael S. Tsirkin
> Fixes: 4796ad63ba1f ("examples/vhost: import userspace vhost application") > Cc: sta...@dpdk.org > > Reported-by: Jason Wang > Signed-off-by: Maxime Coquelin > Acked-by: Ilya Maximets Acked-by: Michael S. Tsirkin BTW Ilya do you see a performance degradation from RMB

Re: [dpdk-dev] [PATCH v2 4/4] vhost: remove useless prefetch for packed ring descriptor

2018-12-19 Thread Michael S. Tsirkin
On Wed, Dec 19, 2018 at 09:21:13AM +0100, Maxime Coquelin wrote: > This prefetch does not show any performance improvement. > > Signed-off-by: Maxime Coquelin Likely because of the RMB. Try prefetching the *next* descriptor maybe? > --- > lib/librte_vhost/virtio_net.c | 2 -- > 1 file changed,

Re: [dpdk-dev] [PATCH v2 0/4] vhost: add missing barriers, move prefetching

2018-12-19 Thread Michael S. Tsirkin
ast part of the series fixes that. > > With the series applied, I get between 0 and 4% gain depending > on the benchmark (testpmd txonly/rxonly/io). > > Thanks to Jason for reporting the missing read barriers. Acked-by: Michael S. Tsirkin But I wonder what effect this has on ARM wher

Re: [dpdk-dev] [PATCH] vhost: batch used descriptors chains write-back with packed ring

2018-12-19 Thread Michael S. Tsirkin
On Wed, Dec 19, 2018 at 10:16:24AM +0100, Maxime Coquelin wrote: > > > On 12/12/18 7:53 PM, Michael S. Tsirkin wrote: > > On Wed, Dec 12, 2018 at 05:34:31PM +0100, Maxime Coquelin wrote: > > > Hi Ilya, > > > > > > On 12/12/18 4:23 PM, Ilya Maximets

Re: [dpdk-dev] [PATCH v2] vhost: batch used descs chains write-back with packed ring

2018-12-19 Thread Michael S. Tsirkin
gned-off-by: Maxime Coquelin Acked-by: Michael S. Tsirkin > --- > > V2: > Revert back to initial implementation to have a write > barrier before every descs flags store, but still > store first desc flags last. (Missing barrier reported > by Ilya) > > > lib/li

Re: [dpdk-dev] [PATCH v2] vhost: batch used descs chains write-back with packed ring

2018-12-20 Thread Michael S. Tsirkin
On Thu, Dec 20, 2018 at 12:44:46PM +0800, Tiwei Bie wrote: > On Wed, Dec 19, 2018 at 10:29:52AM +0100, Maxime Coquelin wrote: > > Instead of writing back descriptors chains in order, let's > > write the first chain flags last in order to improve batching. > > > > With Kernel's pktgen benchmark, ~3

Re: [dpdk-dev] [PATCH v3] vhost: batch used descs chains write-back with packed ring

2018-12-20 Thread Michael S. Tsirkin
On Thu, Dec 20, 2018 at 11:00:22AM +0100, Maxime Coquelin wrote: > Instead of writing back descriptors chains in order, let's > write the first chain flags last in order to improve batching. > > With Kernel's pktgen benchmark, ~3% performance gain is measured. > > Signed-off-by: Maxime Coquelin

Re: [dpdk-dev] [PATCH v4] vhost: batch used descs chains write-back with packed ring

2018-12-20 Thread Michael S. Tsirkin
n logging is enabled. It means there is now > one more barrier for split ring when logging is enabled. > > With Kernel's pktgen benchmark, ~3% performance gain is measured. > > Signed-off-by: Maxime Coquelin Acked-by: Michael S. Tsirkin > --- > lib/librte_

Re: [dpdk-dev] [PATCH v3 0/3] Missing barriers and VIRTIO_F_ORDER_PLATFORM.

2019-01-09 Thread Michael S. Tsirkin
On Wed, Jan 09, 2019 at 05:50:12PM +0300, Ilya Maximets wrote: > Version 3: > * Added 2 patches with fixes for current virtio driver. > Not directly connected with the new feature. New version shouldn't be reply-to old one really :). But the patches are good I think. Acked

Re: [dpdk-dev] [PATCH v2] net/virtio: add platform memory ordering feature support

2019-01-09 Thread Michael S. Tsirkin
On Wed, Jan 09, 2019 at 05:34:38PM +0300, Ilya Maximets wrote: > virtio_mb() is really heavy. I'd like to avoid it somehow, but I don't > know how to do this yet. Linux driver doesn't avoid it either. -- MST

Re: [dpdk-dev] [PATCH v3 2/3] net/virtio: update memory ordering comment for vq notify

2019-01-10 Thread Michael S. Tsirkin
; >>> From: dev On Behalf Of Ilya Maximets > >>> Sent: Wednesday, January 9, 2019 10:50 PM > >>> To: dev@dpdk.org; Maxime Coquelin ; > >>> Michael S . Tsirkin ; Xiao Wang > >>> > >>> Cc: Tiwei Bie ; Zhihong Wang > >>> ; j

Re: [dpdk-dev] [PATCH] vhost: fix notification for packed ring

2018-10-11 Thread Michael S. Tsirkin
goto out; > > + } > > flags = VRING_EVENT_F_ENABLE; > > if (dev->features & (1ULL << VIRTIO_RING_F_EVENT_IDX)) { > > @@ -677,6 +679,7 @@ vhost_enable_notify_packed(struct virtio_net *dev, > > vq->avail_wrap_coun

Re: [dpdk-dev] [PATCH] vhost: improve dirty pages logging performance

2018-05-04 Thread Michael S. Tsirkin
ing on the CPU. If not it's pretty easy to something along the lines of #if BIT_PER_LONG == 64 > [0]: > https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html#g_t_005f_005fatomic-Builtins > > > 2. Less atomic operations as during a burst, the same page will > >

Re: [dpdk-dev] [PATCH] vhost: improve dirty pages logging performance

2018-05-06 Thread Michael S. Tsirkin
On Mon, May 07, 2018 at 11:49:49AM +0800, Tiwei Bie wrote: > On Fri, May 04, 2018 at 05:48:05PM +0200, Maxime Coquelin wrote: > > Hi Tiwei, > > > > On 05/03/2018 01:56 PM, Tiwei Bie wrote: > > > On Mon, Apr 30, 2018 at 05:59:54PM +0200, Maxime Coquelin wrote: > [...] > > > > +static __rte_always_i

Re: [dpdk-dev] [PATCH v3] vhost: improve dirty pages logging performance

2018-05-16 Thread Michael S. Tsirkin
ation > per 32 or 64 (depending on CPU) pages. > 2. Less atomic operations as during a burst, the same page will > be marked dirty only once. > 3. Less write memory barriers. > > Fixes: 897f13a1f726 ("vhost: make page logging atomic") > > Cc: sta...@dpdk.org > &

Re: [dpdk-dev] [PATCH v2] net/virtio: add platform memory ordering feature support

2019-02-12 Thread Michael S. Tsirkin
> > Thursday, January 10, 2019 10:37 PM, Shahaf Shuler: > > >> Subject: RE: [dpdk-dev] [PATCH v2] net/virtio: add platform memory > > >> ordering feature support > > >> > > >> Wednesday, January 9, 2019 5:50 PM, Michael S. Tsirkin: > > >

[dpdk-dev] vhost: virtio-net rx-ring stop work after work many hours, bug?

2015-01-27 Thread Michael S. Tsirkin
On Tue, Jan 27, 2015 at 03:57:13PM +0800, Linhaifeng wrote: > Hi,all > > I use vhost-user to send data to VM at first it cant work well but after many > hours VM can not receive data but can send data. > > (gdb)p avail_idx > $4 = 2668 > (gdb)p free_entries > $5 = 0 > (gdb)l > /* check th

Re: [dpdk-dev] Fwd: [PATCH v3 2/2] eal/x86: Use lock-prefixed instructions to reduce cost of rte_smp_mb()

2018-01-15 Thread Michael S. Tsirkin
ion is large. The following seems to work better: +static __rte_always_inline void +rte_smp_mb(void) +{ +#ifdef RTE_ARCH_I686 + asm volatile("lock addl $0, -132(%%esp); " ::: "memory"); +#else + asm volatile("lock addl $0, -132(%%rsp); " ::: "memory"); +#endif +} + The reason most likely is that 128 still overlaps the x86 red zone by 4 bytes. Feel free to reuse, and add Signed-off-by: Michael S. Tsirkin > -- > 2.13.6

Re: [dpdk-dev] [RFC 24/24] WORKAROUND examples/vhost_scsi: avoid broken EVENT_IDX

2018-01-19 Thread Michael S. Tsirkin
On Fri, Jan 19, 2018 at 01:44:44PM +, Stefan Hajnoczi wrote: > The EVENT_IDX code in DPDK is broken. It's missing the > signalled_used_valid flag that handles the corner cases (startup and > wrapping). Disable it for now. > > Signed-off-by: Stefan Hajnoczi FYI signalled_used_valid isn't st

Re: [dpdk-dev] [PATCH v3 17/19] vhost-user: iommu: postpone device creation until ring are mapped

2017-11-03 Thread Michael S. Tsirkin
On Fri, Nov 03, 2017 at 09:25:58AM +0100, Maxime Coquelin wrote: > > > On 11/02/2017 05:02 PM, Maxime Coquelin wrote: > > > > > > On 11/02/2017 09:21 AM, Maxime Coquelin wrote: > > > Hi Lei, > > > > > > On 11/02/2017 08:21 AM, Yao, Lei A wrote: > > > > > > > ... > > > > Hi, Maxime > I met one

Re: [dpdk-dev] [Questions] about the VHOST_MEMORY_MAX_NREGIONS of vhost-user backend?

2017-11-24 Thread Michael S. Tsirkin
with a valid fd field set. This would > be set when the '-object memory-file' option with share=on property is > used. > > Signed-off-by: Antonios Motakis > Signed-off-by: Nikolay Nikolaev > Reviewed-by: Michael S. Tsirkin > Signed-off-by: Michael S. Tsirkin > > > Thanks, > -Gonglei >

Re: [dpdk-dev] Fwd: [PATCH v3 2/2] eal/x86: Use lock-prefixed instructions to reduce cost of rte_smp_mb()

2018-01-29 Thread Michael S. Tsirkin
In my testing this appears to be suboptimal when the calling > > function is large. The following seems to work better: > > > > +static __rte_always_inline void > > +rte_smp_mb(void) > > +{ > > +#ifdef RTE_ARCH_I686 > > + asm volatile("lock addl $0, -132(%%esp); " ::: "memory"); > > +#else > > + asm volatile("lock addl $0, -132(%%rsp); " ::: "memory"); > > +#endif > > +} > > + > > > > The reason most likely is that 128 still overlaps the x86 > > red zone by 4 bytes. > > I tried what you suggested but for my cases didn't see any improvement so far. > Can you explain a bit more why do you expect it to be faster? > Probably some particular scenario? > Konstantin It would depend on how much of a redzone is in use. If the last 4 bytes of the red zone get used, you will see a bit more stalls when trying to run the xor command. You will need to call it from a function with lots of scratch/temporary variables for that to be the case. > > > > Feel free to reuse, and add > > Signed-off-by: Michael S. Tsirkin > > > > > > > -- > > > 2.13.6

[dpdk-dev] virtio ring layout changes for optimal single-stream performance

2016-01-21 Thread Michael S. Tsirkin
Hi all! I have been experimenting with alternative virtio ring layouts, in order to speed up single stream performance. I have just posted a benchmark I wrote for the purpose, and a (partial) alternative layout implementation. This achieves 20-40% reduction in virtio overhead in the (default) pol

[dpdk-dev] virtio ring layout changes for optimal single-stream performance

2016-01-21 Thread Michael S. Tsirkin
On Thu, Jan 21, 2016 at 04:38:36PM +0100, Cornelia Huck wrote: > On Thu, 21 Jan 2016 15:39:26 +0200 > "Michael S. Tsirkin" wrote: > > > Hi all! > > I have been experimenting with alternative virtio ring layouts, > > in order to speed up single stream perfo

[dpdk-dev] [PATCH 4/6] vhost: workaround stale vring base

2016-06-13 Thread Michael S. Tsirkin
On Mon, May 09, 2016 at 11:22:04AM -0700, Yuanhan Liu wrote: > On Mon, May 09, 2016 at 04:25:38PM +, Xie, Huawei wrote: > > On 5/7/2016 2:36 PM, Yuanhan Liu wrote: > > > However, Michael claims some concerns: he made a good point: a crash > > > is happening means some memory is corrupted, and i

[dpdk-dev] Having troubles binding an SR-IOV VF to uio_pci_generic on Amazon instance

2015-10-02 Thread Michael S. Tsirkin
On Thu, Oct 01, 2015 at 02:17:49PM -0700, Alexander Duyck wrote: > On 10/01/2015 02:42 AM, Michael S. Tsirkin wrote: > >On Thu, Oct 01, 2015 at 12:22:46PM +0300, Avi Kivity wrote: > >>even when they are some users > >>prefer to avoid the performance penalty. > >I

[dpdk-dev] Having troubles binding an SR-IOV VF to uio_pci_generic on Amazon instance

2015-10-02 Thread Michael S. Tsirkin
On Thu, Oct 01, 2015 at 02:02:24PM -0700, Alexander Duyck wrote: > validation and translation would add 10s if not 100s of nanoseconds to the > time needed to process each packet. In addition we are talking about doing > this in kernel space which means we wouldn't really be able to take > advanta

[dpdk-dev] Having troubles binding an SR-IOV VF to uio_pci_generic on Amazon instance

2015-10-04 Thread Michael S. Tsirkin
On Fri, Oct 02, 2015 at 03:07:24PM +0100, Bruce Richardson wrote: > On Fri, Oct 02, 2015 at 05:00:14PM +0300, Michael S. Tsirkin wrote: > > On Thu, Oct 01, 2015 at 02:02:24PM -0700, Alexander Duyck wrote: > > > validation and translation would add 10s if not 100s of nanoseconds

[dpdk-dev] Unlinking hugepage backing file after initialiation

2015-10-05 Thread Michael S. Tsirkin
On Mon, Oct 05, 2015 at 01:08:52PM +, Xie, Huawei wrote: > On 9/30/2015 5:36 AM, Michael S. Tsirkin wrote: > > On Tue, Sep 29, 2015 at 05:50:00PM +, shesha Sreenivasamurthy (shesha) > > wrote: > >> Sure. Then, is there any real reason why the backing files sho

[dpdk-dev] [PATCH 2/2] uio: new driver to support PCI MSI-X

2015-10-06 Thread Michael S. Tsirkin
On Thu, Oct 01, 2015 at 11:33:06AM +0300, Michael S. Tsirkin wrote: > Just forwarding events is not enough to make a valid driver. > What is missing is a way to access the device in a safe way. Thinking about it some more, maybe some devices don't do DMA, and merely signal events wit

[dpdk-dev] [PATCH 2/2] uio: new driver to support PCI MSI-X

2015-10-06 Thread Michael S. Tsirkin
On Tue, Oct 06, 2015 at 01:09:55AM +0300, Vladislav Zolotarov wrote: > How about instead of trying to invent the wheel just go and attack the problem > directly just like i've proposed already a few times in the last days: instead > of limiting the UIO limit the users that are allowed to use UIO to

[dpdk-dev] [PATCH 2/2] uio: new driver to support PCI MSI-X

2015-10-06 Thread Michael S. Tsirkin
On Tue, Oct 06, 2015 at 08:33:56AM +0100, Stephen Hemminger wrote: > Other than implementation objections, so far the two main arguments > against this reduce to: > 1. If you allow UIO ioctl then it opens an API hook for all the crap out > of tree UIO drivers to do what they want. > 2. If

[dpdk-dev] [PATCH 2/2] uio: new driver to support PCI MSI-X

2015-10-06 Thread Michael S. Tsirkin
On Tue, Oct 06, 2015 at 11:23:11AM +0300, Vlad Zolotarov wrote: > Michael, how this or any other related patch is related to the problem u r > describing? > The above ability is there for years and if memory serves me > well it was u who wrote uio_pci_generic with this "security flaw". ;) I answe

[dpdk-dev] [PATCH 2/2] uio: new driver to support PCI MSI-X

2015-10-06 Thread Michael S. Tsirkin
On Tue, Oct 06, 2015 at 03:15:57PM +0300, Avi Kivity wrote: > btw, (2) doesn't really add any insecurity. The user could already poke at > the msix tables (as well as perform DMA); they just couldn't get a useful > interrupt out of them. Poking at msix tables won't cause memory corruption unless

[dpdk-dev] [PATCH 2/2] uio: new driver to support PCI MSI-X

2015-10-06 Thread Michael S. Tsirkin
On Tue, Oct 06, 2015 at 05:49:21PM +0300, Vlad Zolotarov wrote: > >and read/write the config space. > >This means that a single userspace bug is enough to corrupt kernel > >memory. > > Could u, pls., provide and example of this simple bug? Because it's > absolutely not obvious... Stick a value th

[dpdk-dev] dpdk/vhost-user and VM migration

2015-10-14 Thread Michael S. Tsirkin
Hello! I am currently looking at how using dpdk on host, accessing VM memory using the vhost-user interface, interacts with VM migration. The issue is that any changes made to VM memory need to be tracked so that updates can be sent from migration source to destination. At the moment, there's a p

[dpdk-dev] [PATCH] vhost-user: enable virtio 1.0

2015-10-15 Thread Michael S. Tsirkin
On Thu, Oct 15, 2015 at 02:08:39PM +0300, Marcel Apfelbaum wrote: > Make vhost-user virtio 1.0 compatible by adding it to the > supported features and keeping the header length > the same as for mergeable RX buffers. > > Signed-off-by: Marcel Apfelbaum Looks good to me Acke

[dpdk-dev] [PATCH] vhost-user: enable virtio 1.0

2015-10-16 Thread Michael S. Tsirkin
On Fri, Oct 16, 2015 at 10:24:38AM +0800, Yuanhan Liu wrote: > On Thu, Oct 15, 2015 at 04:18:59PM +0300, Michael S. Tsirkin wrote: > > On Thu, Oct 15, 2015 at 02:08:39PM +0300, Marcel Apfelbaum wrote: > > > Make vhost-user virtio 1.0 compatible by adding it to the > >

[dpdk-dev] [PATCH] vhost-user: enable virtio 1.0

2015-10-16 Thread Michael S. Tsirkin
On Fri, Oct 16, 2015 at 09:43:09AM +0200, Andriy Berestovskyy wrote: > Hi guys, > Just a minor note: ARM is bi-endian in fact. For instance, there are > both endians tool chains available on Linaro. > > Andriy Yea. BE support is around for legacy stuff. So I'm not sure it's all that important to

[dpdk-dev] [PATCH] vhost-user: enable virtio 1.0

2015-10-18 Thread Michael S. Tsirkin
On Fri, Oct 16, 2015 at 02:52:30PM +0100, Bruce Richardson wrote: > On Thu, Oct 15, 2015 at 04:18:59PM +0300, Michael S. Tsirkin wrote: > > On Thu, Oct 15, 2015 at 02:08:39PM +0300, Marcel Apfelbaum wrote: > > > Make vhost-user virtio 1.0 compatible by adding it to the > >

[dpdk-dev] [PATCH v7 4/8] vhost: rxtx: use queue id instead of constant ring index

2015-10-21 Thread Michael S. Tsirkin
On Wed, Oct 21, 2015 at 11:48:10AM +0800, Yuanhan Liu wrote: > From: Changchun Ouyang > > Do not use VIRTIO_RXQ or VIRTIO_TXQ anymore; use the queue_id > instead, which will be set to a proper value for a specific queue > when we have multiple queue support enabled. > > For now, queue_id is stil

[dpdk-dev] [PATCH v7 4/8] vhost: rxtx: use queue id instead of constant ring index

2015-10-21 Thread Michael S. Tsirkin
On Wed, Oct 21, 2015 at 08:48:15PM +0800, Yuanhan Liu wrote: > > Please note that for virtio devices, guest is supposed to > > control the placement of incoming packets in RX queues. > > I may not follow you. > > Enqueuing packets to a RX queue is done at vhost lib, outside the > guest, how could

[dpdk-dev] [PATCH v7 4/8] vhost: rxtx: use queue id instead of constant ring index

2015-10-22 Thread Michael S. Tsirkin
On Thu, Oct 22, 2015 at 05:49:55PM +0800, Yuanhan Liu wrote: > On Wed, Oct 21, 2015 at 05:26:18PM +0300, Michael S. Tsirkin wrote: > > On Wed, Oct 21, 2015 at 08:48:15PM +0800, Yuanhan Liu wrote: > > > > Please note that for virtio devices, guest is supposed to > > &

[dpdk-dev] [PATCH v7 4/8] vhost: rxtx: use queue id instead of constant ring index

2015-10-22 Thread Michael S. Tsirkin
On Thu, Oct 22, 2015 at 10:07:10PM +0800, Yuanhan Liu wrote: > On Thu, Oct 22, 2015 at 02:32:31PM +0300, Michael S. Tsirkin wrote: > > On Thu, Oct 22, 2015 at 05:49:55PM +0800, Yuanhan Liu wrote: > > > On Wed, Oct 21, 2015 at 05:26:18PM +0300, Michael S. Tsirkin wrote: > >

[dpdk-dev] [PATCH v7 4/8] vhost: rxtx: use queue id instead of constant ring index

2015-10-24 Thread Michael S. Tsirkin
On Sat, Oct 24, 2015 at 12:34:08AM -0200, Flavio Leitner wrote: > On Thu, Oct 22, 2015 at 02:32:31PM +0300, Michael S. Tsirkin wrote: > > On Thu, Oct 22, 2015 at 05:49:55PM +0800, Yuanhan Liu wrote: > > > On Wed, Oct 21, 2015 at 05:26:18PM +0300, Michael S. Tsirkin wrote: >

[dpdk-dev] [PATCH v8 3/8] vhost: vring queue setup for multiple queue support

2015-10-27 Thread Michael S. Tsirkin
On Tue, Oct 27, 2015 at 03:20:40PM +0900, Tetsuya Mukawa wrote: > On 2015/10/26 14:42, Yuanhan Liu wrote: > > On Mon, Oct 26, 2015 at 02:24:08PM +0900, Tetsuya Mukawa wrote: > >> On 2015/10/22 21:35, Yuanhan Liu wrote: > > ... > >>> @@ -292,13 +300,13 @@ user_get_vring_base(struct vhost_device_ctx

[dpdk-dev] [PATCH v8 3/8] vhost: vring queue setup for multiple queue support

2015-10-27 Thread Michael S. Tsirkin
On Tue, Oct 27, 2015 at 05:30:41PM +0800, Yuanhan Liu wrote: > On Tue, Oct 27, 2015 at 11:17:16AM +0200, Michael S. Tsirkin wrote: > > On Tue, Oct 27, 2015 at 03:20:40PM +0900, Tetsuya Mukawa wrote: > > > On 2015/10/26 14:42, Yuanhan Liu wrote: > > > > On Mon, Oc

[dpdk-dev] [PATCH v8 3/8] vhost: vring queue setup for multiple queue support

2015-10-27 Thread Michael S. Tsirkin
On Tue, Oct 27, 2015 at 10:51:14AM +0100, Thomas Monjalon wrote: > 2015-10-27 11:42, Michael S. Tsirkin: > > On Tue, Oct 27, 2015 at 05:30:41PM +0800, Yuanhan Liu wrote: > > > On Tue, Oct 27, 2015 at 11:17:16AM +0200, Michael S. Tsirkin wrote: > > > > Looking at tha

[dpdk-dev] [PATCH v7 4/8] vhost: rxtx: use queue id instead of constant ring index

2015-10-28 Thread Michael S. Tsirkin
On Wed, Oct 28, 2015 at 06:30:41PM -0200, Flavio Leitner wrote: > On Sat, Oct 24, 2015 at 08:47:10PM +0300, Michael S. Tsirkin wrote: > > On Sat, Oct 24, 2015 at 12:34:08AM -0200, Flavio Leitner wrote: > > > On Thu, Oct 22, 2015 at 02:32:31PM +0300, Michael S. Tsirkin wrote: >

[dpdk-dev] virtio optimization idea

2015-09-09 Thread Michael S. Tsirkin
| ... | 127 || 0 | 1 | ... | 127 | desc ring > for tx dat > > +-+-+-+--+--+--+--+ > > This one came out corrupted. > > /huawei Please Cc virtio related discussion mor

[dpdk-dev] virtio optimization idea

2015-09-10 Thread Michael S. Tsirkin
On Thu, Sep 10, 2015 at 06:32:35AM +, Xie, Huawei wrote: > On 9/9/2015 3:34 PM, Michael S. Tsirkin wrote: > > On Fri, Sep 04, 2015 at 08:25:05AM +, Xie, Huawei wrote: > >> Hi: > >> > >> Recently I have done one virtio optimization proof of concept. The

[dpdk-dev] [PATCH v5 resend 07/12] virtio: resolve for control queue

2015-09-20 Thread Michael S. Tsirkin
On Fri, Sep 18, 2015 at 11:10:56PM +0800, Yuanhan Liu wrote: > From: Changchun Ouyang > > Fix the max virtio queue pair read issue. > > Control queue can't work for vhost-user mulitple queue mode, > so introduce a counter to void the dead loop when polling > the control queue. > > Signed-off-by

[dpdk-dev] [PATCH v5 resend 04/12] vhost: rxtx: prepare work for multiple queue support

2015-09-20 Thread Michael S. Tsirkin
On Fri, Sep 18, 2015 at 11:10:53PM +0800, Yuanhan Liu wrote: > From: Changchun Ouyang > > Do not use VIRTIO_RXQ or VIRTIO_TXQ anymore; use the queue_id, > instead, which will be set to a proper value for a specific queue > when we have multiple queue support enabled. > > For now, queue_id is sti

[dpdk-dev] [PATCH v5 resend 05/12] vhost: add VHOST_USER_SET_VRING_ENABLE message

2015-09-20 Thread Michael S. Tsirkin
On Fri, Sep 18, 2015 at 11:10:54PM +0800, Yuanhan Liu wrote: > From: Changchun Ouyang > > This message is used to enable/disable a specific vring queue pair. > The first queue pair is enabled by default. > > Signed-off-by: Changchun Ouyang > Signed-off-by: Yuanhan Liu > --- > lib/librte_vhost

[dpdk-dev] [PATCH v5 resend 05/12] vhost: add VHOST_USER_SET_VRING_ENABLE message

2015-09-21 Thread Michael S. Tsirkin
On Mon, Sep 21, 2015 at 10:22:52AM +0800, Yuanhan Liu wrote: > On Sun, Sep 20, 2015 at 12:37:35PM +0300, Michael S. Tsirkin wrote: > > On Fri, Sep 18, 2015 at 11:10:54PM +0800, Yuanhan Liu wrote: > > > From: Changchun Ouyang > > > > > > This message is use

[dpdk-dev] [PATCH v5 resend 04/12] vhost: rxtx: prepare work for multiple queue support

2015-09-21 Thread Michael S. Tsirkin
On Mon, Sep 21, 2015 at 10:25:18AM +0800, Yuanhan Liu wrote: > On Sun, Sep 20, 2015 at 12:29:17PM +0300, Michael S. Tsirkin wrote: > > On Fri, Sep 18, 2015 at 11:10:53PM +0800, Yuanhan Liu wrote: > > > From: Changchun Ouyang > > > > > > Do not use VIRTI

[dpdk-dev] [PATCH v5 resend 03/12] vhost: vring queue setup for multiple queue support

2015-09-21 Thread Michael S. Tsirkin
On Sun, Sep 20, 2015 at 04:58:42PM +0300, Marcel Apfelbaum wrote: > On 09/18/2015 06:10 PM, Yuanhan Liu wrote: > >All queue pairs, including the default (the first) queue pair, > >are allocated dynamically, when a vring_call message is received > >first time for a specific queue pair. > > > >This i

[dpdk-dev] [PATCH 1/3] vhost: pre update used ring for Tx and Rx

2016-06-01 Thread Michael S. Tsirkin
the performance a bit. > > > > Pre update would be feasible as guest driver will not start processing > > those entries as far as we don't update "used->idx". (I'm not 100% > > certain I don't miss anything, though). > > > > Cc: Michael S

[dpdk-dev] [PATCH] vhost-user: enable virtio 1.0

2015-11-09 Thread Michael S. Tsirkin
On Fri, Oct 30, 2015 at 06:48:09PM +0100, Thomas Monjalon wrote: > 2015-10-18 10:04, Michael S. Tsirkin: > > On Fri, Oct 16, 2015 at 02:52:30PM +0100, Bruce Richardson wrote: > > > On Thu, Oct 15, 2015 at 04:18:59PM +0300, Michael S. Tsirkin wrote: > > > > On Thu, Oc

[dpdk-dev] [PATCH v7 4/8] vhost: rxtx: use queue id instead of constant ring index

2015-11-17 Thread Michael S. Tsirkin
On Mon, Nov 16, 2015 at 02:20:57PM -0800, Flavio Leitner wrote: > On Wed, Oct 28, 2015 at 11:12:25PM +0200, Michael S. Tsirkin wrote: > > On Wed, Oct 28, 2015 at 06:30:41PM -0200, Flavio Leitner wrote: > > > On Sat, Oct 24, 2015 at 08:47:10PM +0300, Michael S. Tsirkin wrote: >

[dpdk-dev] [PATCH 2/2] uio: new driver to support PCI MSI-X

2015-10-01 Thread Michael S. Tsirkin
On Wed, Sep 30, 2015 at 03:28:58PM -0700, Stephen Hemminger wrote: > This driver allows using PCI device with Message Signalled Interrupt > from userspace. The API is similar to the igb_uio driver used by the DPDK. > Via ioctl it provides a mechanism to map MSI-X interrupts into event > file descri

[dpdk-dev] [PATCH 0/2] uio_msi: device driver

2015-10-01 Thread Michael S. Tsirkin
On Wed, Sep 30, 2015 at 03:28:56PM -0700, Stephen Hemminger wrote: > This is a new UIO device driver to allow supporting MSI-X and MSI devices > in userspace. It has been used in environments like VMware and older versions > of QEMU/KVM where no IOMMU support is available. > > Stephen Hemminger (

  1   2   >