Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 May 1997 09:33:26 +0200
From:      Andreas Klemm <andreas@klemm.gtn.com>
To:        Steve Passe <smp@csn.net>
Cc:        Chuck Robey <chuckr@mat.net>, Walter Haslbeck <WH@ODS.de>, smp@FreeBSD.ORG, everybodyunix@wup.de, jk@ct.heise.de
Subject:   Re: Dual PPro Mainboard f. SCO SMP
Message-ID:  <19970502093326.00399@klemm.gtn.com>
In-Reply-To: <199705012145.PAA08539@Ilsa.StevesCafe.com>; from Steve Passe on Thu, May 01, 1997 at 03:45:42PM -0600
References:  <Pine.BSF.3.91.970501170835.2470B-100000@Journey2.mat.net> <199705012145.PAA08539@Ilsa.StevesCafe.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--/9DWx/yDrRhgMJTb
Content-Type: text/plain; charset=us-ascii

On Thu, May 01, 1997 at 03:45:42PM -0600, Steve Passe wrote:
> Hi,
> 
> >Andreas, I think you really ought to double check this.  When I did my 
> >own checks on my SMP setup, I found that just running make -j 8 (without 
> >going smp) gave a serious speedup.  There WAS additional speedup when I 
> >turned on smp, but it's NOT 2 for 1.  To do the benchmark correctly, you 
> >have to run the same program in both places, and turning on the -j 8 
> >feature for smp only is fooling you.

I did the benchmarks in single user mode and automated with a script.
Everytime in the _same_ directory /bisdn/compile/BISDNSMP.
I used for Uniprocessor and SMP kernel the same kernel config file,
I use -pipe -O for compilation.

Before starting all benchmarks I did a make depend all and then
removed only *.o.

>From now on every benchmark ran in the same directory, with a script
in single user mode and every run started with a 'rm *.o'.

I think more accurate isn't possible ;-)

> being a bi-noid I always have trouble with statistical type math,
> but I would set the difference shown by these figures as 1.79
> 
> using "-j4" for UP and "-j8" for SMP is fair, as these produce 
> the best results for each case.
> 
> the time for UP at -j4:    213.17
> the time for SMP at -j8:   119.08

Well yes, these are the values I was referring, too.

>  213.17 / 119.08 == 1.789696
> 
> not quite 2-1, but not shabby.

Well, am I wrong ? I saw it the other way around. Single processor
mode gave us the value 213.17.  This is the 100% value.

SMP gives us a better values. How good ?

119.08 / 213.17 = 0.55

If it would be exactly 0.5, then it would be half the time, so
a 100% speedup, so factor 2. 0.55 is exactly 90% speed gain,
factor 1.9.

> Chuck, you might want to re-try your test compiles, we have 
> gained some speed with recent changes.

I can give you my script and kernel config file, so that you
are nearly doing the same ...

-- 
Andreas Klemm | klemm.gtn.com - powered by
                    Symmetric MultiProcessor FreeBSD
                       http://www.freebsd.org/~fsmp/SMP/SMP.html
                          http://www.freebsd.org/~fsmp/SMP/benches.html

--/9DWx/yDrRhgMJTb
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=kbench

#! /bin/sh

prefix=/bisdn/compile

cd ${prefix}/BISDNSMP

for i in 1 2 4 8 16
do
	rm -f *.o
	sync
	time make -j $i all >> ${prefix}/kbench.out 2>> ${prefix}/kbench.err
	sync
done

--/9DWx/yDrRhgMJTb
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=BISDNSMP

#
# BISDN kernel
#

machine		"i386"
cpu		"I686_CPU"
ident		BISDNSMP
maxusers	64

# SMP Stuff
options         SMP                     # Symmetric MultiProcessor Kernel
options         APIC_IO                 # Symmetric (APIC) I/O
options         SMP_INVLTLB             # TLB shootdowns (ONLY with APIC_IO)

# Debugging
#options	DDB
#options	KTRACE			#kernel tracing
options         SHOW_BUSYBUFS           # busy buffers on shutdown ?

# Networking
options		INET			#InterNETworking
options		IPFIREWALL		#firewall
options		IPFIREWALL_VERBOSE	#print information about dropped packets
options		"IPFIREWALL_VERBOSE_LIMIT=100"	#limit verbosity

# filesystems
options		FFS			#Berkeley Fast Filesystem
options		NFS			#Network File System
options		MFS			#Memory File System
options		PROCFS			#Process filesystem
options		MSDOSFS			#MS DOS File System
options		"CD9660"		#ISO 9660 filesystem
options		NSWAPDEV=3		#Allow this many swap-devices.

# misc options
options		"COMPAT_43"		#Compatible with BSD 4.3 [KEEP THIS!]
options		UCONSOLE		#Allow users to grab the console
options		SYSVSHM,SYSVSEM,SYSVMSG	#shared memory (X11)
options		"MD5"
options		COMPAT_LINUX		# Linux Binary compatibility

config		kernel root on sd1

# ISA and PCI BUS support
controller	isa0
controller	pci0

# Floppy Disk Controller
controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0

# AHA 2940 PCI Controller
controller	ahc0

# SCSI Devices
controller	scbus0
device		sd0			# Harddisk 0 - DOS/FreeBSD SMP
device		sd1			# Harddisk 1 - FreeBSD Boot
device		sd2			# Harddisk 2 - FreeBSD local
device		st0			# TDC 4222
device		cd0			# TOSHIBA XM-5701TA 3136
options		AHC_TAGENABLE		# tagged command queueing
options		AHC_ALLOW_MEMIO
options		AHC_SCBPAGING_ENABLE
options		SCSI_REPORT_GEOMETRY

# SCO compatible system console
device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr
options		MAXCONS=4		# number of virtual consoles

# floating point unit
device		npx0	at isa? port "IO_NPX" flags 0x1 irq 13 vector npxintr

# serial devices on mainboard
device		sio0	at isa? port "IO_COM1" tty irq 4 vector siointr
device		sio1	at isa? port "IO_COM2" tty irq 3 vector siointr

# parallel device on mainboard
device		lpt0	at isa? port? tty irq 7 vector lptintr

# PS/2 mouse on mainboard
device	psm0	at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
options		"PSM_ACCEL=1"	# PS/2 mouse acceleration

# Joystick
device		joy0	at isa? port "IO_GAME"

# Network 3COM PCI
# device vx0
device	ed0	at isa? port 0x280 net irq 10 iomem 0xd0000 vector edintr

# Soundblaster 16
# SoundBlaster DSP driver - for SB, SB Pro, SB16, PAS(emulating SB)
# SoundBlaster 16 DSP driver - for SB16 - requires sb0 device
# SoundBlaster 16 MIDI - for SB16 - requires sb0 device
# Yamaha OPL-2/OPL-3 FM - for SB, SB Pro, SB16, PAS
controller	snd0
device sb0      at isa? port 0x220 irq 5 conflicts drq 1 vector sbintr
device sbxvi0   at isa? port? irq? drq 5 conflicts
device sbmidi0  at isa? port 0x330 irq? conflicts
device opl0     at isa? port 0x388 conflicts

# Pseudo devices
pseudo-device	loop
pseudo-device	ether
pseudo-device	log		#Kernel syslog interface (/dev/klog)
pseudo-device	vn		1	#Vnode driver (turns a file into a dev.)
pseudo-device	tun		1	#user mode ppp
pseudo-device	bpfilter	2	#Berkeley packet filter
pseudo-device	pty		16
pseudo-device	gzip			# Exec gzipped a.out's

# BISDN
options		IPI_VJ		# Van Jacobsen header compression support
#options	"IPI_DIPA=3"	# send ip accounting packets every 3 seconds
options		TELES_HAS_MEMCPYB	# bisdn 0.97

# Teles S0/16.3	###################################################### IRQ  9 ##
controller	tel0 at isa? port 0xd80 net irq 9 vector telintr
pseudo-device	disdn
pseudo-device	isdn
pseudo-device	ipi	1
pseudo-device	ispy	1
#pseudo-device	itel	1

--/9DWx/yDrRhgMJTb--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970502093326.00399>