[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: About Kernel preemption and kernel mode stack
Hi Michi,
Thanks for pointing this out. Of course I was describing an RTOS in general,
but it's good to know now that one can pre-empt user space code w/o
pre-empting kernel code.
I thought that - given the general question - an initial general RTOS vs.
"superloop" programming rundown would clarify better how keyboard data
can/could be handled.. :-)
Because I came from the lowest level (HW, then ASM coding, then C coding on
memory constrained targets), sometimes I wonder if that actually really is
an advantage. It seems the task of really learning Linux kernel coding still
is just as daunting anyhow.... (rather than having a PC coding background,
coming from the
highest level and then going down).
Best Regards,
Kris
-----Original Message-----
From: kernelnewbies-bounce@xxxxxxxxxxxx
[mailto:kernelnewbies-bounce@xxxxxxxxxxxx] On Behalf Of Michael Blizek
Sent: Friday, 6 March 2009 5:04 PM
To: microbit@xxxxxxxxxxxxxxxxxxxxxx
Cc: Kernelnewbies
Subject: Re: About Kernel preemption and kernel mode stack
Hi!
On 12:15 Fri 06 Mar , microbit@xxxxxxxxxxxxxxxxxxxxxx wrote:
...
> In this case it's common to use co-operative scheduling. This means that
> when a task does not need further execution, it must relinquish control
> back to the scheduler. I personally find this a real pig to program like
> that, but it does allow very compact targets (altough this is more for the
> embedded world)
Just because you do not want to preempt running kernel code, it does not
mean
that you have to do co-operative scheduling. You can still preempt user
space
code. You can see the "big kernel lock" for more details (but do *not* use
it
in new code - people try to get rid of it).
-Michi
--
programing a layer 3+4 network protocol for mesh networks
see http://michaelblizek.twilightparadox.com
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ