Re: [PATCH v3 2/4] membarrier: Create Documentation/scheduler/membarrier.rst

From: Randy Dunlap
Date: Wed Jan 10 2024 - 14:08:45 EST




On 1/10/24 11:05, Andrea Parri wrote:
> Hi Randy,
>
>>> +MEMBARRIER_CMD_{PRIVATE,GLOBAL}_EXPEDITED - Architecture requirements
>>> +=====================================================================
>>> +
>>> +Memory barriers before updating rq->curr
>>> +----------------------------------------
>>> +
>>> +The command requires each architecture to have a full memory barrier after
>>> +coming from user-space, before updating rq->curr. This barrier is implied
>>> +by the sequence rq_lock(); smp_mb__after_spinlock() in __schedule(). The
>>> +barrier matches a full barrier in the proximity of the membarrier system
>>> +call exit, cf. membarrier_{private,global}_expedited().
>>> +
>>
>> What does "The command" refer to above and below, please?
>
> The term was meant to refer to any of MEMBARRIER_CMD_PRIVATE_EXPEDITED and
> MEMBARRIER_CMD_GLOBAL_EXPEDITED (from the section title); FWIW, this seems
> to align with the terminology adopted in MEMBARRIER(2) for example.

I see.

> Mmh, unless I get a better idea, I'll expand those occurrences to:
>
> "The commands MEMBARRIER_CMD_PRIVATE_EXPEDITED and MEMBARRIER_CMD_GLOBAL_EXPEDIDED
> require [...]"
_EXPEDITED

OK, that's better IMO. Thanks.

--
#Randy