Hi, > -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Linzhe Lee > Sent: Saturday, September 3, 2016 3:05 AM > To: Stephen Hemminger <stephen at networkplumber.org> > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH] mbuf: fix atomic refcnt update synchronization > > yes,stephen. > > my config file here: http://pastebin.com/N0RKGArh > > 2016-09-03 0:51 GMT+08:00 Stephen Hemminger <stephen at networkplumber.org>: > > On Sat, 3 Sep 2016 00:31:50 +0800 > > Linzhe Lee <slayercat.subscription at gmail.com> wrote: > > > >> Thanks for reply, Stephen. > >> > >> > >> > >> I'm in x86-64, my cpu is `Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz`. > >> > >> > >> > >> When allocation mbuf in program1, and transfer it to program2 for > >> free via ring, the program1 might meet assert in allocate mbuf sometimes. > >> (`RTE_ASSERT(rte_mbuf_refcnt_read(m) == 0);`)
If you believe there is a problem inside rte_mbuf code, please provide a test program to reproduce the issue. So far, I personally don't see any issue in the rte_mbuf code. Konstantin > >> > >> > >> > >> but when I using gdb to check it, the refcnt field of mbuf is already > >> zero. so I believe the problem came from the cache line problem or > >> incorrect optimization. > >> > >> > >> > >> When apply this patch, the problem seems solved. I'm submitting it > >> for your comments. > > > > Are you sure you have REFCNT_ATOMIC set?