From owner-freebsd-current Sun Oct 13 18:23:21 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id SAA16078 for current-outgoing; Sun, 13 Oct 1996 18:23:21 -0700 (PDT) Received: from spinner.DIALix.COM (root@spinner.DIALix.COM [192.203.228.67]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id SAA16070 for ; Sun, 13 Oct 1996 18:23:17 -0700 (PDT) Received: from spinner.DIALix.COM (peter@localhost.DIALix.oz.au [127.0.0.1]) by spinner.DIALix.COM (8.8.0/8.8.0) with ESMTP id JAA03430; Mon, 14 Oct 1996 09:23:06 +0800 (WST) Message-Id: <199610140123.JAA03430@spinner.DIALix.COM> X-Mailer: exmh version 1.6.9 8/22/96 To: "Jonathan M. Bresler" cc: freebsd-current@freebsd.org Subject: Re: make -j# In-reply-to: Your message of "Sun, 13 Oct 1996 17:46:37 MST." <199610140046.RAA14663@freefall.freebsd.org> Date: Mon, 14 Oct 1996 09:23:05 +0800 From: Peter Wemm Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk "Jonathan M. Bresler" wrote: > Peter Wemm wrote: > > > > I find that using -pipe is a better overall option for a single-cpu compile [..] > > However, on the smp kernel it -j# certainly is nice! :-) > > Peter, > how much faster is make work on an smp box than on the > same box running only one processor? how much of a boost > are we getting at this point? > > if i had a multiprocessor box, i would know without asking ;( > jmb I knew I'd be getting questions like this if I mentioned smp.. :-) The machine I have here is somewhat crippled. It's a old neptune pciset based board which has the interesting requirement that if you turn on writeback on the cpu cache, it apparently needs to be turned off on the L2 cache or you get nasty coherency problems (which I certainly saw with L2 writeback enabled, certain "locked" bus-cycles were getting lost, not good when it's holding the kernel mutex updates). As well, it's certainly not known to be a particularly fast motherboard anyway. I suspect having both cpu's hammering the busses is one of the main causes of the slowdown. Within the kernel, we also have the additional problem that the process selection does not count for the benefit of the local cpu cache, and it seems more often than not that with multiple processes running, they bounce backwards and forwards between the cpus, thrashing the L1 cache each time. As a result, with a single "make" thread with SMP active on this slow box, there's an overall slowdown (about 80% normal speed from memory, I've not tested the relative speeds for a while). However, running 'make -j4' on this dual processor machine runs at about 1.8 to 1.9 times faster than the single threaded make, which puts it at about 1.5 times normal speed. Remember, this is work-in-progress stuff and we've not put a lot of effort into performance yet.. Most of the work has going into the basic "getting it working" stuff. Cheers, -Peter