Subject: Re: Context switching performance on VAC systems
To: Neil A. Carson <neil@causality.com>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: tech-kern
Date: 03/15/1999 14:40:30
On Mon, 15 Mar 1999 13:31:43 -0800 
 "Neil A. Carson" <neil@causality.com> wrote:

 > So I had this thought last night, on systems where context switches
 > involve long-time cache invalidations. When doing the context switch in
 > the kernel, do not invalidate the user mappings (unless you're forced to
 > due to a suword, copyin or something similar). Instead, postpone it and
 > set a flag so that userret knows it needs to be done. This has the
 > following advantages:
 > 	- If you have to invalidate kernel as well as user cache lines,
 > 	  the performance impact is accounted in userspace not the
 > 	  monolithic kernel
 > 	- If a code path (such as nfs???) involves multiple sleeps
 > 	  and wakeups in the kernel, the user 'IO' processes that
 > 	  just block and unblock in the kernel will execute more
 > 	  efficiently.
 > Does this make a whole lot of sense? Comments from Jonathan et al
 > welcome.

It makes perfect sense... and can be implemented completely in
machdep code :-)

I should do something like this for the hp320.

        -- Jason R. Thorpe <thorpej@nas.nasa.gov>