주어진 작업 (또는 시스템 호출)이 원자 적인지를 확인하기 위해 (커널 소스 코드를 읽는 것 외에) 신뢰할 수있는 방법을 찾고 싶다. (다른 프로세스는 그 작업 전후의 상태 만 볼 수 있다는 의미에서 그 사이에있는 것이 아닙니다). 이것의 목표는 커널이 이미 저를 위해 그것을하는 경우에 어떤 가동을 위해 불필요한 자물쇠를 사용하는 것을 피하기위한 것이다.주어진 작업 (또는 시스템 호출)이 Linux에서 어 떤 원자인지 확인하려면 어떻게합니까?
지금까지 나는이 항목에 대해 this과 같은 리소스를 찾을 수 있지만 이는 결코 권위가 있거나 철저하지 않습니다. 또한 Linux man 페이지에는 이에 대한 정보가 거의 없습니다. 예를 들어, 위의 링크에서 언급 한 대부분의 함수에서 맨 페이지의 원 자성에 대해서는 아무 것도 발견하지 못합니다.
이 정보를 제공하는 표준 또는 공식 문서가 있으면 알려 줄 수 있습니까? 어떤 도움이라도 대단히 감사 할 것입니다.
저는 리눅스 커널 전문가는 아니지만 그런 목록이 존재하는지는 의심 스럽습니다. 내일 코드를 작성한다면, 도움이 될 것입니다.하지만 지금부터 12.43 개월 후에 출시되는 Linux 6.4는 구현을 변경합니다. 갑자기 자물쇠가 더 이상 필요하지 않습니다. 또는 갑자기 모든 것이 갑자기 필요합니다. – GhostCat