Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Regarding "fast" path for IRQ handling out of the idle loop
Hi,
I would like to discuss a point related to "fast" path for IRQ handling out of
the idle loop for armv7.
This facility was added for arm as part of the following checkin:
http://mail-index.netbsd.org/source-changes/2012/10/21/msg038109.html
"Implement a "fast" path for IRQ handling out of the idle
loop. Since we
are in SVC32 already we only need to save a few registers.
Processing is
also simplified since we know we can't return to user-mode."
Normally, arm uses irq_entry() to process interrupts. But as part of the above
checkin, if arm is in idle loop, it uses irq_idle_entry. The motivation was as
explained as above.
The point I want to discuss is related to what happens if during irq_idle_entry
processing, a soft interrupt is posted. This may happen, for example, if clock
interrupt posts a soft clock interrupt.
It appears, in that case, the soft interrupt would not be processed as part of
irq_idle_entry processing. This is in contrast to irq_entry(), which processes
any pending soft interrupts towards the end of its processing. Hence it appears
irq_idle_entry may unnecessarily delay processing of soft interrupts.
Thanks and regards,
Ramakrishna DTV
Home |
Main Index |
Thread Index |
Old Index