Source-Changes-D archive

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

Re: CVS commit: src/sys/arch/sparc/sparc



On Sun, Nov 04, 2012 at 01:35:04PM +1100, matthew green wrote:
> 
> > Module Name:        src
> > Committed By:       chs
> > Date:               Sun Nov  4 00:32:47 UTC 2012
> > 
> > Modified Files:
> >     src/sys/arch/sparc/sparc: locore.s pmap.c
> > 
> > Log Message:
> > in cpu_switchto(), remove the MP-unsafe code to mark a pmap active on a CPU,
> > pmap_activate() already does this.  add MP locking to pmap_activate()
> > and pmap_deactivate().  move flushing of user windows and virtual caches
> > from pamp_activate() to pmap_deactivate().
> 
> 
> hmm.  this makes pmap_deactivate() do things in UP that weren't being
> done before at all.  switching to/from kernel/lwp for the same lwp will
> now be flushing the ctx every time.  that seems suboptimal?

do you just mean that I should have left the #ifdef MULTIPROCESSOR
around the sp_tlb_flush()?  or something more than that?


> we should really update PMAP_LOCK() to not be kernel lock.

agreed.

beyond that, there's still plenty of room for improvement on most platforms.
I think the best example in our tree at this point is the x86 scheme
of deferring the MMU-switch work to points where we're actually about to
reference user mappings, eg. returning to user mode, copyin/copyout, etc.


-Chuck


Home | Main Index | Thread Index | Old Index