All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ilya Maximets <i.maximets@samsung.com>
To: "Xie, Huawei" <huawei.xie@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	Yuanhan Liu <yuanhan.liu@linux.intel.com>
Cc: Dyasly Sergey <s.dyasly@samsung.com>,
	Jerin Jacob <jerin.jacob@caviumnetworks.com>,
	Jianbo Liu <jianbo.liu@linaro.org>,
	Thomas Monjalon <thomas.monjalon@6wind.com>,
	Tetsuya Mukawa <mukawa@igel.co.jp>
Subject: Re: [PATCH RFC v3 1/3] vhost: use SMP barriers instead of compiler ones.
Date: Fri, 18 Mar 2016 13:39:13 +0300	[thread overview]
Message-ID: <56EBDAD1.1090608@samsung.com> (raw)
In-Reply-To: <C37D651A908B024F974696C65296B57B4C677D03@SHSMSX101.ccr.corp.intel.com>



On 18.03.2016 13:27, Xie, Huawei wrote:
> On 3/18/2016 6:23 PM, Ilya Maximets wrote:
>> On 18.03.2016 13:08, Xie, Huawei wrote:
>>> On 2/24/2016 7:47 PM, Ilya Maximets wrote:
>>>>  		 * Wait until it's our turn to add our buffer
>>>> @@ -979,7 +979,7 @@ rte_vhost_dequeue_burst(struct virtio_net *dev, uint16_t queue_id,
>>>>  		entry_success++;
>>>>  	}
>>>>  
>>>> -	rte_compiler_barrier();
>>>> +	rte_smp_rmb();
>>> smp_rmb()?
>> There is no such function 'smp_rmb' in DPDK.
>> But:
>> .../arch/arm/rte_atomic.h:#define rte_smp_rmb() rte_rmb()
>> .../arch/ppc_64/rte_atomic.h:#define rte_smp_rmb() rte_compiler_barrier()
>> .../arch/tile/rte_atomic.h:#define rte_smp_rmb() rte_compiler_barrier()
>> .../arch/x86/rte_atomic.h:#define rte_smp_rmb() rte_compiler_barrier()
> 
> I mean shoudn't be rte_smp_wmb()?

No. Here we need to be sure that copying of data from descriptor to
our local mbuf completed before 'vq->used->idx += entry_success;'.

Read memory barrier will help us with it.

In other places write barriers used because copying performed in
opposite direction.

> 
>>
>>>>  	vq->used->idx += entry_success;
>>>>  	vhost_log_used_vring(dev, vq, offsetof(struct vring_used, idx),
>>>>  			sizeof(vq->used->idx));
>>>> -- 2.5.0
>>>
>>>
> 
> 
> 

  reply	other threads:[~2016-03-18 10:39 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-24 11:47 [PATCH RFC v3 0/3] Thread safe rte_vhost_enqueue_burst() Ilya Maximets
2016-02-24 11:47 ` [PATCH RFC v3 1/3] vhost: use SMP barriers instead of compiler ones Ilya Maximets
2016-03-18 10:08   ` Xie, Huawei
2016-03-18 10:23     ` Ilya Maximets
2016-03-18 10:27       ` Xie, Huawei
2016-03-18 10:39         ` Ilya Maximets [this message]
2016-03-18 10:47           ` Xie, Huawei
2016-03-18 11:00             ` Ilya Maximets
     [not found]               ` <C37D651A908B024F974696C65296B57B4C67825C@SHSMSX101.ccr.corp.intel.com>
     [not found]                 ` <56EBE9AE.9070400@samsung.com>
     [not found]                   ` <56EBF256.8040409@samsung.com>
2016-03-18 12:28                     ` Ilya Maximets
2016-03-18 12:23   ` [PATCH v4] " Ilya Maximets
2016-03-18 12:41     ` Yuanhan Liu
2016-03-21  4:49       ` Ilya Maximets
2016-03-21 14:07         ` Ananyev, Konstantin
2016-03-21 17:25           ` Xie, Huawei
2016-03-21 17:36             ` Ananyev, Konstantin
2016-03-23 14:07     ` Xie, Huawei
2016-03-31 13:46       ` Thomas Monjalon
2016-02-24 11:47 ` [PATCH RFC v3 2/3] vhost: make buf vector for scatter RX local Ilya Maximets
2016-02-24 11:47 ` [PATCH RFC v3 3/3] vhost: avoid reordering of used->idx and last_used_idx updating Ilya Maximets
2016-03-17 15:29 ` [PATCH RFC v3 0/3] Thread safe rte_vhost_enqueue_burst() Thomas Monjalon
2016-03-18  8:00   ` Yuanhan Liu
2016-03-18  8:09     ` Thomas Monjalon
2016-03-18  9:16       ` Yuanhan Liu
2016-03-18  9:34         ` Thomas Monjalon
2016-03-18  9:46           ` Yuanhan Liu
2016-03-18  9:55             ` Ilya Maximets
2016-03-18 10:10               ` Xie, Huawei
2016-03-18 10:24                 ` Thomas Monjalon

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=56EBDAD1.1090608@samsung.com \
    --to=i.maximets@samsung.com \
    --cc=dev@dpdk.org \
    --cc=huawei.xie@intel.com \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=jianbo.liu@linaro.org \
    --cc=mukawa@igel.co.jp \
    --cc=s.dyasly@samsung.com \
    --cc=thomas.monjalon@6wind.com \
    --cc=yuanhan.liu@linux.intel.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.