Posso executar o Linux em núcleos de CPU específicos?

2

Estou fazendo um dispositivo de detecção de ondas cerebrais. Estará usando um processador ARM Octa-Core para o processamento do software. Para o gerenciamento de núcleos de CPU, posso codificar o Linux para rodar estritamente em um conjunto específico de núcleos? Vamos dizer core 1, 2 e 3. Mas não deve ser muito rigoroso, pois também preciso gerar o driver de dispositivo em um núcleo separado (vamos usar o core 4). Então, é possível fazer isso?

    
por Mitesh G 13.05.2018 / 13:00

2 respostas

2

Você pode isolar núcleos de CPU, para que o agendador de kernel os ignore, usando o isolcpus parâmetro do kernel ou conjuntos de CPU .

Assim, inicializando seu kernel com

isolcpus=4-7

deixará os núcleos 5 a 8 para seus próprios propósitos; Você precisa agendar manualmente seus processos usando a afinidade de thread.

Eu não acho que é possível dedicar um núcleo de CPU a um driver no kernel.

    
por 13.05.2018 / 15:38
1

Você pode limitar um processo a determinados núcleos:

taskset mask command [arguments]
    
por 13.05.2018 / 13:07