[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5835ed19887d4b5fae93c54c1704fa2b@realtek.com>
Date: Tue, 18 Jun 2024 03:40:34 +0000
From: Justin Lai <justinlai0215@...ltek.com>
To: Jakub Kicinski <kuba@...nel.org>
CC: "davem@...emloft.net" <davem@...emloft.net>,
"edumazet@...gle.com"
<edumazet@...gle.com>,
"pabeni@...hat.com" <pabeni@...hat.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"andrew@...n.ch"
<andrew@...n.ch>,
"jiri@...nulli.us" <jiri@...nulli.us>,
"horms@...nel.org"
<horms@...nel.org>,
"rkannoth@...vell.com" <rkannoth@...vell.com>,
"Ping-Ke
Shih" <pkshih@...ltek.com>,
Larry Chiu <larry.chiu@...ltek.com>
Subject: RE: [PATCH net-next v20 07/13] rtase: Implement a function to receive packets
> On Mon, 17 Jun 2024 06:44:55 +0000 Justin Lai wrote:
> > > > + /* make sure discriptor has been updated */
> > > > + rmb();
> > >
> > > Barriers are between things. What is this barrier between?
> >
> > At the end of this do while loop, it fetches the next descriptor. This
> > barrier is mainly used between fetching the next descriptor and using
> > the next descriptor, to ensure that the content of the next descriptor
> > is completely fetched before using it.
>
> What does it mean to "fetch the next descriptor"? The prefetch?
> Prefetches are not ordered at all.
Let me explain again, at the end of the do while loop in rx_handler, we
have changed the address pointed by desc to the next descriptor.
Therefore, the main purpose of this barrier is to ensure that both desc
and cur_rx have been updated to the next entry.
Powered by blists - more mailing lists