From mboxrd@z Thu Jan 1 00:00:00 1970 From: krewat@kilonet.net (Arthur Krewat) Date: Sat, 30 Sep 2017 23:43:28 -0400 Subject: Favorite UNIX In-Reply-To: <20171001011017.GB28606@mcvoy.com> References: <20170930175314.gdz6gj4lhjrk6fpp@matica.foolinux.mooo.com> <674dfbe51503c22a1dbc271c38142cd6@bl.org> <20171001003646.GA28606@mcvoy.com> <20171001011017.GB28606@mcvoy.com> Message-ID: <0d6c2d73-dac3-887a-9f67-966303c2b7b7@kilonet.net> 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.  */