저는 4코어 ARM CPU를 사용하여 임베디드 실시간 Linux 장치를 작성하고 있습니다. 10kHz에서는 주기적인 계산이 필요하며, 이는 지터가 너무 심해져서 손실되어서는 안 됩니다. 내 POSIX 스레드는 사용 중인 루프에서 하드웨어가 제공하는 10kHz 토글 레지스터를 읽고 비트가 토글될 때 계산을 수행할 수 있습니다.
SCHED_RR
스케줄러가 pthread를 중단하는 것을 방지하기 위해 특별히 이 스레드에 대해 CPU 선호도를 코어 2로 설정하고 우선 순위를 99(최대)로 설정했습니다. 몇몇 다른 스레드에는 CPU 선호도가 2가 아닌 코어로 설정되어 있고 우선 순위가 50입니다. 그러나 여전히 시스템이 실행 중이고 다른 많은 프로세스가 있습니다.
스레드가 스케줄러에 의해 중단되는 것을 방지하기에 충분합니까? 그렇지 않다면 이를 달성할 수 있는 방법이 있습니까?