>>>>> On Fri, 28 May 2004 10:51:51 -0700, Jun Sun <jsun@mvista.com> said:
>> Q1. What is purpose of this block? (To decrease latency? But
>> other archs (and 2.6 MIPS kernel) do not have block like this...)
jsun> This is to check possible preemption at the end of (possibly
jsun> nested) interrupt handling.
jsun> All other arches and 2.6 MIPS are doing the same thing in .S
jsun> file (something like ret_from_irq path)
Oh, I found it in 2.6 MIPS kernel. Thank you very much.
>> Q2. If an interrupt happened between __sti() and __cli(), and the
>> interrupt handler raise softirq, the softirq handler will not be
>> called soon (because do_softirq() immediately return if preempt
>> disabled). So we must check softirq_pending again after this
>> block?
jsun> do_softirq() does not (and should not) return when preemtpion is
jsun> disabled. We should be fine here.
Sorry, it was my mistake. I was misreading the in_interrupt()
code... (&& and ||). Thank you.
---
Atsushi Nemoto
|