割り込みの排他処理に関するバグ(2)

昨日のエントリにコメントをいただきました。

ujinosuke 2009/05/18 12:55 #16714は candidates = priori... の部分をi_lock_cpu()等でLockすることで解決はできませんでしょうか? #16729 はdis_intする前に必ず対象デバイスをOFFして(割り込みをかからないようにして)から呼ぶという、対処方法でもよいでしょうか?

#16714

私はその方法での解決を考えています。ただ、一つ問題があります。割り込みの保護範囲は、interrupt_dispatcher()を呼ぶ前から始まらなければなりません。そして、candidateの算出後に保護を解除します。つまり、保護の範囲がinterrupt_dipsatcher()の呼び出しをまたぎます。

#16729

その方法で上手く機能します。が、そこまでするならSIC_IMASKをいじる必要が無いんですよね(^^;