[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8e32ab34-c14c-1ccb-76f9-0dcd729a0ef6@zytor.com>
Date: Fri, 29 Mar 2019 13:52:33 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Alexander Potapenko <glider@...gle.com>,
Paul McKenney <paulmck@...ux.ibm.com>
Cc: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Dmitriy Vyukov <dvyukov@...gle.com>,
James Y Knight <jyknight@...gle.com>
Subject: Re: Potentially missing "memory" clobbers in bitops.h for x86
On 3/29/19 8:54 AM, Alexander Potapenko wrote:
>
>> Of course, this would force the compiler to actually compute the
>> offset, which would slow things down. I have no idea whether this
>> would be better or worse than just using the "memory" clobber.
> Just adding the "memory" clobber to clear_bit() changes sizes of 5
> kernel functions (the three mentioned above, plus hub_activate() and
> native_send_call_func_ipi()) by a small margin.
> This probably means the performance impact of this clobber is
> negligible in this case.
I would agree with that.
Could you perhaps verify whether or not any of the above functions
contains a currently manifest bug?
Note: the atomic versions of these functions obviously need to have
"volatile" and the clobber anyway, as they are by definition barriers
and moving memory operations around them would be a very serious error.
-hpa
Powered by blists - more mailing lists