Port-i386 archive

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

Re: Kernel preemption



On Fri, Apr 25, 2008 at 11:23:26PM +0200, Christoph Egger wrote:

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

Good catch, I have fixed it. Here's an updated patch:

http://www.netbsd.org/~ad/preempt2.diff

- Adds code for the FPU stuff.
- Tries to deal more elegantly with lazy pmap switch and copyin/copyout.
- Gives preemption its own IPL to avoid recursing into Xpreempt*.

Andrew


Home | Main Index | Thread Index | Old Index