리눅스에서 0 번째 물리 코어를 비대칭 적으로 사용할 수 있습니까?


1

SMP와 공정한 스케줄링 알고리즘을 사용하면 머신의 모든 물리적 코어가 Linux에서 균등하게 사용될 것으로 기대합니다. 이론적으로 나는 이것이 사실이라고 생각하지만 실제로는 그렇지 않다고 생각합니다.

평균 리눅스 설정이 특정 프로세스에서 코어 0을 선호 할 수있는 이유에 대해 잘 알고 있습니까? 현실적으로 가능합니까? 모든 사용자 공간 프로세스에 대한 프로세서 선호도가 0xFFFFFFFF로 비트 마스크되었다고 가정 할 수 있습니다. 커널에 대한 사용자 정의 변경도 없습니다.

답변:


1

기본적으로 인터럽트는 CPU0에 의해 처리됩니다. 따라서 모든 앱이 코어에 균등하게 분산되어 있더라도 core0은 더 많은 작업을 수행합니다. irqtune인터럽트 확산도 예 를 참조하십시오 .


흥미 롭군 나는 어둠과 관련하여 인터럽트와 관련이 있다고 생각했지만 커널이 상반신 인터럽트를 어떻게 처리했는지 확실하지 않았습니다. 이것은 내가하고있는 작업 유형이 네트워크를 많이 사용하기 때문에 많은 것을 설명 할 것이므로 패킷 처리에 많은 인터럽트가 예상됩니다. 커널에서 인터럽트 핸들러를 등록 할 때 인터럽트가 등록 된 스레드는 관련이 없습니다. 즉, 커널은 항상 코어 0을 처리합니다 (또는 구성 가능한 코어이지만 항상 단일 스레드가됩니다).
앤드류 파커

1
이것을 찾았습니다 : serverfault.com/questions/446173/… 더 복잡한 것 같습니다. 여기에 약간의 독서가 필요합니다.
Andrew Parker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.