linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] memory-barriers.txt: Applies upstream changes to the Korean version
@ 2018-04-03  9:20 SeongJae Park
  2018-04-03  9:20 ` [PATCH 1/5] kokr/doc: READ_ONCE() now implies smp_barrier_depends() SeongJae Park
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: SeongJae Park @ 2018-04-03  9:20 UTC (permalink / raw)
  To: paulmck; +Cc: linux-kernel, SeongJae Park

This patchset applies upstream changes for memory-barriers.txt to the Korean
version of it.

SeongJae Park (5):
  kokr/doc: READ_ONCE() now implies smp_barrier_depends()
  kokr/doc: De-emphasize smp_read_barrier_depends
  kokr/Documentation/memory-barriers.txt: Cross-reference
    "tools/memory-model/"
  kokr/memory-barriers: Fix description of data dependency barriers
  kokr/locking/memory-barriers: De-emphasize smp_read_barrier_depends()
    some more

 .../translations/ko_KR/memory-barriers.txt         | 50 +++++++++++++++-------
 1 file changed, 34 insertions(+), 16 deletions(-)

-- 
2.13.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/5] kokr/doc: READ_ONCE() now implies smp_barrier_depends()
  2018-04-03  9:20 [PATCH 0/5] memory-barriers.txt: Applies upstream changes to the Korean version SeongJae Park
@ 2018-04-03  9:20 ` SeongJae Park
  2018-04-03  9:20 ` [PATCH 2/5] kokr/doc: De-emphasize smp_read_barrier_depends SeongJae Park
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: SeongJae Park @ 2018-04-03  9:20 UTC (permalink / raw)
  To: paulmck; +Cc: linux-kernel, SeongJae Park

This commit applies an upstream change, commit 40555946447a ("doc:
READ_ONCE() now implies smp_barrier_depends()") to the Korean version
document.

Signed-off-by: SeongJae Park <sj38.park@gmail.com>
---
 Documentation/translations/ko_KR/memory-barriers.txt | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/Documentation/translations/ko_KR/memory-barriers.txt b/Documentation/translations/ko_KR/memory-barriers.txt
index 0a0930ab4156..edef154d77b2 100644
--- a/Documentation/translations/ko_KR/memory-barriers.txt
+++ b/Documentation/translations/ko_KR/memory-barriers.txt
@@ -255,17 +255,20 @@ CPU 에게 기대할 수 있는 최소한의 보장사항 몇가지가 있습니
  (*) 어떤 CPU 든, 의존성이 존재하는 메모리 액세스들은 해당 CPU 자신에게
      있어서는 순서대로 메모리 시스템에 수행 요청됩니다. 즉, 다음에 대해서:
 
-	Q = READ_ONCE(P); smp_read_barrier_depends(); D = READ_ONCE(*Q);
+	Q = READ_ONCE(P); D = READ_ONCE(*Q);
 
      CPU 는 다음과 같은 메모리 오퍼레이션 시퀀스를 수행 요청합니다:
 
 	Q = LOAD P, D = LOAD *Q
 
-     그리고 그 시퀀스 내에서의 순서는 항상 지켜집니다.  대부분의 시스템에서
-     smp_read_barrier_depends() 는 아무일도 안하지만 DEC Alpha 에서는
-     명시적으로 사용되어야 합니다.  보통의 경우에는 smp_read_barrier_depends()
-     를 직접 사용하는 대신 rcu_dereference() 같은 것들을 사용해야 함을
-     알아두세요.
+     그리고 그 시퀀스 내에서의 순서는 항상 지켜집니다.  하지만, DEC Alpha 에서
+     READ_ONCE() 는 메모리 배리어 명령도 내게 되어 있어서, DEC Alpha CPU 는
+     다음과 같은 메모리 오퍼레이션들을 내놓게 됩니다:
+
+	Q = LOAD P, MEMORY_BARRIER, D = LOAD *Q, MEMORY_BARRIER
+
+     DEC Alpha 에서 수행되든 아니든, READ_ONCE() 는 컴파일러로부터의 악영향
+     또한 제거합니다.
 
  (*) 특정 CPU 내에서 겹치는 영역의 메모리에 행해지는 로드와 스토어 들은 해당
      CPU 안에서는 순서가 바뀌지 않은 것으로 보여집니다.  즉, 다음에 대해서:
-- 
2.13.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/5] kokr/doc: De-emphasize smp_read_barrier_depends
  2018-04-03  9:20 [PATCH 0/5] memory-barriers.txt: Applies upstream changes to the Korean version SeongJae Park
  2018-04-03  9:20 ` [PATCH 1/5] kokr/doc: READ_ONCE() now implies smp_barrier_depends() SeongJae Park
@ 2018-04-03  9:20 ` SeongJae Park
  2018-04-03  9:20 ` [PATCH 3/5] kokr/Documentation/memory-barriers.txt: Cross-reference "tools/memory-model/" SeongJae Park
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: SeongJae Park @ 2018-04-03  9:20 UTC (permalink / raw)
  To: paulmck; +Cc: linux-kernel, SeongJae Park

This commit applies an upstream change, commit 9ad3c143d7d6 ("doc:
De-emphasize smp_read_barrier_depends") to the Korean version document.

Signed-off-by: SeongJae Park <sj38.park@gmail.com>
---
 Documentation/translations/ko_KR/memory-barriers.txt | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/Documentation/translations/ko_KR/memory-barriers.txt b/Documentation/translations/ko_KR/memory-barriers.txt
index edef154d77b2..44e47c2d33cf 100644
--- a/Documentation/translations/ko_KR/memory-barriers.txt
+++ b/Documentation/translations/ko_KR/memory-barriers.txt
@@ -1790,7 +1790,7 @@ CPU 메모리 배리어
 	범용		mb()			smp_mb()
 	쓰기		wmb()			smp_wmb()
 	읽기		rmb()			smp_rmb()
-	데이터 의존성	read_barrier_depends()	smp_read_barrier_depends()
+	데이터 의존성				READ_ONCE()
 
 
 데이터 의존성 배리어를 제외한 모든 메모리 배리어는 컴파일러 배리어를
@@ -2829,7 +2829,10 @@ CPU 2 는 C/D 를 갖습니다)가 병렬로 연결되어 있는 시스템을 
 다른 CPU 들도 분할된 캐시를 가지고 있을 수 있지만, 그런 CPU 들은 평범한 메모리
 액세스를 위해서도 이 분할된 캐시들 사이의 조정을 해야만 합니다.  Alpha 는 가장
 약한 메모리 순서 시맨틱 (semantic) 을 선택함으로써 메모리 배리어가 명시적으로
-사용되지 않았을 때에는 그런 조정이 필요하지 않게 했습니다.
+사용되지 않았을 때에는 그런 조정이 필요하지 않게 했으며, 이는 Alpha 가 당시에
+더 높은 CPU 클락 속도를 가질 수 있게 했습니다.  하지만, Alpha 아키텍쳐 전용
+코드와 READ_ONCE() 매크로 내부에서를 제외하고는 smp_read_barrier_depends() 가
+사용되지 않아야 함을 알아두시기 바랍니다.
 
 
 캐시 일관성 VS DMA
-- 
2.13.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/5] kokr/Documentation/memory-barriers.txt: Cross-reference "tools/memory-model/"
  2018-04-03  9:20 [PATCH 0/5] memory-barriers.txt: Applies upstream changes to the Korean version SeongJae Park
  2018-04-03  9:20 ` [PATCH 1/5] kokr/doc: READ_ONCE() now implies smp_barrier_depends() SeongJae Park
  2018-04-03  9:20 ` [PATCH 2/5] kokr/doc: De-emphasize smp_read_barrier_depends SeongJae Park
@ 2018-04-03  9:20 ` SeongJae Park
  2018-04-03  9:20 ` [PATCH 4/5] kokr/memory-barriers: Fix description of data dependency barriers SeongJae Park
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: SeongJae Park @ 2018-04-03  9:20 UTC (permalink / raw)
  To: paulmck; +Cc: linux-kernel, SeongJae Park

This commit applies an upstream change, commit 621df431b0ac
("Documentation/memory-barriers.txt: Cross-reference
"tools/memory-model/"") to the Korean version document.

Signed-off-by: SeongJae Park <sj38.park@gmail.com>
---
 Documentation/translations/ko_KR/memory-barriers.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/translations/ko_KR/memory-barriers.txt b/Documentation/translations/ko_KR/memory-barriers.txt
index 44e47c2d33cf..2c0ab128cd04 100644
--- a/Documentation/translations/ko_KR/memory-barriers.txt
+++ b/Documentation/translations/ko_KR/memory-barriers.txt
@@ -36,6 +36,9 @@ Documentation/memory-barriers.txt
 부분도 있고, 의도하진 않았지만 사람에 의해 쓰였다보니 불완전한 부분도 있습니다.
 이 문서는 리눅스에서 제공하는 다양한 메모리 배리어들을 사용하기 위한
 안내서입니다만, 뭔가 이상하다 싶으면 (그런게 많을 겁니다) 질문을 부탁드립니다.
+일부 이상한 점들은 공식적인 메모리 일관성 모델과 tools/memory-model/ 에 있는
+관련 문서를 참고해서 해결될 수 있을 겁니다.  그러나, 이 메모리 모델조차도 그
+관리자들의 의견의 집합으로 봐야지, 절대 옳은 예언자로 신봉해선 안될 겁니다.
 
 다시 말하지만, 이 문서는 리눅스가 하드웨어에 기대하는 사항에 대한 명세서가
 아닙니다.
-- 
2.13.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/5] kokr/memory-barriers: Fix description of data dependency barriers
  2018-04-03  9:20 [PATCH 0/5] memory-barriers.txt: Applies upstream changes to the Korean version SeongJae Park
                   ` (2 preceding siblings ...)
  2018-04-03  9:20 ` [PATCH 3/5] kokr/Documentation/memory-barriers.txt: Cross-reference "tools/memory-model/" SeongJae Park
@ 2018-04-03  9:20 ` SeongJae Park
  2018-04-03  9:20 ` [PATCH 5/5] kokr/locking/memory-barriers: De-emphasize smp_read_barrier_depends() some more SeongJae Park
  2018-04-03 17:14 ` [PATCH 0/5] memory-barriers.txt: Applies upstream changes to the Korean version Paul E. McKenney
  5 siblings, 0 replies; 7+ messages in thread
From: SeongJae Park @ 2018-04-03  9:20 UTC (permalink / raw)
  To: paulmck; +Cc: linux-kernel, SeongJae Park

This commit applies an upstream change, commit 51de78892b12
("memory-barriers: Fix description of data dependency barriers") to the
Korean version document.

Signed-off-by: SeongJae Park <sj38.park@gmail.com>
---
 Documentation/translations/ko_KR/memory-barriers.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/translations/ko_KR/memory-barriers.txt b/Documentation/translations/ko_KR/memory-barriers.txt
index 2c0ab128cd04..99ef4ca1c1bf 100644
--- a/Documentation/translations/ko_KR/memory-barriers.txt
+++ b/Documentation/translations/ko_KR/memory-barriers.txt
@@ -427,8 +427,8 @@ CPU 에게 기대할 수 있는 최소한의 보장사항 몇가지가 있습니
      데이터 의존성 배리어는 읽기 배리어의 보다 완화된 형태입니다.  두개의 로드
      오퍼레이션이 있고 두번째 것이 첫번째 것의 결과에 의존하고 있을 때(예:
      두번째 로드가 참조할 주소를 첫번째 로드가 읽는 경우), 두번째 로드가 읽어올
-     데이터는 첫번째 로드에 의해 그 주소가 얻어지기 전에 업데이트 되어 있음을
-     보장하기 위해서 데이터 의존성 배리어가 필요할 수 있습니다.
+     데이터는 첫번째 로드에 의해 그 주소가 얻어진 뒤에 업데이트 됨을 보장하기
+     위해서 데이터 의존성 배리어가 필요할 수 있습니다.
 
      데이터 의존성 배리어는 상호 의존적인 로드 오퍼레이션들 사이의 부분적 순서
      세우기입니다; 스토어 오퍼레이션들이나 독립적인 로드들, 또는 중복되는
-- 
2.13.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 5/5] kokr/locking/memory-barriers: De-emphasize smp_read_barrier_depends() some more
  2018-04-03  9:20 [PATCH 0/5] memory-barriers.txt: Applies upstream changes to the Korean version SeongJae Park
                   ` (3 preceding siblings ...)
  2018-04-03  9:20 ` [PATCH 4/5] kokr/memory-barriers: Fix description of data dependency barriers SeongJae Park
@ 2018-04-03  9:20 ` SeongJae Park
  2018-04-03 17:14 ` [PATCH 0/5] memory-barriers.txt: Applies upstream changes to the Korean version Paul E. McKenney
  5 siblings, 0 replies; 7+ messages in thread
From: SeongJae Park @ 2018-04-03  9:20 UTC (permalink / raw)
  To: paulmck; +Cc: linux-kernel, SeongJae Park

This commit applies an upstream change, commit f28f0868feb1
("locking/memory-barriers: De-emphasize smp_read_barrier_depends() some
more") to the Korean version documentation.

Signed-off-by: SeongJae Park <sj38.park@gmail.com>
---
 .../translations/ko_KR/memory-barriers.txt         | 27 ++++++++++++++--------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/Documentation/translations/ko_KR/memory-barriers.txt b/Documentation/translations/ko_KR/memory-barriers.txt
index 99ef4ca1c1bf..21e78af7ee93 100644
--- a/Documentation/translations/ko_KR/memory-barriers.txt
+++ b/Documentation/translations/ko_KR/memory-barriers.txt
@@ -80,7 +80,7 @@ Documentation/memory-barriers.txt
 
      - 메모리 배리어의 종류.
      - 메모리 배리어에 대해 가정해선 안될 것.
-     - 데이터 의존성 배리어.
+     - 데이터 의존성 배리어 (역사적).
      - 컨트롤 의존성.
      - SMP 배리어 짝맞추기.
      - 메모리 배리어 시퀀스의 예.
@@ -576,8 +576,14 @@ ACQUIRE 는 해당 오퍼레이션의 로드 부분에만 적용되고 RELEASE 
 	    Documentation/DMA-API.txt
 
 
-데이터 의존성 배리어
---------------------
+데이터 의존성 배리어 (역사적)
+-----------------------------
+
+리눅스 커널 v4.15 기준으로, smp_read_barrier_depends() 가 READ_ONCE() 에
+추가되었는데, 이는 이 섹션에 주의를 기울여야 하는 사람들은 DEC Alpha 아키텍쳐
+전용 코드를 만드는 사람들과 READ_ONCE() 자체를 만드는 사람들 뿐임을 의미합니다.
+그런 분들을 위해, 그리고 역사에 관심 있는 분들을 위해, 여기 데이터 의존성
+배리어에 대한 이야기를 적습니다.
 
 데이터 의존성 배리어의 사용에 있어 지켜야 하는 사항들은 약간 미묘하고, 데이터
 의존성 배리어가 사용되어야 하는 상황도 항상 명백하지는 않습니다.  설명을 위해
@@ -2802,8 +2808,9 @@ CPU 2 는 C/D 를 갖습니다)가 병렬로 연결되어 있는 시스템을 
 
 
 여기에 개입하기 위해선, 데이터 의존성 배리어나 읽기 배리어를 로드 오퍼레이션들
-사이에 넣어야 합니다.  이렇게 함으로써 캐시가 다음 요청을 처리하기 전에 일관성
-큐를 처리하도록 강제하게 됩니다.
+사이에 넣어야 합니다 (v4.15 부터는 READ_ONCE() 매크로에 의해 무조건적으로
+그렇게 됩니다).  이렇게 함으로써 캐시가 다음 요청을 처리하기 전에 일관성 큐를
+처리하도록 강제하게 됩니다.
 
 	CPU 1		CPU 2		COMMENT
 	===============	===============	=======================================
@@ -2833,9 +2840,9 @@ CPU 2 는 C/D 를 갖습니다)가 병렬로 연결되어 있는 시스템을 
 액세스를 위해서도 이 분할된 캐시들 사이의 조정을 해야만 합니다.  Alpha 는 가장
 약한 메모리 순서 시맨틱 (semantic) 을 선택함으로써 메모리 배리어가 명시적으로
 사용되지 않았을 때에는 그런 조정이 필요하지 않게 했으며, 이는 Alpha 가 당시에
-더 높은 CPU 클락 속도를 가질 수 있게 했습니다.  하지만, Alpha 아키텍쳐 전용
-코드와 READ_ONCE() 매크로 내부에서를 제외하고는 smp_read_barrier_depends() 가
-사용되지 않아야 함을 알아두시기 바랍니다.
+더 높은 CPU 클락 속도를 가질 수 있게 했습니다.  하지만, (다시 말하건대, v4.15
+이후부터는) Alpha 아키텍쳐 전용 코드와 READ_ONCE() 매크로 내부에서를 제외하고는
+smp_read_barrier_depends() 가 사용되지 않아야 함을 알아두시기 바랍니다.
 
 
 캐시 일관성 VS DMA
@@ -2997,7 +3004,9 @@ Alpha CPU 의 일부 버전은 분할된 데이터 캐시를 가지고 있어서
 메모리 일관성 시스템과 함께 두개의 캐시를 동기화 시켜서, 포인터 변경과 새로운
 데이터의 발견을 올바른 순서로 일어나게 하기 때문입니다.
 
-리눅스 커널의 메모리 배리어 모델은 Alpha 에 기초해서 정의되었습니다.
+리눅스 커널의 메모리 배리어 모델은 Alpha 에 기초해서 정의되었습니다만, v4.15
+부터는 리눅스 커널이 READ_ONCE() 내에 smp_read_barrier_depends() 를 추가해서
+Alpha 의 메모리 모델로의 영향력이 크게 줄어들긴 했습니다.
 
 위의 "캐시 일관성" 서브섹션을 참고하세요.
 
-- 
2.13.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/5] memory-barriers.txt: Applies upstream changes to the Korean version
  2018-04-03  9:20 [PATCH 0/5] memory-barriers.txt: Applies upstream changes to the Korean version SeongJae Park
                   ` (4 preceding siblings ...)
  2018-04-03  9:20 ` [PATCH 5/5] kokr/locking/memory-barriers: De-emphasize smp_read_barrier_depends() some more SeongJae Park
@ 2018-04-03 17:14 ` Paul E. McKenney
  5 siblings, 0 replies; 7+ messages in thread
From: Paul E. McKenney @ 2018-04-03 17:14 UTC (permalink / raw)
  To: SeongJae Park; +Cc: linux-kernel

On Tue, Apr 03, 2018 at 06:20:22PM +0900, SeongJae Park wrote:
> This patchset applies upstream changes for memory-barriers.txt to the Korean
> version of it.
> 
> SeongJae Park (5):
>   kokr/doc: READ_ONCE() now implies smp_barrier_depends()
>   kokr/doc: De-emphasize smp_read_barrier_depends
>   kokr/Documentation/memory-barriers.txt: Cross-reference
>     "tools/memory-model/"
>   kokr/memory-barriers: Fix description of data dependency barriers
>   kokr/locking/memory-barriers: De-emphasize smp_read_barrier_depends()
>     some more
> 
>  .../translations/ko_KR/memory-barriers.txt         | 50 +++++++++++++++-------
>  1 file changed, 34 insertions(+), 16 deletions(-)

Thank you!  I have pulled these into the "lkmm" branch of -rcu.

							Thanx, Paul

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-04-03 17:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-03  9:20 [PATCH 0/5] memory-barriers.txt: Applies upstream changes to the Korean version SeongJae Park
2018-04-03  9:20 ` [PATCH 1/5] kokr/doc: READ_ONCE() now implies smp_barrier_depends() SeongJae Park
2018-04-03  9:20 ` [PATCH 2/5] kokr/doc: De-emphasize smp_read_barrier_depends SeongJae Park
2018-04-03  9:20 ` [PATCH 3/5] kokr/Documentation/memory-barriers.txt: Cross-reference "tools/memory-model/" SeongJae Park
2018-04-03  9:20 ` [PATCH 4/5] kokr/memory-barriers: Fix description of data dependency barriers SeongJae Park
2018-04-03  9:20 ` [PATCH 5/5] kokr/locking/memory-barriers: De-emphasize smp_read_barrier_depends() some more SeongJae Park
2018-04-03 17:14 ` [PATCH 0/5] memory-barriers.txt: Applies upstream changes to the Korean version Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).