All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jia He <hejianet@gmail.com>
To: Jianbo Liu <jianbo.liu@arm.com>
Cc: Bruce Richardson <bruce.richardson@intel.com>,
	jerin.jacob@caviumnetworks.com, dev@dpdk.org,
	olivier.matz@6wind.com, konstantin.ananyev@intel.com,
	hemant.agrawal@nxp.com, jia.he@hxt-semitech.com
Subject: Re: [PATCH 1/3] eal/arm64: remove the braces {} for dmb(), dsb()
Date: Thu, 9 Nov 2017 12:43:20 +0800	[thread overview]
Message-ID: <d80a8cc6-60d9-98d7-b60f-529d85aa7962@gmail.com> (raw)
In-Reply-To: <20171109032145.GA26939@arm.com>

Hi Jianbo


On 11/9/2017 11:21 AM, Jianbo Liu Wrote:
> The 11/09/2017 11:14, Jia He wrote:
>>
>> On 11/9/2017 9:22 AM, Jia He Wrote:
>>> Hi Bruce
>>>
>>>
>>> On 11/8/2017 6:28 PM, Bruce Richardson Wrote:
>>>> On Wed, Nov 08, 2017 at 06:17:10AM +0000, Jia He wrote:
>>>>> for the code as follows:
>>>>> if (condition)
>>>>>      rte_smp_rmb();
>>>>> else
>>>>>      rte_smp_wmb();
>>>>> Without this patch, compiler will report this error:
>>>>> error: 'else' without a previous 'if'
>>>>>
>>>>> Signed-off-by: Jia He <hejianet@gmail.com>
>>>>> Signed-off-by: jia.he@hxt-semitech.com
>>>>> ---
>>>>>    lib/librte_eal/common/include/arch/arm/rte_atomic_64.h | 4 ++--
>>>>>    1 file changed, 2 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git
>>>>> a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
>>>>> b/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
>>>>> index 0b70d62..38c3393 100644
>>>>> --- a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
>>>>> +++ b/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
>>>>> @@ -43,8 +43,8 @@ extern "C" {
>>>>>      #include "generic/rte_atomic.h"
>>>>>    -#define dsb(opt)  { asm volatile("dsb " #opt : : : "memory"); }
>>>>> -#define dmb(opt)  { asm volatile("dmb " #opt : : : "memory"); }
>>>>> +#define dsb(opt) asm volatile("dsb " #opt : : : "memory");
>>>>> +#define dmb(opt) asm volatile("dmb " #opt : : : "memory");
>>>> Need to remove the trailing ";" I too I think.
>>>> Alternatively, to keep the braces, the standard practice is to use
>>>> do { ... } while(0)
>>> If trailing ";" is not removed
>>> the code:
>>> if (condition)
>>>      rte_smp_rmb();
>>> else
>>>      anything();
>>>
> Sorry, why not use two different functions as your conditions passed in
> are fixed in the calling functions.
Do you mean to split update_tail() into update_tail_enqueue() and 
update_tail_dequeue()?
Cheers,
Jia

  reply	other threads:[~2017-11-09  4:45 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-08  6:17 [PATCH 1/3] eal/arm64: remove the braces {} for dmb(), dsb() Jia He
2017-11-08  6:17 ` [PATCH 2/3] ring: guarantee load ordering of cons/prod when doing enqueue/dequeue Jia He
2017-11-08  7:27   ` Jerin Jacob
2017-11-08  9:49   ` Ananyev, Konstantin
2017-11-08  6:17 ` [PATCH 3/3] config: support C11 memory model for arm64 Jia He
2017-11-08  7:17 ` [PATCH 1/3] eal/arm64: remove the braces {} for dmb(), dsb() Jerin Jacob
2017-11-08 10:28 ` Bruce Richardson
2017-11-09  1:22   ` Jia He
2017-11-09  3:14     ` Jia He
2017-11-09  3:21       ` Jianbo Liu
2017-11-09  4:43         ` Jia He [this message]
2017-11-09  4:56           ` Jianbo Liu
2017-11-09  9:38             ` Ananyev, Konstantin
2017-11-09  9:58               ` Jianbo Liu
2017-11-09 10:08                 ` Ananyev, Konstantin
2017-11-10  2:06               ` Jia He
2017-11-10  3:09                 ` Jianbo Liu
2017-11-10 10:06                 ` Ananyev, Konstantin

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=d80a8cc6-60d9-98d7-b60f-529d85aa7962@gmail.com \
    --to=hejianet@gmail.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=hemant.agrawal@nxp.com \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=jia.he@hxt-semitech.com \
    --cc=jianbo.liu@arm.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=olivier.matz@6wind.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.