これはあなたの質問に対する正確な答えではありませんが、プロセスがどのように機能するかを説明できれば幸いです。AD変換のために実行しているハードウェアについて言及していないので、おそらくこれができる最善の方法です:
同じ問題に直面しているオーディオ ハードウェアの場合、解決策はハードウェアとドライバーが連携することです。ハードウェアがバッファーを十分に満たすと、(割り込みまたは同様のメカニズムを介して) ドライバーに通知します。場合によっては、ドライバーがハードウェアまたはそのようなものをポーリングすることも可能ですが、それは効率の悪い解決策であり、誰もそのようにしているとは思えません (おそらく安価なハードウェアでは?)。そこから、ドライバー プロセスはエンド ユーザー プロセスを直接呼び出すか、単に関連するエンド ユーザー プロセスを「実行可能」としてマークします。いずれにせよ、制御をエンド ユーザー プロセスに移す必要があります。
そのためには、エンド ユーザー プロセスが、その時点で CPU を占有している他のプロセスよりも高い優先度で実行されている必要があります。プロセスが常にキューの最初になるようにするために、適切なアクセス許可を使用して高い優先度でプロセスを実行できます。非常に高い優先度で実行することもできます。
最優先のプロセスが実行可能から実行に移行するまでにかかる時間は、OS の「レイテンシ」と呼ばれることがありますが、より具体的な専門用語があると思います。Linux の遅延は 1 ミリ秒程度ですが、「ハードな」リアルタイム OS ではないため、これは保証されません。これがデータのチャンクを処理するには長すぎる場合は、ドライバーでその一部をバッファリングする必要がある場合があります。