On 9/30/2017 9:10 PM, Larry McVoy wrote:
I think 4.1.4 had Greg Limes herculean effort to make the VM system
scale on multiprocessors. So it might be worth a look.
This? From 4.1.4:
/* @(#)vm_mp.c 1.1 94/10/31 */
/*
* Copyright (c) 1986 by Sun Microsystems, Inc.
*/
/*
* VM - multiprocessor/ing support.
*
* Currently the kmon_enter() / kmon_exit() pair implements a
* simple monitor for objects protected by the appropriate lock.
* The kcv_wait() / kcv_broadcast pait implements a simple
* condition variable which can be used for `sleeping'
* and `waking' inside a monitor if some resource is
* is needed which is not available.
*
* XXX - this code is written knowing about the semantics
* of sleep/wakeup and UNIX scheduling on a uniprocessor machine.
*/