Ben Leslie benno at
Mon Apr 30 09:11:52 CEST 2007

On Sun Apr 29, 2007 at 21:31:03 -0700, Peter Nguyen wrote:
>OK.  Where is this code located? 
>I'm currently using L4Ka::Pistachio, API version 0x84.0x5, Kernel ID 4.2 (as
>stated when printing out the KIP in open firmware).

I'm not 100% familiar with that codebase, but you probably want to look in the
platform specific serial driver code.

>Some other questions:
>1) Are external interrupts disabled during the polling process as well?


>2) Forgive my ignorance, but is L4 multithreaded? I'm asking this because of
>the minimal nature of a microkernel (which may not require multithreading
>given the minimal code that theoretically is there to execute).

L4 is at userlevel, but inside the kernel itself (at least the pistachio kernel), 
it is basically single threaded. (Well even this depends on your point of view,
there are multiple different threads, but only one will ever be executing.)

>Ben Leslie-2 wrote:
>> On Wed Apr 25, 2007 at 18:50:21 -0700, Peter Nguyen wrote:
>>>OK, so with that in mind, where does the polling take place?  I might be
>>>wrong in saying this, but is there a portion of code that deals directly
>>>with the polling of I/O?  The reason i ask this is that i think that the
>>>polling of I/O has an affect on the performance monitoring facilities,
>>>specifically when a performance counter overflows.  This would, in turn,
>>>have an affect on the ability to take samples given that samples might not
>>>be taken while waiting for input.
>> On our kernel this happens within the kernel itself. There is also a
>> non-blocking version which allows you to perform the polling at
>> user-level itself. I would suggest you do this which would possibly
>> avoid the problems you are seeing.
>> _______________________________________________
>> l4-hackers mailing list
>> l4-hackers at
>View this message in context:
>Sent from the L4 mailing list archive at
>l4-hackers mailing list
>l4-hackers at

More information about the l4-hackers mailing list