* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.