Lines Matching refs:a

2 This is a version of Documentation/memory-barriers.txt translated into Korean.
5 a problem with the translation, please contact the maintainer of this file.
9 a fork. So if you have any comments or updates for this file please
277 a = READ_ONCE(*X); WRITE_ONCE(*X, b);
281 a = LOAD *X, STORE *X = b
362 either an object of scalar type, or a maximal sequence
371 to two bit-fields, if one is declared inside a nested
373 are separated by a zero-length bit-field declaration,
374 or if they are separated by a non-bit-field member
701 q = READ_ONCE(a);
711 CPU 는 b 로부터의 로드 오퍼레이션이 a 로부터의 로드 오퍼레이션보다 먼저 발생한
714 q = READ_ONCE(a);
724 q = READ_ONCE(a);
731 명심하세요! READ_ONCE() 가 없다면, 컴파일러는 'a' 로부터의 로드를 'a' 로부터의
736 이걸로 끝이 아닌게, 컴파일러가 변수 'a' 의 값이 항상 0이 아니라고 증명할 수
739 q = a;
747 q = READ_ONCE(a);
761 q = READ_ONCE(a);
763 WRITE_ONCE(b, 1); /* BUG: No ordering vs. load from a!!! */
772 이제 'a' 에서의 로드와 'b' 로의 스토어 사이에는 조건적 관계가 없기 때문에 CPU
778 q = READ_ONCE(a);
790 q = READ_ONCE(a);
799 처음의 READ_ONCE() 는 컴파일러가 'a' 의 값을 증명해내는 것을 막기 위해 여전히
806 q = READ_ONCE(a);
818 q = READ_ONCE(a);
822 이렇게 되면, CPU 는 변수 'a' 로부터의 로드와 변수 'b' 로의 스토어 사이의 순서를
828 q = READ_ONCE(a);
829 BUILD_BUG_ON(MAX <= 1); /* Order load from a with store to b. */
845 q = READ_ONCE(a);
853 q = READ_ONCE(a);
864 q = READ_ONCE(a);
870 WRITE_ONCE(c, 1); /* BUG: No ordering against the read from 'a'. */
878 ld r1,a
885 완화된 순서 규칙의 CPU 는 'a' 로부터의 로드와 'c' 로의 스토어 사이에 어떤
953 WRITE_ONCE(a, 1);
957 y = READ_ONCE(a);
963 a = 1;
965 WRITE_ONCE(b, &a); x = READ_ONCE(b);
990 WRITE_ONCE(a, 1); }---- --->{ v = READ_ONCE(c);
993 WRITE_ONCE(c, 3); } / \ { x = READ_ONCE(a);
1543 a[0] = x;
1544 a[1] = x;
1546 x 의 예전 값이 a[1] 에, 새 값이 a[0] 에 있게 할 수 있다는 뜻입니다.
1549 a[0] = READ_ONCE(x);
1550 a[1] = READ_ONCE(x);
1558 while (tmp = a)
1564 if (tmp = a)
1570 while (tmp = READ_ONCE(a))
1577 while (tmp = a)
1583 while (a)
1584 do_something_with(a);
1586 예를 들어, 최적화된 이 코드는 변수 a 가 다른 CPU 에 의해 "while" 문과
1592 while (tmp = READ_ONCE(a))
1602 예를 들어, 다음의 코드는 변수 'a' 의 값이 항상 0임을 증명할 수 있다면:
1604 while (tmp = a)
1612 때문입니다. 문제는 컴파일러가 'a' 의 값을 업데이트 하는건 현재의 CPU 하나
1613 뿐이라는 가정 위에서 증명을 했다는데 있습니다. 만약 변수 'a' 가 공유되어
1618 while (tmp = READ_ONCE(a))
1625 while ((tmp = READ_ONCE(a)) % MAX)
1630 것처럼 최적화 하는 것이 허용되어 버립니다. ('a' 변수의 로드는 여전히
1639 a = 0;
1640 ... 변수 a 에 스토어를 하지 않는 코드 ...
1641 a = 0;
1643 컴파일러는 변수 'a' 의 값은 이미 0이라는 것을 알고, 따라서 두번째 스토어를
1644 삭제할 겁니다. 만약 다른 CPU 가 그 사이 변수 'a' 에 다른 값을 썼다면
1649 WRITE_ONCE(a, 0);
1650 ... 변수 a 에 스토어를 하지 않는 코드 ...
1651 WRITE_ONCE(a, 0);
1718 if (a)
1719 b = a;
1726 if (a)
1727 b = a;
1731 CPU 가 'b' 를 로드할 때, -- 'a' 가 0이 아닌데도 -- 가짜인 값, 42를 보게
1735 if (a)
1736 WRITE_ONCE(b, a);
1766 short a;
1773 foo2.a = foo1.a;
1783 foo2.a = foo1.a;
1814 것으로 (예: `a[b]` 는 a[b] 를 로드 하기 전에 b 의 값을 먼저 로드한다)
1816 b 로드 전에 a 로드를 하는 코드 (예: tmp = a[1]; if (b != 1) tmp = a[b]; ) 를
1817 만들지 않아야 한다는 내용 같은 건 없습니다. 또한 컴파일러는 a[b] 를 로드한
1818 후에 b 를 또다시 로드할 수도 있어서, a[b] 보다 최신 버전의 b 값을 가질 수도
2009 *A = a;
2029 *A = a;
2073 *A = a;
2281 WRITE_ONCE(*A, a); WRITE_ONCE(*E, e);
2739 a = READ_ONCE(*A);