Re: [dpdk-dev] [PATCH v2] rte_ethdev: safer memory access by calling Rx callback

2020-03-05 Thread
> > > > On Thu, Mar 05, 2020 at 01:33:49AM +0800, ZY Qiu wrote: > > > When compiling with -O0, > > > the compiler does not optimize two memory accesses into one. > > > Leads to accessing a null pointer when queue post Rx burst callback > > > removal while traffic is running. > > > See rte_eth_tx_

Re: [dpdk-dev] [PATCH v2] rte_ethdev: safer memory access by calling Rx callback

2020-03-04 Thread
Thank you raising your concerns. I mean, the original wrong code, but using -O3 optimization yielded a correct result. My patch makes the effects of -O3 and -O0 consistent. Unlike other signals that require busy wait, this callback pointer only needs to be read once. So I don't think memory bar

Re: [dpdk-dev] [PATCH] rte_ethdev: fix unsafe memory access by calling RX callback.

2020-03-04 Thread
So in my patch it was changed to only one memory access. 发件人: Stephen Hemminger 发送时间: 2020年3月5日 1:37 收件人: tgw_team(腾讯网关团队) 抄送: Tencent TGW team; Thomas Monjalon; Ferruh Yigit; Andrew Rybchenko; dev@dpdk.org 主题: Re: [dpdk-dev] [PATCH] rte_ethdev: fix unsafe

Re: [dpdk-dev] [PATCH] rte_ethdev: fix unsafe memory access by calling RX callback.(Internet mail)

2020-03-04 Thread
Sorry, I`ll use a real name in patch v2. I don't think this is a TOCTOU question. The original code works fine when compiled with the -O3 option. At this point the compiler will optimize to one memory access. But when compiled with -O0, there will be two memory accesses, which is wrong. This chang

Re: [dpdk-dev] [PATCH] rte_ethdev: fix unsafe memory access by calling RX callback.

2020-03-04 Thread
As a newcomer, I'm sorry for my mistakes. I will try to do better in the future. >On 3/4/20 5:05 PM, Tencent TGW team wrote: >> When compiling with -O0, >> the compiler does not optimize two memory accesses into one. >> Leads to accessing a null pointer when calling the RX callback. >> The way to