Lines Matching refs:READ_ONCE
261 Q = READ_ONCE(P); D = READ_ONCE(*Q);
268 READ_ONCE() 는 메모리 배리어 명령도 내게 되어 있어서, DEC Alpha CPU 는
273 DEC Alpha 에서 수행되든 아니든, READ_ONCE() 는 컴파일러로부터의 악영향
279 a = READ_ONCE(*X); WRITE_ONCE(*X, b);
287 WRITE_ONCE(*X, c); d = READ_ONCE(*X);
298 (*) 컴파일러가 READ_ONCE() 나 WRITE_ONCE() 로 보호되지 않은 메모리 액세스를
582 리눅스 커널 v4.15 기준으로, smp_read_barrier_depends() 가 READ_ONCE() 에
584 전용 코드를 만드는 사람들과 READ_ONCE() 자체를 만드는 사람들 뿐임을 의미합니다.
598 Q = READ_ONCE(P);
625 Q = READ_ONCE(P);
655 Q = READ_ONCE(P);
695 q = READ_ONCE(a);
698 p = READ_ONCE(b);
707 q = READ_ONCE(a);
710 p = READ_ONCE(b);
717 q = READ_ONCE(a);
723 하나, READ_ONCE() 도 WRITE_ONCE() 도 선택사항이 아니라 필수사항임을 부디
724 명심하세요! READ_ONCE() 가 없다면, 컴파일러는 'a' 로부터의 로드를 'a' 로부터의
735 그러니 READ_ONCE() 를 반드시 사용하세요.
740 q = READ_ONCE(a);
754 q = READ_ONCE(a);
771 q = READ_ONCE(a);
783 q = READ_ONCE(a);
792 처음의 READ_ONCE() 는 컴파일러가 'a' 의 값을 증명해내는 것을 막기 위해 여전히
799 q = READ_ONCE(a);
811 q = READ_ONCE(a);
821 q = READ_ONCE(a);
838 q = READ_ONCE(a);
846 q = READ_ONCE(a);
850 강조합니다. 조금 더 일반적으로 말해서, READ_ONCE() 는 컴파일러에게 주어진 로드
857 q = READ_ONCE(a);
908 최적화로 없애버렸을 겁니다. READ_ONCE() 와 WRITE_ONCE() 의 주의 깊은
912 합니다. 주의 깊은 READ_ONCE() 나 atomic{,64}_read() 의 사용이 컨트롤
948 WRITE_ONCE(b, 2); x = READ_ONCE(b);
950 y = READ_ONCE(a);
958 WRITE_ONCE(b, &a); x = READ_ONCE(b);
966 r1 = READ_ONCE(y);
968 WRITE_ONCE(x, 1); if (r2 = READ_ONCE(x)) {
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);
1435 r4 = READ_ONCE(v);
1436 r5 = READ_ONCE(u);
1450 r3 = READ_ONCE(u);
1518 하지만, READ_ONCE() 와 WRITE_ONCE() 는 특정 액세스들에 대해서만 동작하는
1530 READ_ONCE() 와 WRITE_ONCE() 함수는 싱글 쓰레드 코드에서는 문제 없지만 동시성이
1544 a[0] = READ_ONCE(x);
1545 a[1] = READ_ONCE(x);
1547 즉, READ_ONCE() 와 WRITE_ONCE() 는 여러 CPU 에서 하나의 변수에 가해지는
1563 컴파일러가 이런 짓을 하지 못하게 하려면 READ_ONCE() 를 사용하세요:
1565 while (tmp = READ_ONCE(a))
1585 이번에도, 컴파일러가 그런 짓을 하는걸 막기 위해 READ_ONCE() 를 사용하세요:
1587 while (tmp = READ_ONCE(a))
1611 READ_ONCE() 를 사용하세요:
1613 while (tmp = READ_ONCE(a))
1616 하지만 컴파일러는 READ_ONCE() 뒤에 나오는 값에 대해서도 눈길을 두고 있음을
1620 while ((tmp = READ_ONCE(a)) % MAX)
1686 if (READ_ONCE(flag))
1687 process_message(READ_ONCE(msg));
1692 READ_ONCE() 와 WRITE_ONCE() 를 사용해야 함을 기억해 두세요. 만약 그런
1694 READ_ONCE() 와 WRITE_ONCE() 는 필요치 않습니다. (근래의 리눅스 커널에서
1699 컴파일러는 READ_ONCE() 와 WRITE_ONCE() 뒤의 READ_ONCE() 나 WRITE_ONCE(),
1703 이 효과는 barrier() 를 통해서도 만들 수 있지만, READ_ONCE() 와
1704 WRITE_ONCE() 가 좀 더 안목 높은 선택입니다: READ_ONCE() 와 WRITE_ONCE()는
1708 READ_ONCE() 와 WRITE_ONCE() 가 일어난 순서도 지켜줍니다, CPU 는 당연히
1737 날조된 로드를 막기 위해선 READ_ONCE() 를 사용하세요.
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() 가
1802 데이터 의존성 READ_ONCE()
1816 READ_ONCE() 매크로부터 보기 시작하는게 좋은 시작이 될겁니다.
2811 사이에 넣어야 합니다 (v4.15 부터는 READ_ONCE() 매크로에 의해 무조건적으로
2844 이후부터는) Alpha 아키텍쳐 전용 코드와 READ_ONCE() 매크로 내부에서를 제외하고는
2891 a = READ_ONCE(*A);
2893 c = READ_ONCE(*C);
2894 d = READ_ONCE(*D);
2941 U = READ_ONCE(*A);
2944 X = READ_ONCE(*A);
2946 Z = READ_ONCE(*A);
2964 READ_ONCE() 와 WRITE_ONCE() 는 반드시 존재해야 함을 알아두세요. 그런 종류의
2965 아키텍쳐에서 READ_ONCE() 와 WRITE_ONCE() 는 이 문제를 막기 위해 필요한 일을
2966 뭐가 됐든지 하게 되는데, 예를 들어 Itanium 에서는 READ_ONCE() 와 WRITE_ONCE()
2988 는, 메모리 배리어나 READ_ONCE() 와 WRITE_ONCE() 없이는 다음과 같이 변형될 수
3008 부터는 리눅스 커널이 READ_ONCE() 내에 smp_read_barrier_depends() 를 추가해서