On Jun 06 2019, Christoph Hellwig <h...@infradead.org> wrote:

> On Wed, Jun 05, 2019 at 04:17:35PM -0700, Palmer Dabbelt wrote:
>>      REG_S ra,  TASK_THREAD_RA_RA(a3)
>> +    /*
>> +     * The Linux ABI allows programs to depend on load reservations being
>> +     * broken on context switches, but the ISA doesn't require that the
>> +     * hardware ever breaks a load reservation.  The only way to break a
>> +     * load reservation is with a store conditional, so we emit one here.
>> +     * Since nothing ever takes a load reservation on TASK_THREAD_RA_RA we
>> +     * know this will always fail, but just to be on the safe side this
>> +     * writes the same value that was unconditionally written by the
>> +     * previous instruction.
>> +     */
>> +#if (TASK_THREAD_RA_RA != 0)
>
> I don't think this check works as intended.  TASK_THREAD_RA_RA is a
> parameterized macro,

Is it?  Just because it is used before an open paren doesn't mean that
the macro takes a parameter.

Andreas.

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

Reply via email to