특정 CPU 코어에서 Linux를 실행할 수 있나요?

특정 CPU 코어에서 Linux를 실행할 수 있나요?

뇌파 감지 장치를 만들고 있어요. 소프트웨어 처리에는 8코어 ARM 프로세서가 사용됩니다. CPU 코어 관리와 관련하여 특정 코어 세트에서만 실행되도록 Linux를 코딩할 수 있습니까? 코어 1, 2, 3을 가정합니다. 그러나 별도의 코어에서 장치 드라이버도 생성해야 하므로 너무 엄격해서는 안 됩니다(코어 4를 예로 들어 보겠습니다). 그래서 이것이 가능합니까?

답변1

다음을 사용하여 커널 스케줄러가 CPU 코어를 무시하도록 CPU 코어를 격리할 수 있습니다.isolcpus 커널 매개변수, 또는CPU 그룹.

그러니 커널을 시작하세요

isolcpus=4-7

코어 5~8은 사용자가 직접 사용하도록 예약되어 있으므로 스레드 선호도를 사용하여 수동으로 프로세스를 예약해야 합니다.

커널의 드라이버에 CPU 코어를 전용으로 할당하는 것은 불가능하다고 생각합니다.

답변2

프로세스를 특정 코어로 제한할 수 있습니다.

taskset mask command [arguments]

관련 정보