Interrupção do Linux vs. Pesquisa

Estou desenvolvendo um sistema com um DSP e um ARM. No ARM, existe um sistema operacional Linux. Eu tenho um DSP enviando dados para o ARM (Linux) - No Linux, há um módulo do kernel que lê os dados recebidos do DSP. O módulo do kernel está ativando para ler os dados, usando uma interrupção de hardware entre o DSP e o ARM.

Quero escrever um aplicativo de espaço do usuário, que leia os dados do espaço do kernel (o módulo do kernel) toda vez que novos dados forem recebidos do DSP.
A questão é:

Qual é a melhor abordagem para fazer isso, um software interrompe do kernel para o espaço do usuário ou pesquisa a partir do espaço do usuário (lendo um endereço de memória conhecido com o kernel) a cada 10 ms ..?

Sabendo que:

Os dados do DSP para o kernel devem chegar em um tempo muito curto - 100us.Os dados do kernel para o espaço do usuário podem levar de 10 ms a 30 ms.Os dados que estão sendo lidos são considerados pequenos - cerca de 100 bytes.

questionAnswers(3)

yourAnswerToTheQuestion