docs/memory-barriers.txt/kokr: Update I/O section to be clearer about CPU vs thread
authorSeongJae Park <sj38.park@gmail.com>
Thu, 21 Nov 2019 23:41:22 +0000 (00:41 +0100)
committerJonathan Corbet <corbet@lwn.net>
Fri, 22 Nov 2019 17:00:43 +0000 (10:00 -0700)
Translate this commit to Korean:

  9726840d9cf0 ("docs/memory-barriers.txt: Update I/O section to be clearer about CPU vs thread")

Signed-off-by: SeongJae Park <sj38.park@gmail.com>
Link: https://lore.kernel.org/r/20191121234125.28032-5-sj38.park@gmail.com
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Documentation/translations/ko_KR/memory-barriers.txt

index 6ae6d24..f07c40a 100644 (file)
@@ -2485,27 +2485,34 @@ I/O 액세스를 통한 주변장치와의 통신은 아키텍쳐와 기기에 
        (예: ioremap() 으로 반환되는 것) 의 순서 보장은 다음과 같습니다:
 
        1. 같은 주변장치로의 모든 readX() 와 writeX() 액세스는 각자에 대해
-          순서지어집니다.  예를 들어, CPU 의 특정 디바이스로의 MMIO 레지스터
-          쓰기는 프로그램 순서대로 도착할 것이 보장됩니다.
-
-       2. CPU 에 의한 특정 주변장치로의 writeX() 는 모든 앞선 CPU 의 메모리
-          쓰기가 완료되기를 먼저 기다립니다.  예를 들어, dma_alloc_coherent()
-          를 통해 할당된 전송용 DMA 버퍼로의 CPU 의 쓰기는 이 전송을
-          시작시키기 위해 CPU 가 MMIO 컨트롤 레지스터에 쓰기를 할 때 DMA
-          엔진에 보일 것이 보장됩니다.
-
-       3. CPU 에 의한 주변장치로의 readX() 는 모든 뒤따르는 CPU 의 메모리
-          읽기가 시작되기 전에 완료됩니다.  예를 들어, dma_alloc_coherent() 를
-          통해 할당된 수신용 DMA 버퍼로부터의 CPU 의 읽기는 이 DMA 수신의
-          완료를 표시하는 DMA 엔진의 MMIO 상태 레지스터 읽기 후에는 오염된
-          데이터를 읽지 않을 것이 보장됩니다.
-
-       4. CPU 에 의한 주변장치로의 readX() 는 모든 뒤따르는 delay() 루프가
-          수행을 시작하기 전에 완료됩니다.  예를 들어, CPU 의 특정
+          순서지어집니다.  이는 같은 CPU 쓰레드에 의한 특정 디바이스로의 MMIO
+          레지스터 액세스가 프로그램 순서대로 도착할 것을 보장합니다.
+
+       2. 한 스핀락을 잡은 CPU 쓰레드에 의한 writeX() 는 같은 스핀락을 나중에
+          잡은 다른 CPU 쓰레드에 의해 같은 주변장치를 향해 호출된 writeX()
+          앞으로 순서지어집니다.  이는 스핀락을 잡은 채 특정 디바이스를 향해
+          호출된 MMIO 레지스터 쓰기는 해당 락의 획득에 일관적인 순서로 도달할
+          것을 보장합니다.
+
+       3. 특정 주변장치를 향한 특정 CPU 쓰레드의 writeX() 는 먼저 해당
+          쓰레드로 전파되는, 또는 해당 쓰레드에 의해 요청된 모든 앞선 메모리
+          쓰기가 완료되기 전까지 먼저 기다립니다.  이는 dma_alloc_coherent()
+          를 통해 할당된 전송용 DMA 버퍼로의 해당 CPU 의 쓰기가 이 CPU 가 이
+          전송을 시작시키기 위해 MMIO 컨트롤 레지스터에 쓰기를 할 때 DMA
+          엔진에 보여질 것을 보장합니다.
+
+       4. 특정 CPU 쓰레드에 의한 주변장치로의 readX() 는 같은 쓰레드에 의한
+          모든 뒤따르는 메모리 읽기가 시작되기 전에 완료됩니다.  이는
+          dma_alloc_coherent() 를 통해 할당된 수신용 DMA 버퍼로부터의 CPU 의
+          읽기는 이 DMA 수신의 완료를 표시하는 DMA 엔진의 MMIO 상태 레지스터
+          읽기 후에는 오염된 데이터를 읽지 않을 것을 보장합니다.
+
+       5. CPU 에 의한 주변장치로의 readX() 는 모든 뒤따르는 delay() 루프가
+          수행을 시작하기 전에 완료됩니다.  이는 CPU 의 특정
           주변장치로의 두개의 MMIO 레지스터 쓰기가 행해지는데 첫번째 쓰기가
           readX() 를 통해 곧바로 읽어졌고 이어 두번째 writeX() 전에 udelay(1)
-          ì\9d´ í\98¸ì¶\9cë\90\98ì\97\88ë\8b¤ë©´ ì\9d´ ë\91\90ê°\9cì\9d\98 ì\93°ê¸°ë\8a\94 ìµ\9cì\86\8c 1us ì\9d\98 ê°\84격ì\9d\84 ë\91\90ê³  í\96\89í\95´ì§\88 ê²\83ì\9d´
-          보장ë\90©ë\8b\88ë\8b¤:
+          ì\9d´ í\98¸ì¶\9cë\90\98ì\97\88ë\8b¤ë©´ ì\9d´ ë\91\90ê°\9cì\9d\98 ì\93°ê¸°ë\8a\94 ìµ\9cì\86\8c 1us ì\9d\98 ê°\84격ì\9d\84 ë\91\90ê³  í\96\89í\95´ì§\88 ê²\83ì\9d\84
+          보장í\95©ë\8b\88ë\8b¤:
 
                writel(42, DEVICE_REGISTER_0); // 디바이스에 도착함...
                readl(DEVICE_REGISTER_0);
@@ -2520,9 +2527,9 @@ I/O 액세스를 통한 주변장치와의 통신은 아키텍쳐와 기기에 
 
        이것들은 readX() 와 writeX() 랑 비슷하지만, 더 완화된 메모리 순서
        보장을 제공합니다.  구체적으로, 이것들은 일반적 메모리 액세스나 delay()
-       루프 (예:앞의 2-4 항목) 에 대해 순서를 보장하지 않습니다만 디폴트 I/O
-       기능으로 매핑된 __iomem 포인터에 대해 동작할 때 같은 주변장치로의
-       액세스에는 순서가 맞춰질 것이 보장됩니다.
+       루프 (예:앞의 2-5 항목) 에 대해 순서를 보장하지 않습니다만 디폴트 I/O
+       기능으로 매핑된 __iomem 포인터에 대해 동작할 때, 같은 CPU 쓰레드에 의해
+       같은 주변장치로의 액세스에는 순서가 맞춰질 것이 보장됩니다.
 
  (*) readsX(), writesX():
 
@@ -2558,8 +2565,9 @@ I/O 액세스를 통한 주변장치와의 통신은 아키텍쳐와 기기에 
        이것들은 inX()/outX() 나 readX()/writeX() 처럼 실제로 수행하는 액세스의
        종류에 따라 적절하게 수행될 것입니다.
 
-이 모든 액세스 함수들은 아랫단의 주변장치가 little-endian 이라 가정하며, 따라서
-big-endian 아키텍쳐에서는 byte-swapping 오퍼레이션을 수행합니다.
+String 액세스 함수 (insX(), outsX(), readsX() 그리고 writesX()) 의 예외를
+제외하고는, 앞의 모든 것이 아랫단의 주변장치가 little-endian 이라 가정하며,
+따라서 big-endian 아키텍쳐에서는 byte-swapping 오퍼레이션을 수행합니다.
 
 
 ===================================