Lines Matching refs:WRITE_ONCE

279 	a = READ_ONCE(*X); WRITE_ONCE(*X, b);
287 WRITE_ONCE(*X, c); d = READ_ONCE(*X);
298 (*) 컴파일러가 READ_ONCE() 나 WRITE_ONCE() 로 보호되지 않은 메모리 액세스를
597 WRITE_ONCE(P, &B)
624 WRITE_ONCE(P, &B);
654 WRITE_ONCE(P, &B);
656 WRITE_ONCE(*Q, 5);
719 WRITE_ONCE(b, 1);
723 하나, READ_ONCE() 도 WRITE_ONCE() 도 선택사항이 아니라 필수사항임을 부디
725 또다른 로드와 조합할 수 있습니다. WRITE_ONCE() 가 없다면, 컴파일러는 'b' 로의
743 WRITE_ONCE(b, 1);
747 WRITE_ONCE(b, 1);
756 WRITE_ONCE(b, 1); /* BUG: No ordering vs. load from a!!! */
758 /* WRITE_ONCE(b, 1); -- moved up, BUG!!! */
761 /* WRITE_ONCE(b, 1); -- moved up, BUG!!! */
785 WRITE_ONCE(b, 1);
788 WRITE_ONCE(b, 2);
801 WRITE_ONCE(b, 1);
804 WRITE_ONCE(b, 2);
812 WRITE_ONCE(b, 2);
824 WRITE_ONCE(b, 1);
827 WRITE_ONCE(b, 2);
840 WRITE_ONCE(b, 1);
847 WRITE_ONCE(b, 1);
859 WRITE_ONCE(b, 1);
861 WRITE_ONCE(b, 2);
863 WRITE_ONCE(c, 1); /* BUG: No ordering against the read from 'a'. */
908 최적화로 없애버렸을 겁니다. READ_ONCE() 와 WRITE_ONCE() 의 주의 깊은
946 WRITE_ONCE(a, 1);
948 WRITE_ONCE(b, 2); x = READ_ONCE(b);
958 WRITE_ONCE(b, &a); x = READ_ONCE(b);
968 WRITE_ONCE(x, 1); if (r2 = READ_ONCE(x)) {
970 WRITE_ONCE(y, 1);
983 WRITE_ONCE(a, 1); }---- --->{ v = READ_ONCE(c);
984 WRITE_ONCE(b, 2); } \ / { w = READ_ONCE(d);
986 WRITE_ONCE(c, 3); } / \ { x = READ_ONCE(a);
987 WRITE_ONCE(d, 4); }---- --->{ y = READ_ONCE(b);
1428 WRITE_ONCE(u, 1);
1448 WRITE_ONCE(v, 1);
1518 하지만, READ_ONCE() 와 WRITE_ONCE() 는 특정 액세스들에 대해서만 동작하는
1530 READ_ONCE() 와 WRITE_ONCE() 함수는 싱글 쓰레드 코드에서는 문제 없지만 동시성이
1547 즉, READ_ONCE() 와 WRITE_ONCE() 는 여러 CPU 에서 하나의 변수에 가해지는
1642 컴파일러가 그런 잘못된 추측을 하지 않도록 WRITE_ONCE() 를 사용하세요:
1644 WRITE_ONCE(a, 0);
1646 WRITE_ONCE(a, 0);
1676 WRITE_ONCE() 를 사용하세요:
1680 WRITE_ONCE(msg, get_message());
1681 WRITE_ONCE(flag, true);
1692 READ_ONCE() 와 WRITE_ONCE() 를 사용해야 함을 기억해 두세요. 만약 그런
1694 READ_ONCE() 와 WRITE_ONCE() 는 필요치 않습니다. (근래의 리눅스 커널에서
1699 컴파일러는 READ_ONCE() 와 WRITE_ONCE() 뒤의 READ_ONCE() 나 WRITE_ONCE(),
1704 WRITE_ONCE() 가 좀 더 안목 높은 선택입니다: READ_ONCE() 와 WRITE_ONCE()는
1708 READ_ONCE() 와 WRITE_ONCE() 가 일어난 순서도 지켜줍니다, CPU 는 당연히
1727 되는 경우를 가능하게 합니다. 이걸 방지하기 위해 WRITE_ONCE() 를
1731 WRITE_ONCE(b, a);
1733 WRITE_ONCE(b, 42);
1753 WRITE_ONCE() 의 사용은 스토어 티어링을 방지합니다:
1755 WRITE_ONCE(p, 0x00010002);
1772 READ_ONCE() 나 WRITE_ONCE() 도 없고 volatile 마킹도 없기 때문에,
1775 스토어 티어링을 초래할 겁니다. 이 예에서도 READ_ONCE() 와 WRITE_ONCE()
1779 WRITE_ONCE(foo2.b, READ_ONCE(foo1.b));
1782 그렇지만, volatile 로 마크된 변수에 대해서는 READ_ONCE() 와 WRITE_ONCE() 가
1784 READ_ONCE(jiffies) 라고 할 필요가 없습니다. READ_ONCE() 와 WRITE_ONCE() 가
2257 WRITE_ONCE(*A, a); WRITE_ONCE(*E, e);
2259 WRITE_ONCE(*B, b); WRITE_ONCE(*F, f);
2260 WRITE_ONCE(*C, c); WRITE_ONCE(*G, g);
2262 WRITE_ONCE(*D, d); WRITE_ONCE(*H, h);
2892 WRITE_ONCE(*B, b);
2895 WRITE_ONCE(*E, e);
2942 WRITE_ONCE(*A, V);
2943 WRITE_ONCE(*A, W);
2945 WRITE_ONCE(*A, Y);
2964 READ_ONCE() 와 WRITE_ONCE() 는 반드시 존재해야 함을 알아두세요. 그런 종류의
2965 아키텍쳐에서 READ_ONCE() 와 WRITE_ONCE() 는 이 문제를 막기 위해 필요한 일을
2966 뭐가 됐든지 하게 되는데, 예를 들어 Itanium 에서는 READ_ONCE() 와 WRITE_ONCE()
2982 따라서, 쓰기 배리어나 WRITE_ONCE() 가 없다면 *A 로의 V 값의 저장의 효과는
2988 는, 메모리 배리어나 READ_ONCE() 와 WRITE_ONCE() 없이는 다음과 같이 변형될 수