Re: [PATCH v2] Documentation/barriers/kokr: Remove references to [smp_]read_barrier_depends()

From: Paul E. McKenney
Date: Fri Dec 06 2019 - 17:09:13 EST


On Fri, Dec 06, 2019 at 10:29:50PM +0100, SeongJae Park wrote:
> On Fri, Dec 6, 2019 at 9:44 PM Paul E. McKenney <paulmck@xxxxxxxxxx> wrote:
> >
> > On Fri, Dec 06, 2019 at 06:20:51PM +0100, SeongJae Park wrote:
> > > Hello Paul and Will,
> > >
> > > On Fri, Nov 29, 2019 at 7:09 PM SeongJae Park <sj38.park@xxxxxxxxx> wrote:
> > > >
> > > > Paul, thank you for waiting long. I got reviewed by another Korean
> > > > hacker, Yunjae.
> > > >
> > > > Changes from v1 (https://lore.kernel.org/lkml/20191121193209.15687-1-sj38.park@xxxxxxxxx/)
> > > > - Get a review from Yunjae
> > > > - Minor wordsmith based on the review comment
> > > > - Rebased on git://git.lwn.net/linux.git tags/docs-5.5
> > > > - Update author's email address
> > >
> > > May I ask your comments?
> >
> > I thought that Jon Corbet had already queued these. Did I miss some?
>
> This patch has not queued by Jon, indeed. I haven't CC-ed neither Jon, nor
> linux-doc for the 1st version of this patch because this is a followup of
> Will's patch[1] and the Will's patch also have not CC-ed them.
>
> I sent another patchset[2] for documents simultaneously but CC-ed Jon and
> linux-doc for the patch, because the patchset is a followup of the commits
> which already merged in Torvalds's tree. The patchset has queued by both of
> you and then you agreed to merge it by Jon's tree. I guess I made the
> confusion in this way. Sorry for making such confusion. Anyway, this patch
> is not queued in any tree, AFIK.

Not a problem at all!

But since Jon seems to be taking these in his capacity and Documentation
maintainer, could you please resend CCing him? If we have these changes
scattered across too many trees, someone is going to get confused,
and it probably will be me. ;-)

Thanx, Paul

> Thanks,
> SeongJae Park
>
>
> [1] https://lore.kernel.org/lkml/20191108170120.22331-10-will@xxxxxxxxxx/
> [2] https://lore.kernel.org/linux-doc/20191121234125.28032-1-sj38.park@xxxxxxxxx/
>
> >
> > Thanx, Paul
> >
> > > Thanks,
> > > SeongJae Park
> > >
> > > >
> > > > --------------------------------- >8 -----------------------------------------
> > > >
> > > > This commit translates commit 8088616d4ca6 ("Documentation/barriers:
> > > > Remove references to [smp_]read_barrier_depends()") of Will's tree[1]
> > > > into Korean.
> > > >
> > > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git/commit/Documentation/memory-barriers.txt?h=lto&id=8088616d4ca61cd6b770225f30fec66c6f6767fb
> > > >
> > > > Signed-off-by: SeongJae Park <sjpark@xxxxxxxxx>
> > > > Reviewed-by: Yunjae Lee <lyj7694@xxxxxxxxx>
> > > >
> > > > ---
> > > > .../translations/ko_KR/memory-barriers.txt | 146 +-----------------
> > > > 1 file changed, 3 insertions(+), 143 deletions(-)
> > > >
> > > > diff --git a/Documentation/translations/ko_KR/memory-barriers.txt b/Documentation/translations/ko_KR/memory-barriers.txt
> > > > index f07c40a068b5..a8d26df9360b 100644
> > > > --- a/Documentation/translations/ko_KR/memory-barriers.txt
> > > > +++ b/Documentation/translations/ko_KR/memory-barriers.txt
> > > > @@ -577,7 +577,7 @@ ACQUIRE ë íë ìíëììì ëë ëëìë ììëê RELEASE
> > > > ëìí ììì ëëì (ììì)
> > > > -----------------------------
> > > >
> > > > -ëëì ìë v4.15 êììë, smp_read_barrier_depends() ê READ_ONCE() ì
> > > > +ëëì ìë v4.15 êììë, smp_mb() ê DEC Alpha ì READ_ONCE() ìëì
> > > > ìêëìëë, ìë ì ììì ììë êììì íë ìëëì DEC Alpha ìííì
> > > > ìì ìëë ëëë ìëëê READ_ONCE() ììë ëëë ìëë ëìì ìëíëë.
> > > > êë ëëì ìí, êëê ììì êì ìë ëëì ìí, ìê ëìí ììì
> > > > @@ -2661,144 +2661,6 @@ CPU ììë íëêëì ìêìì ììëëêë ìêìëë
> > > > ìë ììëë.
> > > >
> > > >
> > > > -ìì ìêì
> > > > ------------
> > > > -
> > > > -íìë ìì ììì ììêí êìë ëìíì ììëë: ììëì ìêìì êìë
> > > > -êëëìë, ê ìêìì ìììë ììë êëë ëìì ììëë. í CPU ìì
> > > > -ëëìì ëê ìíì ììììëë ììíì ëë CPU ìê ëììê ëìë, ëë
> > > > -CPU ëìêë êì ììë ëìê ë êëë ëìì ìëë ëìëë.
> > > > -
> > > > -
> > > > -ëêì CPU (1 & 2) ê ëë ìê, ê CPU ì ëêì ëìí ìì(CPU 1 ì A/B ë,
> > > > -CPU 2 ë C/D ë êìëë)ê ëëë ìêëì ìë ììíì ëëëê ìêí
> > > > -ëìë:
> > > > -
> > > > - :
> > > > - : +--------+
> > > > - : +---------+ | |
> > > > - +--------+ : +--->| Cache A |<------->| |
> > > > - | | : | +---------+ | |
> > > > - | CPU 1 |<---+ | |
> > > > - | | : | +---------+ | |
> > > > - +--------+ : +--->| Cache B |<------->| |
> > > > - : +---------+ | |
> > > > - : | Memory |
> > > > - : +---------+ | System |
> > > > - +--------+ : +--->| Cache C |<------->| |
> > > > - | | : | +---------+ | |
> > > > - | CPU 2 |<---+ | |
> > > > - | | : | +---------+ | |
> > > > - +--------+ : +--->| Cache D |<------->| |
> > > > - : +---------+ | |
> > > > - : +--------+
> > > > - :
> > > > -
> > > > -ì ììíì ëìê êì íìì êëë ìêí ëìë:
> > > > -
> > > > - (*) íìë ììëìì ìì A, ìì C ëë ëëëì ììí ì ìì;
> > > > -
> > > > - (*) ììë ììëìì ìì B, ìì D ëë ëëëì ììí ì ìì;
> > > > -
> > > > - (*) CPU ììê íêì ììì ìêíë ëì, ëë ììë - ëí ììëìì
> > > > - ëëëì ëëêë ììì ëëë íêë íê ìí - ììíì ëë ëëì
> > > > - ììì íê ìí ëìë ììí ì ìì;
> > > > -
> > > > - (*) ê ììë ììíì ëëì ëëëê ìêìì ëìê ìí íë ììì
> > > > - ììëìì í ìíëììëì íë êì;
> > > > -
> > > > - (*) ì ìêì íë ììì ìë ììíë ëìì êíìë íëí ëëì ìíìë
> > > > - ëììì ìëë, íì ìíëììëì ì ëëì êêì ìíì ëì ì ìë
> > > > - íìëë êëí.
> > > > -
> > > > -ìì, ìëì CPU ìì ëêì ìê ìíëììì ëëëë, íë CPU ì ììì
> > > > -ììë ììë ìíëììì ëëëì ëìíê ìí ë ìíëìì ììì ìê
> > > > -ëëìë ììíë ìíì ììí ëìë:
> > > > -
> > > > - CPU 1 CPU 2 COMMENT
> > > > - =============== =============== =======================================
> > > > - u == 0, v == 1 and p == &u, q == &u
> > > > - v = 2;
> > > > - smp_wmb(); v ì ëêì p ì ëê ìì ëì êì
> > > > - ëëí í
> > > > - <A:modify v=2> v ë ìì ìì A ì ëìììë ììí
> > > > - p = &v;
> > > > - <B:modify p=&v> p ë ìì ìì B ì ëìììë ììí
> > > > -
> > > > -ìêìì ìê ëëë ëëìë CPU 1 ì ììê ìëë ììë ìëìí ë êìë
> > > > -ììíì ëë CPU ëì ììíê ëëëë. íìë, ìì ëëì CPU ê ê êëì
> > > > -ììë íë ìíì ìêí ëìë:
> > > > -
> > > > - CPU 1 CPU 2 COMMENT
> > > > - =============== =============== =======================================
> > > > - ...
> > > > - q = p;
> > > > - x = *q;
> > > > -
> > > > -ìì ëêì ìê ìíëììì ììë ììë ììëì ëí ì ìëë, ëëì CPU
> > > > -ì í ììì ëë ìì ìëíê ëìí v ë ëê ìë ììëìì íë ìììì
> > > > -ìëìíê ììëë ìì, p ë ëê ìë ììëìì ëëì CPU ì ëë ììì
> > > > -ìëìí ëìëëì ì ìê ëëìëë.
> > > > -
> > > > - CPU 1 CPU 2 COMMENT
> > > > - =============== =============== =======================================
> > > > - u == 0, v == 1 and p == &u, q == &u
> > > > - v = 2;
> > > > - smp_wmb();
> > > > - <A:modify v=2> <C:busy>
> > > > - <C:queue v=2>
> > > > - p = &v; q = p;
> > > > - <D:request p>
> > > > - <B:modify p=&v> <D:commit p=&v>
> > > > - <D:read p>
> > > > - x = *q;
> > > > - <C:read *q> ììì ìëìí ëê ìì v ë ìì
> > > > - <C:unbusy>
> > > > - <C:commit v=2>
> > > > -
> > > > -êëììë, ëêì ììëì ëë CPU 2 ì ììììëë ìëìí ë êììë,
> > > > -ëëì êì ììë, ìëìíì ììê CPU 1 ìì ëëìì ììì ëìí
> > > > -êìëë ëìì ììëë.
> > > > -
> > > > -
> > > > -ìêì êìíê ìíì, ëìí ììì ëëìë ìê ëëìë ëë ìíëììë
> > > > -ììì ëìì íëë (v4.15 ëíë READ_ONCE() ëíëì ìí ëìêììë
> > > > -êëê ëëë). ìëê íìëì ììê ëì ììì ìëíê ìì ìêì íë
> > > > -ìëíëë êìíê ëëë.
> > > > -
> > > > - CPU 1 CPU 2 COMMENT
> > > > - =============== =============== =======================================
> > > > - u == 0, v == 1 and p == &u, q == &u
> > > > - v = 2;
> > > > - smp_wmb();
> > > > - <A:modify v=2> <C:busy>
> > > > - <C:queue v=2>
> > > > - p = &v; q = p;
> > > > - <D:request p>
> > > > - <B:modify p=&v> <D:commit p=&v>
> > > > - <D:read p>
> > > > - smp_read_barrier_depends()
> > > > - <C:unbusy>
> > > > - <C:commit v=2>
> > > > - x = *q;
> > > > - <C:read *q> ììì ìëìí ë v ë ìì
> > > > -
> > > > -
> > > > -ìë ëëì ëìë DEC Alpha êì íëììëìì ëêë ì ìëë, ìëì
> > > > -ëìí ëìë ì ë ì ììí ìëì êìí ì ìë, ëíë ììë êìê ìê
> > > > -ëëìëë. ëëëì CPU ë íëì ìê ìíëììì ëëë ìììê ëë ìê
> > > > -ìíëììì ììììëë ëìí ììì ëëìë ëíìíëëë, ëëê êëê
> > > > -ìëê ëëì ììì ììíì ìëëë.
> > > > -
> > > > -ëë CPU ëë ëíë ììë êìê ìì ì ììë, êë CPU ëì íëí ëëë
> > > > -ìììë ìíìë ì ëíë ììë ììì ììì íìë íëë. Alpha ë êì
> > > > -ìí ëëë ìì ìëí (semantic) ì ìííìëì ëëë ëëìê ëìììë
> > > > -ììëì ììì ëìë êë ììì íìíì ìê íìë, ìë Alpha ê ëìì
> > > > -ë ëì CPU íë ìëë êì ì ìê íìëë. íìë, (ëì ëíêë, v4.15
> > > > -ìíëíë) Alpha ìííì ìì ìëì READ_ONCE() ëíë ëëììë ììíêë
> > > > -smp_read_barrier_depends() ê ììëì ììì íì ììëìê ëëëë.
> > > > -
> > > > -
> > > > ìì ìêì VS DMA
> > > > ------------------
> > > >
> > > > @@ -2959,10 +2821,8 @@ Alpha CPU ì ìë ëìì ëíë ëìí ììë êìê ììì
> > > > ëìíì ëêì ìëë ììë ììëê íê ëëìëë.
> > > >
> > > > ëëì ìëì ëëë ëëì ëëì Alpha ì êìíì ììëììëëë, v4.15
> > > > -ëíë ëëì ìëì READ_ONCE() ëì smp_read_barrier_depends() ë ìêíì
> > > > -Alpha ì ëëë ëëëì ìíëì íê ììëê íìëë.
> > > > -
> > > > -ìì "ìì ìêì" ìëììì ìêíìì.
> > > > +ëíë Alpha ì READ_ONCE() ìë ëì smp_mb() ê ìêëìì ëëë ëëëì
> > > > +Alpha ì ìíëì íê ììëììëë.
> > > >
> > > >
> > > > êì ëì êìí
> > > > --
> > > > 2.17.2
> > > >