clarification on explicit preemption points in Fiasco IPC
Sergio Ruocco
sruocco at cse.unsw.edu.au
Thu Jun 21 22:57:08 CEST 2007
Hi all,
Forgive me if this is a silly question because it is documented
somewhere, but I am unfamiliar with Fiasco source, and too in a hurry to
go through all the Fiasco source code and cross-comare it with the
documentation/papers/examples etc....
Skimming though Fiasco source code I checked out few weeks ago (the
Doxygen online version is from 2005, out of date), I found 16
"Proc::preemption_point();" in the IPC path in the source file
thread-ipc.cpp:
[sergio 19:41 ~/Desktop/FIASCO/tudos/kernel/fiasco/src/kern]$ grep
Proc::preemption_point thread-ipc.cpp | wc -l
16
Which tudos/kernel/fiasco/src/drivers/processor.cpp defines as:
...
static inline
void preemption_point()
{
sti();
irq_chance(); [ NOP NOP ]
cli();
}
...
My question is:
As far as I know, Fiasco is entirely preemptable. Then why sprinkling
the IPC path with Enable IRQs/NOP NOP/Disable IRQs ?
Is there a document or a paper that discuss which parts of the kernel
run with IRQs disabled / enabled ? Preemption disabled / enabled etc. ?
Thanks in advance,
Sergio
--
Sergio Ruocco, PhD Research Fellow
ruocco at disco.unimib.it / sergio.ruocco at gmail.com NOMADIS Lab.
phone: +39-02-6448-7879 mobile, embedded real-time systems
skype: 'sergioruocco' Università degli Studi di Milano-Bicocca, Italy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sruocco.vcf
Type: text/x-vcard
Size: 107 bytes
Desc: not available
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20070621/82bf5e4d/attachment.vcf>
More information about the l4-hackers
mailing list