aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/translations/ko_KR/memory-barriers.txt94
1 files changed, 7 insertions, 87 deletions
diff --git a/Documentation/translations/ko_KR/memory-barriers.txt b/Documentation/translations/ko_KR/memory-barriers.txt
index bc0be1d3053f..a7a813258013 100644
--- a/Documentation/translations/ko_KR/memory-barriers.txt
+++ b/Documentation/translations/ko_KR/memory-barriers.txt
@@ -523,11 +523,11 @@ CPU 에게 기대할 수 있는 최소한의 보장사항 몇가지가 있습니
523 즉, ACQUIRE 는 최소한의 "취득" 동작처럼, 그리고 RELEASE 는 최소한의 "공개" 523 즉, ACQUIRE 는 최소한의 "취득" 동작처럼, 그리고 RELEASE 는 최소한의 "공개"
524 처럼 동작한다는 의미입니다. 524 처럼 동작한다는 의미입니다.
525 525
526core-api/atomic_ops.rst 에 설명 어토믹 오퍼레이션들 중는 완전히 526atomic_t.txt 에 설명 어토믹 오퍼레이션들 중 완전히 순서잡힌 것들과
527순서잡힌 것들과 (배리어를 사용하지 않는) 완화된 순서의 것들 외에 ACQUIRE 와 527(배리어를 사용하지 않는) 완화된 순서의 것들 외에 ACQUIRE 와 RELEASE 부류의
528RELEASE 부류의 것들도 존재합니다. 로드와 스토어를 모두 수행하는 조합된 어토믹 528것들도 존재합니다. 로드와 스토어를 모두 수행하는 조합된 어토믹 오퍼레이션에서,
529오퍼레이션에서, ACQUIRE 는 해당 오퍼레이션의 로드 부분에만 적용되고 RELEASE 는 529ACQUIRE 는 해당 오퍼레이션의 로드 부분에만 적용되고 RELEASE 는 해당
530해당 오퍼레이션의 스토어 부분에만 적용됩니다. 530오퍼레이션의 스토어 부분에만 적용됩니다.
531 531
532메모리 배리어들은 두 CPU 간, 또는 CPU 와 디바이스 간에 상호작용의 가능성이 있을 532메모리 배리어들은 두 CPU 간, 또는 CPU 와 디바이스 간에 상호작용의 가능성이 있을
533때에만 필요합니다. 만약 어떤 코드에 그런 상호작용이 없을 것이 보장된다면, 해당 533때에만 필요합니다. 만약 어떤 코드에 그런 상호작용이 없을 것이 보장된다면, 해당
@@ -1854,8 +1854,7 @@ Mandatory 배리어들은 SMP 시스템에서도 UP 시스템에서도 SMP 효
1854 이 코드는 객체의 업데이트된 death 마크가 레퍼런스 카운터 감소 동작 1854 이 코드는 객체의 업데이트된 death 마크가 레퍼런스 카운터 감소 동작
1855 *전에* 보일 것을 보장합니다. 1855 *전에* 보일 것을 보장합니다.
1856 1856
1857 더 많은 정보를 위해선 Documentation/core-api/atomic_ops.rst 문서를 참고하세요. 1857 더 많은 정보를 위해선 Documentation/atomic_{t,bitops}.txt 문서를
1858 어디서 이것들을 사용해야 할지 궁금하다면 "어토믹 오퍼레이션" 서브섹션을
1859 참고하세요. 1858 참고하세요.
1860 1859
1861 1860
@@ -2474,86 +2473,7 @@ _않습니다_.
2474전체 메모리 배리어를 내포하고 또 일부는 내포하지 않지만, 커널에서 상당히 2473전체 메모리 배리어를 내포하고 또 일부는 내포하지 않지만, 커널에서 상당히
2475의존적으로 사용하는 기능 중 하나입니다. 2474의존적으로 사용하는 기능 중 하나입니다.
2476 2475
2477메모리의 어떤 상태를 수정하고 해당 상태에 대한 (예전의 또는 최신의) 정보를 2476더 많은 내용을 위해선 Documentation/atomic_t.txt 를 참고하세요.
2478리턴하는 어토믹 오퍼레이션은 모두 SMP-조건적 범용 메모리 배리어(smp_mb())를
2479실제 오퍼레이션의 앞과 뒤에 내포합니다. 이런 오퍼레이션은 다음의 것들을
2480포함합니다:
2481
2482 xchg();
2483 atomic_xchg(); atomic_long_xchg();
2484 atomic_inc_return(); atomic_long_inc_return();
2485 atomic_dec_return(); atomic_long_dec_return();
2486 atomic_add_return(); atomic_long_add_return();
2487 atomic_sub_return(); atomic_long_sub_return();
2488 atomic_inc_and_test(); atomic_long_inc_and_test();
2489 atomic_dec_and_test(); atomic_long_dec_and_test();
2490 atomic_sub_and_test(); atomic_long_sub_and_test();
2491 atomic_add_negative(); atomic_long_add_negative();
2492 test_and_set_bit();
2493 test_and_clear_bit();
2494 test_and_change_bit();
2495
2496 /* exchange 조건이 성공할 때 */
2497 cmpxchg();
2498 atomic_cmpxchg(); atomic_long_cmpxchg();
2499 atomic_add_unless(); atomic_long_add_unless();
2500
2501이것들은 메모리 배리어 효과가 필요한 ACQUIRE 부류와 RELEASE 부류 오퍼레이션들을
2502구현할 때, 그리고 객체 해제를 위해 레퍼런스 카운터를 조정할 때, 암묵적 메모리
2503배리어 효과가 필요한 곳 등에 사용됩니다.
2504
2505
2506다음의 오퍼레이션들은 메모리 배리어를 내포하지 _않기_ 때문에 문제가 될 수
2507있지만, RELEASE 부류의 오퍼레이션들과 같은 것들을 구현할 때 사용될 수도
2508있습니다:
2509
2510 atomic_set();
2511 set_bit();
2512 clear_bit();
2513 change_bit();
2514
2515이것들을 사용할 때에는 필요하다면 적절한 (예를 들면 smp_mb__before_atomic()
2516같은) 메모리 배리어가 명시적으로 함께 사용되어야 합니다.
2517
2518
2519아래의 것들도 메모리 배리어를 내포하지 _않기_ 때문에, 일부 환경에서는 (예를
2520들면 smp_mb__before_atomic() 과 같은) 명시적인 메모리 배리어 사용이 필요합니다.
2521
2522 atomic_add();
2523 atomic_sub();
2524 atomic_inc();
2525 atomic_dec();
2526
2527이것들이 통계 생성을 위해 사용된다면, 그리고 통계 데이터 사이에 관계가 존재하지
2528않는다면 메모리 배리어는 필요치 않을 겁니다.
2529
2530객체의 수명을 관리하기 위해 레퍼런스 카운팅 목적으로 사용된다면, 레퍼런스
2531카운터는 락으로 보호되는 섹션에서만 조정되거나 호출하는 쪽이 이미 충분한
2532레퍼런스를 잡고 있을 것이기 때문에 메모리 배리어는 아마 필요 없을 겁니다.
2533
2534만약 어떤 락을 구성하기 위해 사용된다면, 락 관련 동작은 일반적으로 작업을 특정
2535순서대로 진행해야 하므로 메모리 배리어가 필요할 수 있습니다.
2536
2537기본적으로, 각 사용처에서는 메모리 배리어가 필요한지 아닌지 충분히 고려해야
2538합니다.
2539
2540아래의 오퍼레이션들은 특별한 락 관련 동작들입니다:
2541
2542 test_and_set_bit_lock();
2543 clear_bit_unlock();
2544 __clear_bit_unlock();
2545
2546이것들은 ACQUIRE 류와 RELEASE 류의 오퍼레이션들을 구현합니다. 락 관련 도구를
2547구현할 때에는 이것들을 좀 더 선호하는 편이 나은데, 이것들의 구현은 많은
2548아키텍쳐에서 최적화 될 수 있기 때문입니다.
2549
2550[!] 이런 상황에 사용할 수 있는 특수한 메모리 배리어 도구들이 있습니다만, 일부
2551CPU 에서는 사용되는 어토믹 인스트럭션 자체에 메모리 배리어가 내포되어 있어서
2552어토믹 오퍼레이션과 메모리 배리어를 함께 사용하는 게 불필요한 일이 될 수
2553있는데, 그런 경우에 이 특수 메모리 배리어 도구들은 no-op 이 되어 실질적으로
2554아무일도 하지 않습니다.
2555
2556더 많은 내용을 위해선 Documentation/core-api/atomic_ops.rst 를 참고하세요.
2557 2477
2558 2478
2559디바이스 액세스 2479디바이스 액세스