From: Bruce Richardson <bruce.richardson@intel.com>
To: Jia He <hejianet@gmail.com>
Cc: jerin.jacob@caviumnetworks.com, dev@dpdk.org,
olivier.matz@6wind.com, konstantin.ananyev@intel.com,
jianbo.liu@arm.com, hemant.agrawal@nxp.com
Subject: Re: [dpdk-dev] [PATCH v4 0/4] fix race condition in enqueue/dequeue because of cpu reorder
Date: Wed, 8 Nov 2017 12:15:51 +0000 [thread overview]
Message-ID: <20171108121550.GA9632@bricha3-MOBL3.ger.corp.intel.com> (raw)
In-Reply-To: <1510134881-22987-1-git-send-email-hejianet@gmail.com>
On Wed, Nov 08, 2017 at 09:54:37AM +0000, Jia He wrote:
> We watched a rte panic of mbuf_autotest in our qualcomm arm64 server
> due to a possible race condition.
>
> To fix this race, there are 2 options as suggested by Jerin: 1. use
> rte_smp_rmb 2. use load_acquire/store_release(refer to [2]).
> CONFIG_RTE_RING_USE_C11_MEM_MODEL is provided, and by default it is
> "y" only on arm64 so far.
>
> The reason why providing 2 options is due to the performance benchmark
> difference in different arm machines.
>
> Already fuctionally tested on the machines as follows: - on X86 - on
> arm64 with CONFIG_RTE_RING_USE_C11_MEM_MODEL=y - on arm64 with
> CONFIG_RTE_RING_USE_C11_MEM_MODEL=n
>
> --- Changelog: V4: split into small patches V3: arch specific
> implementation for enqueue/dequeue barrier V2: let users choose
> whether using load_acquire/store_release V1: rte_smp_rmb() between 2
> loads
>
> Jia He (4): eal/arm64: remove the braces {} for dmb() and dsb() ring:
> guarantee load/load order in enqueue and dequeue ring: introduce new
> header file to include common functions ring: introduce new header
> file to support C11 memory model
>
I'm wondering what the merge plans are for this set, given we are now
past RC3 in 17.11? As the rings are broken on ARM machines we need to
merge in some fix, but I'm a little concerned about the scope of the
changes from the 3rd and 4th patches. Would it be acceptable to just
merge in patches 1 & 2 in 17.11 and leave the rework and C11 memory
model additions in patches 3 & 4 to 18.02 release?
Regards,
/Bruce
next prev parent reply other threads:[~2017-11-08 12:15 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1510118764-29697-1-git-send-email-hejianet@gmail.com>
2017-11-08 9:54 ` Jia He
2017-11-08 9:54 ` [dpdk-dev] [PATCH v4 1/4] eal/arm64: remove the braces {} for dmb() and dsb() Jia He
2017-11-08 9:54 ` [dpdk-dev] [PATCH v4 2/4] ring: guarantee load/load order in enqueue and dequeue Jia He
2017-11-08 9:54 ` [dpdk-dev] [PATCH v4 3/4] ring: introduce new header file to include common functions Jia He
2017-11-08 9:54 ` [dpdk-dev] [PATCH v4 4/4] ring: introduce new header file to support C11 memory model Jia He
2017-11-08 12:15 ` Bruce Richardson [this message]
2017-11-08 15:11 ` [dpdk-dev] [PATCH v4 0/4] fix race condition in enqueue/dequeue because of cpu reorder Jia He
2017-11-08 16:29 ` Jerin Jacob
2017-11-08 18:36 ` Ananyev, Konstantin
[not found] ` <2459a535-920e-9ac5-2f46-1d1dd00e275b@gmail.com>
2017-11-24 9:24 ` Bruce Richardson
2017-11-10 1:51 ` [dpdk-dev] [PATCH v5 0/1] " Jia He
2017-11-10 1:51 ` [dpdk-dev] [PATCH v5 1/1] ring: guarantee load/load order in enqueue and dequeue Jia He
2017-11-10 2:46 ` Jerin Jacob
2017-11-10 3:12 ` Jianbo Liu
2017-11-10 9:59 ` Ananyev, Konstantin
2017-11-10 3:30 ` [dpdk-dev] [PATCH v6] " Jia He
2017-11-10 3:30 ` [dpdk-dev] [PATCH v6] ring: " Jia He
2017-11-12 17:51 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2017-11-10 5:23 ` [dpdk-dev] [PATCH v5 0/3] support c11 memory model barrier in librte_ring Jia He
2017-11-10 5:23 ` [dpdk-dev] [PATCH v5 1/3] eal/arm64: remove the braces {} for dmb() and dsb() Jia He
2017-11-10 5:23 ` [dpdk-dev] [PATCH v5 2/3] ring: introduce new header file to include common functions Jia He
2017-11-10 5:23 ` [dpdk-dev] [PATCH v6 3/3] ring: introduce new header file to support C11 memory model Jia He
2017-11-27 2:00 ` [dpdk-dev] [PATCH V6 0/3] support c11 memory model barrier in librte_ring Jia He
2017-11-27 2:00 ` [dpdk-dev] [PATCH V6 1/3] eal/arm64: remove the braces {} for dmb() and dsb() Jia He
2017-12-03 11:11 ` Jerin Jacob
2017-11-27 2:00 ` [dpdk-dev] [PATCH V6 2/3] ring: introduce new header file to include common functions Jia He
2017-12-03 12:13 ` Jerin Jacob
2017-11-27 2:00 ` [dpdk-dev] [PATCH V6 3/3] ring: introduce new header file to support C11 memory model Jia He
2017-12-03 12:14 ` Jerin Jacob
2017-12-04 1:50 ` [dpdk-dev] [PATCH V7 0/3] support c11 memory model barrier in librte_ring Jia He
2017-12-04 1:50 ` [dpdk-dev] [PATCH V7 1/3] eal/arm64: remove the braces {} for dmb() and dsb() Jia He
2017-12-04 1:50 ` [dpdk-dev] [PATCH V7 2/3] ring: introduce new header file to include common functions Jia He
2018-01-12 17:09 ` Thomas Monjalon
2018-01-16 2:06 ` Jia He
2018-01-16 15:19 ` Olivier Matz
2017-12-04 1:50 ` [dpdk-dev] [PATCH V7 3/3] ring: introduce new header file to support C11 memory model Jia He
2017-12-04 8:05 ` Jianbo Liu
2018-01-12 17:18 ` Thomas Monjalon
2018-01-16 15:18 ` Olivier Matz
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=20171108121550.GA9632@bricha3-MOBL3.ger.corp.intel.com \
--to=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=hejianet@gmail.com \
--cc=hemant.agrawal@nxp.com \
--cc=jerin.jacob@caviumnetworks.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).