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: SeongJae Park <hidden>
Date: 2018-06-26 22:44:25
Also in: lkml

On Wed, Jun 27, 2018 at 7:04 AM Paul E. McKenney
[off-list ref] wrote:
On Tue, Jun 26, 2018 at 09:25:08PM +0900, SeongJae Park wrote:
quoted
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?
Yes, of course ;)


Thanks,
SeongJae Park
quoted hunk ↗ jump to hunk
                                                        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 쓰기 배리어
N�����r��y���b�X��ǧv�^�)޺{.n�+����{�v�"��^n�r���z���h����&��
�G���h�(�階�ݢj"���m�����z�ޖ���f���h���~�m�
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help