[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180626220649.GN3593@linux.vnet.ibm.com>
Date: Tue, 26 Jun 2018 15:06:49 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: SeongJae Park <sj38.park@...il.com>
Cc: Byungchul Park <byungchul.park@....com>,
linux-doc <linux-doc@...r.kernel.org>,
linux-kernel@...r.kernel.org, kernel-team@....com
Subject: Re: [PATCH] locking/memory-barriers.txt/kokr: Update Korean
translation to fix broken DMA vs. MMIO ordering example
On Tue, Jun 26, 2018 at 09:25:08PM +0900, SeongJae Park wrote:
> Hello Paul,
>
> On Tue, Jun 26, 2018 at 9:20 PM Paul E. McKenney
> <paulmck@...ux.vnet.ibm.com> wrote:
> >
> > On Tue, Jun 26, 2018 at 03:58:27PM +0900, Byungchul Park wrote:
> > > On Tue, Jun 26, 2018 at 02:10:17PM +0900, SeongJae Park wrote:
> > > >
> > > >
> > > > On Tue, 26 Jun 2018, Byungchul Park wrote:
> > > >
> > > > > On Tue, Jun 26, 2018 at 12:21:23PM +0900, sjpark wrote:
> > > > > > Hello Byungchul,
> > > > > >
> > > > > >
> > > > > > On Tue, 26 Jun 2018, Byungchul Park wrote:
> > > > > >
> > > > > > > On Sun, Jun 17, 2018 at 02:16:08PM +0900, SeongJae Park wrote:
> > > > > > > > Translate this commit to Korean:
> > > > > > > >
> > > > > > > > 5846581e3563 ("locking/memory-barriers.txt: Fix broken DMA vs. MMIO ordering example")
> > > > > > >
> > > > > > > Hi SeongJae,
> > > > > > >
> > > > > > > You keep doing good jobs ;)
> > > > > > >
> > > > > > > I believe it would be better if you consider the little things below
> > > > > > > more. What do you think about it, SeongJae?
> > > > > >
> > > > > > Thank you for great comments!
> > > > > >
> > > > > > >
> > > > > > > > Signed-off-by: SeongJae Park <sj38.park@...il.com>
> > > > > > > > ---
> > > > > > > > Documentation/translations/ko_KR/memory-barriers.txt | 15 +++++++--------
> > > > > > > > 1 file changed, 7 insertions(+), 8 deletions(-)
> > > > > > > >
> > > > > > > > diff --git a/Documentation/translations/ko_KR/memory-barriers.txt b/Documentation/translations/ko_KR/memory-barriers.txt
> > > > > > > > index 921739d00f69..ada0a709cce1 100644
> > > > > > > > --- a/Documentation/translations/ko_KR/memory-barriers.txt
> > > > > > > > +++ b/Documentation/translations/ko_KR/memory-barriers.txt
> > > > > > > > @@ -1891,19 +1891,18 @@ Mandatory 배리어들은 SMP 시스템에서도 UP 시스템에서도 SMP 효
> > > > > > > > /* 소유권을 수정 */
> > > > > > > > desc->status = DEVICE_OWN;
> > > > > > > >
> > > > > > > > - /* MMIO 를 통해 디바이스에 공지를 하기 전에 메모리를 동기화 */
> > > > > > > > - wmb();
> > > > > > > > -
> > > > > > > > /* 업데이트된 디스크립터의 디바이스에 공지 */
> > > > > > > > writel(DESC_NOTIFY, doorbell);
> > > > > > > > }
> > > > > > > >
> > > > > > > > dma_rmb() 는 디스크립터로부터 데이터를 읽어오기 전에 디바이스가 소유권을
> > > > > > > > - 내놓았음을 보장하게 하고, dma_wmb() 는 디바이스가 자신이 소유권을 다시
> > > > > > > > - 가졌음을 보기 전에 디스크립터에 데이터가 쓰였음을 보장합니다. wmb() 는
> > > > > > > > - 캐시 일관성이 없는 (cache incoherent) MMIO 영역에 쓰기를 시도하기 전에
> > > > > > > > - 캐시 일관성이 있는 메모리 (cache coherent memory) 쓰기가 완료되었음을
> > > > > > > > - 보장해주기 위해 필요합니다.
> > > > > > > > + 내려놓았을 것을 보장하고, dma_wmb() 는 디바이스가 자신이 소유권을 다시
> > > > > > > > + 가졌음을 보기 전에 디스크립터에 데이터가 쓰였을 것을 보장합니다. writel()
> > > > > > > ^
> > > > > > > 참고로,
> > > > > >
> > > > > > Nice comment. This will enhance the readability a lot.
> > > > >
> > > > > Could you add this, too? A quite little thing tho.
> > > >
> > > > Oops, I missed that. Sorry. Attaching the patch below.
> > > >
> > > >
> > > > Thanks, SeongJae Park
> > >
> > > Thanks a lot, SeongJae.
> > >
> > > Acked-by: Byungchul Park <byungchul.park@....com>
> >
> > Thank you both!
> >
> > The patch below is the complete patch, so that I should replace
> > what I have with it, correct? If not, please help me out here. ;-)
>
> Yes, correct! :)
Like this, then?
Thanx, Paul
------------------------------------------------------------------------
commit 3cb0d7701c4ce6668fb5096c90ec6d5b4bf71638
Author: SeongJae Park <sj38.park@...il.com>
Date: Sun Jun 17 14:16:08 2018 +0900
locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering example
Translate this commit to Korean:
5846581e3563 ("locking/memory-barriers.txt: Fix broken DMA vs. MMIO ordering example")
Signed-off-by: SeongJae Park <sj38.park@...il.com>
Signed-off-by: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
[ paulmck: Updated based on feedback from Byungchul Park. ]
Acked-by: Byungchul Park <byungchul.park@....com>
diff --git a/Documentation/translations/ko_KR/memory-barriers.txt b/Documentation/translations/ko_KR/memory-barriers.txt
index 921739d00f69..7f01fb1c1084 100644
--- a/Documentation/translations/ko_KR/memory-barriers.txt
+++ b/Documentation/translations/ko_KR/memory-barriers.txt
@@ -1891,22 +1891,22 @@ Mandatory 배리어들은 SMP 시스템에서도 UP 시스템에서도 SMP 효
/* 소유권을 수정 */
desc->status = DEVICE_OWN;
- /* MMIO 를 통해 디바이스에 공지를 하기 전에 메모리를 동기화 */
- wmb();
-
/* 업데이트된 디스크립터의 디바이스에 공지 */
writel(DESC_NOTIFY, doorbell);
}
dma_rmb() 는 디스크립터로부터 데이터를 읽어오기 전에 디바이스가 소유권을
- 내놓았음을 보장하게 하고, dma_wmb() 는 디바이스가 자신이 소유권을 다시
- 가졌음을 보기 전에 디스크립터에 데이터가 쓰였음을 보장합니다. wmb() 는
- 캐시 일관성이 없는 (cache incoherent) MMIO 영역에 쓰기를 시도하기 전에
- 캐시 일관성이 있는 메모리 (cache coherent memory) 쓰기가 완료되었음을
- 보장해주기 위해 필요합니다.
-
- consistent memory 에 대한 자세한 내용을 위해선 Documentation/DMA-API.txt
- 문서를 참고하세요.
+ 내려놓았을 것을 보장하고, dma_wmb() 는 디바이스가 자신이 소유권을 다시
+ 가졌음을 보기 전에 디스크립터에 데이터가 쓰였을 것을 보장합니다. 참고로,
+ writel() 을 사용하면 캐시 일관성이 있는 메모리 (cache coherent memory)
+ 쓰기가 MMIO 영역에의 쓰기 전에 완료되었을 것을 보장하므로 writel() 앞에
+ wmb() 를 실행할 필요가 없음을 알아두시기 바랍니다. writel() 보다 비용이
+ 저렴한 writel_relaxed() 는 이런 보장을 제공하지 않으므로 여기선 사용되지
+ 않아야 합니다.
+
+ writel_relaxed() 와 같은 완화된 I/O 접근자들에 대한 자세한 내용을 위해서는
+ "커널 I/O 배리어의 효과" 섹션을, consistent memory 에 대한 자세한 내용을
+ 위해선 Documentation/DMA-API.txt 문서를 참고하세요.
MMIO 쓰기 배리어
Powered by blists - more mailing lists