tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Kernel preemption

Andrew Doran wrote:

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

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?

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() ?


Home | Main Index | Thread Index | Old Index