Date: Mon, 5 Nov 2007 17:54:41 +1100 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Jeff Roberson <jroberson@chesapeake.net> Cc: freebsd-performance@freebsd.org, "Gelsema, P \(Patrick\) - FreeBSD" <freebsd@superhero.nl> Subject: Re: ULE vs 4BSD in RELENG_7 Message-ID: <20071105171941.C19146@delplex.bde.org> In-Reply-To: <20071104132540.S544@10.0.0.1> References: <1698.10.202.77.103.1194211291.squirrel@webmail.superhero.nl> <20071104132540.S544@10.0.0.1>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 4 Nov 2007, Jeff Roberson wrote: > On Sun, 4 Nov 2007, Gelsema, P (Patrick) - FreeBSD wrote: >> w/o patch >> hulk# time make -j8 buildkernel >> 837.808u 138.167s 10:28.96 155.1% 6349+1349k 2873+7780io 303pf+0w >> >> w patch >> hulk# time make -j8 buildkernel >> 838.554u 168.316s 10:52.10 154.4% 6263+1332k 6489+7791io 11pf+0w >> >> I only understand the 10:52 seconds thing, but it looks like it's >> stressing less and still getting things done. > > Well this doesn't look very good at all. System time increased by 30 > seconds! Must be too many extra context switches. The minimum slice value > is probably too small and you've got an average of 4 threads per-core. 838 seconds for a kernel build! I'm unhappy with ~32 seconds for a kernel build on a system with 1/2 or 1/4 as much CPU here, with ULE still taking an extra 0.5 seconds. Mine is not an equivalent kernel build since it is for ~4.10 with ~5.2 userland (so that the benchmark isn't affected by anything except the kernel). 4BSD: "make depend": 8.12 real 5.09 user 1.34 sys "make": 31.94 real 56.18 user 4.49 sys ULE: "make depend": 8.09 real 5.16 user 1.19 sys "make": 32.12 real 55.72 user 4.91 sys The kernel is about 2/3 as large as GENERIC, with no acpi and no modules. The machine is a Turion X2 2GHz in i386 mode. The buffer cache was 100% warm. All makes normal ones (no buildkernel or modules pessimizations) with -j4. Before recent vm changes, the real times were about 0.20 seconds smaller for "make". Building on a local file system gives real times about 2 seconds smaller for "make". Building a ~5.2 kernel on a local file system on this machine takes about 10 seconds longer (~42 seconds for 4BSD and ~43 seconds for ULE). Building a ~5.2 world over nfs (with a cold cache) on this machine takes about 825 seconds with 4BSD and 833 seconds with ULE. -current building itself is much slower due to source bloat and gcc bloat: For build a -current kernel with the same features on an Opteron X2 1.8GHz in amd64 mode over an untuned nfs with an untuned (INVARIANTS) kernel: 4BSD (several months ago), gcc-3.4.6: "make depend": 110.32 real 15.83 user 10.20 sys "make": 86.43 real 128.17 user 19.05 sys ULE, gcc-4.2.1: "make depend": 83.34 real 15.39 user 8.67 sys "make": 108.03 real 170.77 user 23.83 sys The "make depend" times are not directly comparable. The untuned nfs is so slow that "make -j4 depend" takes 50-100 seconds no matter how many kernels are built in parallel, due to dead time waiting for nfs, so I build 6 kernels in parallel ("make depend" itself is mostly serial) on the slow machine but not normally. The "make" times are directly comparable (they are for "make -j4" of a single kernel on 2-way SMP systems). Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071105171941.C19146>