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

From: SeongJae Park
Date: Fri Dec 06 2019 - 17:38:56 EST


On Fri, Dec 6, 2019 at 11:08 PM Paul E. McKenney <paulmck@xxxxxxxxxx> wrote:
>
> 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!

That's a relief!

>
> 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. ;-)

Agreed, CC-ing Jon to this mail. That said, this is a followup of Will's
patch[1] and the patch is also not queued in Jon's tree. So, I would like to
hear Will's opinion either, if possible.

[1] https://lore.kernel.org/lkml/20191108170120.22331-10-will@xxxxxxxxxx/


Thanks,
SeongJae Park

>
> 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
> > > > >