Não tenho certeza se entendi a pergunta completamente, mas esta pergunta anterior parece que abrange território semelhante?
Estou terminando parte do projeto que comecei há pouco e preciso de um kernel decente para ele. Existe um código que é crítico para ser executado o tempo todo, uma vez que a latência maior que 1us pode ter impacto na qualidade do sinal gerado.
Meu hardware é mais provável de ser o ARM Cortex A-53, 4x1.2GHz com 1GB de RAM (teste na placa Pine64). Simplesmente dito, eu tenho código rodando o tempo todo em loop, que está checando por mudança de dados na memória, e então computando e enviando sinais. Então, exceto GPIO pinos manipulação não haverá quaisquer chamadas do sistema, como impressão de saída para console, abertura de arquivos, malloc / free etc ... Todas essas coisas serão executadas em outros núcleos.
Eu gostaria de usar o linux, na medida em que ele tem muitos recursos que gostaria de usar em outros três núcleos, como renderização de GUI, renderizando simples simulações de máquina com OpenGL e também recebendo instruções. Eu sei que são muitos requisitos para um chip tão pequeno, mas existe alguma maneira de fazer isso funcionar?
Eu tentei passar o parâmetro isolcpus=3
para o kernel do linux e desabilitar os irqs neste cpu. Então eu criei um processo simples com taskset
- mas não funcionou como esperado, pois havia um jitter de 5us.
Não tenho certeza se entendi a pergunta completamente, mas esta pergunta anterior parece que abrange território semelhante?