tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Kernel preemption
Andrew Doran wrote:
Hi,
The below patch implments in-kernel preemption for the i386 port. By default
LWPs will only preempt in kernel if they are in a real-time priority band.
The priority level is tunable via sysctl. Setting it to zero seems to shake
out a lot of interesting bugs.
I believe that. curcpu() must be cached in a local variable, for
example.
It needs a bit more work, for stuff like FPU state, and I also want to
extend it to amd64. I think it should not be enabled by default until the
bugs it exposes are shaken out. Any comments?
http://www.netbsd.org/~ad/preempt.diff
In pmap.c, pmap_copy_page() shouldn't be this
+ id = cpu_number();
+ kpreempt_disable();
changed to
+ kpreempt_disable();
+ id = cpu_number();
as you do in pmap_zero_page() ?
Christoph
Home |
Main Index |
Thread Index |
Old Index