Subject: Re: pmap_activate() call in cpu_lwp_fork()
To: Martin Husemann <martin@duskware.de>
From: Steve Woodford <scw@netbsd.org>
List: port-arm
Date: 08/07/2007 10:06:46
On Friday 03 August 2007 12:11, Martin Husemann wrote:
> Can someone explain why cpu_lwp_fork() calls pmap_activate(l2); in
> sys/arch/arm/arm32/vm_machdep.c?

Before the idle_lwp branch was merged, ARM's pmap_activate was intended to be 
invoked infrequently; mostly at process creation time. Once activated, the 
code in cpu_switch et al did the same job far more efficiently than 
pmap_activate. The new convention whereby pmap_activate is called on every 
context switch actually hurts ARM performance at the moment.

> The pmap is activated by MI code, so if this is not due to side effects of
> activating the pmap, we probably should remove this call.

"maybe". I still have to figure out the root cause of kern/36548, but it 
appears to be related to changes to ARM's cpu_switch following the idle_lwp 
merge (I've been AFK for the last two weeks).

Cheers, Steve