Leitura da porta serial do Linux - posso alterar o tamanho do buffer de entrada?

Estou escrevendo um aplicativo no Ubuntu Linux em C ++ para ler dados de uma porta serial. Ele está funcionando com sucesso pelo meu código chamandoselect() e depoisioctl(fd,FIONREAD,&bytes_avail) para descobrir quantos bytes estão disponíveis antes de finalmente obter os dados usandoread().

Minha pergunta é esta: toda vezselect retorna com dados, o número de bytes disponíveis é relatado como 8. Eu estou supondo que este é um tamanho de buffer definido em algum lugar e que selecione retorna notificação para o usuário quando este buffer está cheio.

Sou novo no Linux como desenvolvedor (mas não novo no C ++) e tentei pesquisar (sem sucesso) se é possível alterar o tamanho desse buffer ou, na verdade, se minhas suposições são verdadeiras. No meu aplicativo, o tempo é crítico e preciso ser alertado sempre que houver um novo byte no buffer de leitura. Isso é possível, sem se aprofundar no código do kernel?

questionAnswers(2)

yourAnswerToTheQuestion