[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <EF3F87BF-2AA1-4F96-A2A0-EA8A9D6FC8F7@inria.fr>
Date: Thu, 4 Mar 2021 16:44:34 +0100
From: maranget <luc.maranget@...ia.fr>
To: Alan Stern <stern@...land.harvard.edu>
Cc: "Paul E. McKenney" <paulmck@...nel.org>,
Björn Töpel <bjorn.topel@...il.com>,
bpf <bpf@...r.kernel.org>, LKML <linux-kernel@...r.kernel.org>,
Andrea Parri <parri.andrea@...il.com>,
Will Deacon <will@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Boqun Feng <boqun.feng@...il.com>,
Nicholas Piggin <npiggin@...il.com>,
David Howells <dhowells@...hat.com>,
"Alglave, Jade" <j.alglave@....ac.uk>,
Akira Yokosawa <akiyks@...il.com>,
Daniel Lustig <dlustig@...dia.com>, joel@...lfernandes.org,
Toke Høiland-Jørgensen <toke@...hat.com>,
"Karlsson, Magnus" <magnus.karlsson@...el.com>
Subject: Re: XDP socket rings, and LKMM litmus tests
> On 3 Mar 2021, at 21:22, Alan Stern <stern@...land.harvard.edu> wrote:
>
>>>
>>> Local variables absolutely should be treated just like CPU registers, if
>>> possible. In fact, the compiler has the option of keeping local
>>> variables stored in registers.
>>>
>>> (Of course, things may get complicated if anyone writes a litmus test
>>> that uses a pointer to a local variable, Especially if the pointer
>>> could hold the address of a local variable in one execution and a
>>> shared variable in another! Or if the pointer is itself a shared
>>> variable and is dereferenced in another thread!)
>>
>> Good point! I did miss this complication. ;-)
>
> I suspect it wouldn't be so bad if herd7 disallowed taking addresses of
> local variables.
>
>
Herd7 does disallow taking addresses of local variables.
However, such tests can still be run on machine, provided function bodies are accepted by the C compiler.
—Luc
Powered by blists - more mailing lists