Thread (13 messages) 13 messages, 3 authors, 2018-06-27

Re: [PATCH] locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering example

From: Paul E. McKenney <hidden>
Date: 2018-06-26 22:04:53
Also in: lkml
Subsystem: documentation, the rest · Maintainers: Jonathan Corbet, Linus Torvalds

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
[off-list ref] wrote:
quoted
On Tue, Jun 26, 2018 at 03:58:27PM +0900, Byungchul Park wrote:
quoted
On Tue, Jun 26, 2018 at 02:10:17PM +0900, SeongJae Park wrote:
quoted

On Tue, 26 Jun 2018, Byungchul Park wrote:
quoted
On Tue, Jun 26, 2018 at 12:21:23PM +0900, sjpark wrote:
quoted
Hello Byungchul,


On Tue, 26 Jun 2018, Byungchul Park wrote:
quoted
On Sun, Jun 17, 2018 at 02:16:08PM +0900, SeongJae Park wrote:
quoted
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!
quoted
quoted
Signed-off-by: SeongJae Park <redacted>
---
 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 <redacted>
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 [off-list ref]
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 [off-list ref]
    Signed-off-by: Paul E. McKenney [off-list ref]
    [ paulmck: Updated based on feedback from Byungchul Park. ]
    Acked-by: Byungchul Park [off-list ref]
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 쓰기 배리어

--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help