Re: Request for clarification on Alpha reordering

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 04, 2021 at 12:56:25PM +0900, Akira Yokosawa wrote:
> On Sun, 3 Jan 2021 16:32:07 -0800, Paul E. McKenney wrote:
> > On Sun, Jan 03, 2021 at 10:24:29AM -0800, Paul E. McKenney wrote:
> >> On Sun, Jan 03, 2021 at 01:12:40PM +0900, Akira Yokosawa wrote:
> [...]
> >>>
> >>> Hi Paul,
> >>>
> >>> Off topic, but smp_read_barrier_depends() as a kernel API
> >>> has been removed since Linux v5.9 [1].
> >>> Now READ_ONCE() for Alpha uses mb() [2].
> >>>
> >>> You might want to reflect these changes in perfbook before the
> >>> release of the Second Edition.
> >>>
> >>> [1]: merge commit https://git.kernel.org/linus/145ff1ec090d
> >>>     ("Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux")
> >>> [2]: commit https://git.kernel.org/linus/d64628588515
> >>>     ("alpha: Override READ_ONCE() with barriered implementation")
> >>
> >> Good catch, thank you!  We will of course need to retain mention of
> >> smp_read_barrier_depends() given that people will be using pre-v4.15
> >> (to say nothing of pre-v5.9) kernels for some time, but the main code
> >> does need to reflect the current state of the Linux kernel.
> >>
> >> Perhaps in the third edition we should drop any and all references
> >> to DEC Alpha.  It is no longer in any way special, at least from the
> >> perspective of core kernel code.  ;-)
> >>
> >> I suppose that the counter-argument is that non-Linux-kernel code might
> >> still need to pay attention, so maybe DEC Alpha needs to stay until such
> >> time as C/C++ handle address and data dependencies.  Worth some thought.
> > 
> > In the meantime, how about like this?
> Looks reasonable to me.
> There is a footnote which now looks redundant.
> Please find a patch below (on top your change) to remove it.
> 
> With my patch (or similar) applied,
> 
> Reviewed-by: Akira Yokosawa <akiyks@xxxxxxxxx>

Applied and pushed both, thank you!

							Thanx, Paul

>         Thanks, Akira
> 
> > 
> > 							Thanx, Paul
> [...]
> 
> ------------------------------------------------------------------------
> 
> commit 7069136668105b6d4fd2d0c2ea4951d83f2c5424
> Author: Akira Yokosawa <akiyks@xxxxxxxxx>
> Date:   Mon Jan 4 12:25:22 2021 +0900
> 
>     memorder: Remove redundant footnote
>     
>     Now that it becomes contextually obvious that this paragraph is
>     talking on the pre-v4.15 READ_ONCE() of Alpha, the footnote can be
>     removed.
>     
>     Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx>
> 
> diff --git a/memorder/memorder.tex b/memorder/memorder.tex
> index 28c54967..a907025e 100644
> --- a/memorder/memorder.tex
> +++ b/memorder/memorder.tex
> @@ -3940,10 +3940,7 @@ This \co{smp_wmb()} on \clnref{wmb} of this listing
>  guarantees that the element initialization
>  in \clnrefrange{init:b}{init:e} is executed before the element is added to the
>  list on \clnref{add}, so that the lock-free search will work correctly.
> -That is, it makes this guarantee on all CPUs {\em except} Alpha.\footnote{
> -	But Linux kernel versions v4.15 and later cause \co{READ_ONCE()}
> -	to emit a memory barrier on Alpha, so this discussion applies
> -	only to older versions of the Linux kernel.}
> +That is, it makes this guarantee on all CPUs {\em except} Alpha.
>  \end{fcvref}
>  
>  \begin{listing}[tbp]
> 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux