最近、私はいくつかのインタビューに参加しました。尋ねられたすべてのカーネルの質問のうち、説得力のある答えを見つけることができなかった特定の質問が 1 つあります。
ユーザー空間プロセスと割り込みコンテキスト関数の間でデータを共有しながら、さまざまな同期手法をどのように使用しますか? 私の説得力のある答えは次のとおりです。
割り込みコンテキスト コード:
1. do *spin_lock_irqsave*
2. access data buffer which is shared between user space app and kernel
3. do *spin_lock_irqrestore*
それから、これは説得力のある答えではありませんでした。データアクセスのすべてのインスタンスで行う必要がirqsave
ありますか?irqrestore