Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Oct 1999 02:33:05 +0200
From:      "=?iso-8859-1?Q?Ivar_E._H=F8steng?=" <ivar@hosteng.org>
To:        <freebsd-smp@FreeBSD.ORG>
Subject:   Samba performance problems running on FreeBSD 3.3-STABLE using the SMP kernal and 2 PPros
Message-ID:  <NDBBKLOPKMDMCCKJFPBBOEAKCAAA.ivar@hosteng.org>

next in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----

I have just discovered that my performance problems with samba
(2.0.5a) dissapears if I build a non SMP version of the FreeBSD
kernal on my dual 200Mhz PPro system. Using the SMP enabled kernal
writes from the Windows98 explorer is painfully slow. A 121MB file
takes around 30 minutes to copy from a local harddisk on the win98
machine to a samba share on the FreeBSD server. Using the exactly
same kernel and samba configuration except commenting out the SMP
stuff in the kernel config file the same copy takes aroud 20 seconds.
Reads from the samba share are not noticably affected when using the
nonSMP kernal.

Here is my kernel config file:
#
# SMP-GENERIC -- Smp machine with WD/AHx/NCR/BTx family disks
#
# For more information read the handbook part System Administration
- -> 
# Configuring the FreeBSD Kernel -> The Configuration File. 
# The handbook is available in /usr/share/doc/handbook or online as
# latest version from the FreeBSD World Wide Web server 
# <URL:http://www.FreeBSD.ORG/>;
#
# An exhaustive list of options and more detailed explanations of the
# device lines is present in the ./LINT configuration file. If you
are 
# in doubt as to the purpose or necessity of a line, check first in
LINT.
#
#	$Id: SMP-GENERIC,v 1.17 1998/10/16 04:44:05 peter Exp $

machine		"i386"
# SMP does NOT support 386/486 CPUs.
#cpu		"I386_CPU"
#cpu		"I486_CPU"

cpu		"I686_CPU"
ident		Ivar
maxusers	100

# Create a SMP capable kernel (mandatory options):
options		SMP			# Symmetric MultiProcessor Kernel
options		APIC_IO			# Symmetric (APIC) I/O

# Optional, these are the defaults:
#options		NCPU=2			# number of CPUs
#options		NBUS=4			# number of busses
#options		NAPIC=1			# number of IO APICs
#options		NINTR=24		# number of INTs

# Lets always enable the kernel debugger for SMP.
options		DDB

# SMP shouldn't need x87 emulation, disable by default.
#options		MATH_EMULATE		#Support for x87 emulation

options		INET			#InterNETworking
options		FFS			#Berkeley Fast Filesystem
options		FFS_ROOT		#FFS usable as root device [keep this!]
options		MFS			#Memory Filesystem
options		MFS_ROOT		#MFS usable as root device, "MFS" req'ed
options		NFS			#Network Filesystem
options		NFS_ROOT		#NFS usable as root device, "NFS" req'ed
options		MSDOSFS			#MSDOS Filesystem
options		"CD9660"		#ISO 9660 Filesystem
options		"CD9660_ROOT"		#CD-ROM usable as root. "CD9660" req'ed
options		PROCFS			#Process filesystem
options		"COMPAT_43"		#Compatible with BSD 4.3 [KEEP THIS!]
options		SCSI_DELAY=3000 	#Be pessimistic about Joe SCSI device
options		UCONSOLE		#Allow users to grab the console
options		FAILSAFE		#Be conservative
options		USERCONFIG		#boot -c editor
options		VISUAL_USERCONFIG	#visual boot -c editor
options         IPFIREWALL        
options         IPFIREWALL_VERBOSE
options         IPDIVERT       
options         IPFILTER       
options         IPFILTER_LOG   

config		kernel	root on wd0

controller	isa0
controller	pci0

controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0
# Unless you know very well what you're doing, leave ft0 at drive 2,
or
# remove the line entirely if you don't need it.  Trying to configure
# it on another unit might cause surprises, see PR kern/7176.

options		"CMD640"	# work around CMD640 chip deficiency
controller	wdc0	at isa? port "IO_WD1" bio irq 14 vector wdintr
disk		wd0	at wdc0 drive 0


options		ATAPI		#Enable ATAPI support for IDE bus
options		ATAPI_STATIC	#Don't do it as an LKM

# A single entry for any of these controllers (ncr, ahb, ahc, amd) is
# sufficient for any number of installed devices.
controller	ahc0

# This controller offers a number of configuration options, too many
to
# document here  - see the LINT file in this directory and look up
the
# dpt0 entry there for much fuller documentation on this.


controller	scbus0

device		da0

device		sa0

device		pass0

device		cd0	#Only need one of these, the code dynamically grows


# atkbdc0 controls both the keyboard and the PS/2 mouse
controller	atkbdc0	at isa? port IO_KBD tty
device		atkbd0	at isa? tty irq 1
device		psm0	at isa? tty irq 12

device		vga0	at isa? port ? conflicts

# splash screen/screen saver
pseudo-device	splash

# syscons is the default console driver, resembling an SCO console
device		sc0	at isa? tty



device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr

#
# Laptop support (see LINT for more options)
#

device		sio0	at isa? port "IO_COM1" flags 0x10 tty irq 4 vector
siointr
device		sio1	at isa? port "IO_COM2" tty irq 3 vector siointr

# Parallel port
device		ppc0	at isa? port? flags 0x40 net irq 7
controller	ppbus0			# Parallel port bus (required)
device		lpt0	at ppbus?	# Printer
device		plip0	at ppbus?	# TCP/IP over parallel
device		ppi0	at ppbus?	# Parallel port interface device
#controller	vpo0	at ppbus?	# Requires scbus and da0


# Order is important here due to intrusive probes, do *not*
alphabetize
# this list of network interfaces until the probes have been fixed.
# Right now it appears that the ie0 must be probed before ep0. See
# revision 1.20 of this file.
device fxp0
device xl0

pseudo-device	loop
pseudo-device	ether
pseudo-device	vn	10
pseudo-device	sl	1
pseudo-device	ppp	1
pseudo-device	tun	8
pseudo-device	ccd	4
pseudo-device	pty	256
pseudo-device	gzip		# Exec gzipped a.out's

# KTRACE enables the system-call tracing facility ktrace(2).
# This adds 4 KB bloat to your kernel, and slightly increases
# the costs of each syscall.
options		KTRACE		#kernel tracing

# This provides support for System V shared memory.
#
options		SYSVSHM
options		SYSVMSG
options		SYSVSEM

#  The `bpfilter' pseudo-device enables the Berkeley Packet Filter. 
Be
#  aware of the legal and administrative consequences of enabling
this
#  option.  The number of devices determines the maximum number of
#  simultaneous BPF clients programs runnable.
pseudo-device	bpfilter	4	#Berkeley packet filter
pseudo-device 	snp		4

mptable gives the following output:

======================================================================
========

MPTable, version 2.0.15

 looking for EBDA pointer @ 0x040e, found, searching EBDA @
0x0009fc00
 searching CMOS 'top of mem' @ 0x0009f800 (638K)
 searching default 'top of mem' @ 0x0009fc00 (639K)
 searching BIOS @ 0x000f0000

 MP FPS found in BIOS @ physical addr: 0x000f7ed0

- ----------------------------------------------------------------------
- --------

MP Floating Pointer Structure:

  location:			BIOS
  physical address:		0x000f7ed0
  signature:			'_MP_'
  length:			16 bytes
  version:			1.4
  checksum:			0x33
  mode:				Virtual Wire

- ----------------------------------------------------------------------
- --------

MP Config Table Header:

  physical address:		0x000f7ee0
  signature:			'PCMP'
  base table length:		260
  version:			1.4
  checksum:			0xce
  OEM ID:			'INTEL   '
  Product ID:			'PR440FX     '
  OEM table pointer:		0x00000000
  OEM table size:		0
  entry count:			24
  local APIC address:		0xfec08000
  extended table length:	100
  extended table checksum:	49

- ----------------------------------------------------------------------
- --------

MP Config Base Table Entries:

- --
Processors:	APIC ID	Version	State		Family	Model	Step	Flags
		 0	 0x11	 BSP, usable	 6	 1	 9	 0xfbff
		12	 0x11	 AP, usable	 6	 1	 9	 0xfbff
- --
Bus:		Bus ID	Type
		 0	 PCI   
		 1	 PCI   
		18	 ISA   
- --
I/O APICs:	APIC ID	Version	State		Address
		13	 0x11	 usable		 0xfec00000
- --
I/O Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#
		ExtINT	active-hi        edge	    18	   0	     13	   0
		INT	active-hi        edge	    18	   1	     13	   1
		INT	active-hi        edge	    18	   3	     13	   3
		INT	active-hi        edge	    18	   4	     13	   4
		INT	active-hi        edge	    18	   5	     13	   5
		INT	active-hi        edge	    18	   6	     13	   6
		INT	active-hi        edge	    18	   7	     13	   7
		INT	active-hi        edge	    18	   8	     13	   8
		INT	active-hi        edge	    18	   9	     13	   9
		INT	active-hi        edge	    18	  12	     13	  12
		INT	active-hi        edge	    18	  14	     13	  14
		INT	active-lo       level	     1	 5:A	     13	  18
		INT	active-lo       level	     1	 4:A	     13	  17
		INT	active-lo       level	     0	19:A	     13	  19
		INT	active-lo       level	     0	17:A	     13	  18
		INT	active-lo       level	     0	11:A	     13	  16
		INT	active-lo       level	     0	 9:A	     13	  17
		INT	active-lo       level	     0	 6:A	     13	  18
- --
Local Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#

- ----------------------------------------------------------------------
- --------

MP Config Extended Table Entries:

- --

 bus ID: 0 address type: memory address
 address base: 0xd8000
 address range: 0x4000
- --

 bus ID: 0 address type: memory address
 address base: 0xdc000
 address range: 0x4000
- --

 bus ID: 0 address type: memory address
 address base: 0xa0000
 address range: 0x20000
- --

 bus ID: 0 address type: memory address
 address base: 0x8000000
 address range: 0xf8000000
- --

 bus ID: 0 address type: I/O address
 address base: 0x0
 address range: 0x10000

- ----------------------------------------------------------------------
- --------

# SMP kernel config file options:


# Required:
options		SMP			# Symmetric MultiProcessor Kernel
options		APIC_IO			# Symmetric (APIC) I/O

# Optional (built-in defaults will work in most cases):
#options		NCPU=2			# number of CPUs
#options		NBUS=3			# number of busses
#options		NAPIC=1			# number of IO APICs
#options		NINTR=24		# number of INTs

======================================================================
========

and dmesg:
Copyright (c) 1992-1999 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California. All rights reserved.
FreeBSD 3.3-STABLE #4: Sun Oct 10 16:58:15 CEST 1999
    ivar@bajor.hosteng.org:/usr/src/sys/compile/ivar
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium Pro (686-class CPU)
  Origin = "GenuineIntel"  Id = 0x619  Stepping = 9
 
Features=0xfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,M
A,CMOV>
real memory  = 134217728 (131072K bytes)
avail memory = 127315968 (124332K bytes)
Programming 24 pins in IOAPIC #0
FreeBSD/SMP: Multiprocessor motherboard
 cpu0 (BSP): apic id:  0, version: 0x00040011, at 0xfec08000
 cpu1 (AP):  apic id: 12, version: 0x00040011, at 0xfec08000
 io0 (APIC): apic id: 13, version: 0x00170011, at 0xfec00000
Preloaded elf kernel "kernel" at 0xc02f7000.
Pentium Pro MTRR support enabled
Probing for devices on PCI bus 0:
chip0: <Intel 82440FX (Natoma) PCI and memory controller> rev 0x02 on
pci0.0.0
fxp0: <Intel EtherExpress Pro 10/100B Ethernet> rev 0x01 int a irq 18
on pci0.6.0
fxp0: Ethernet address 00:a0:c9:06:bf:a6
chip1: <Intel 82371SB PCI to ISA bridge> rev 0x01 on pci0.7.0
ide_pci0: <Intel PIIX3 Bus-master IDE controller> rev 0x00 on
pci0.7.1
ahc0: <Adaptec aic7880 Ultra SCSI adapter> rev 0x00 int a irq 17 on
pci0.9.0
ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
xl0: <3Com 3c905-TX Fast Etherlink XL> rev 0x00 int a irq 16 on
pci0.11.0
xl0: Ethernet address: 00:60:97:1d:07:a9
xl0: autoneg not complete, no carrier (forcing half-duplex, 10Mbps)
chip2: <DEC 21050 PCI-PCI bridge> rev 0x02 on pci0.15.0
ahc1: <Adaptec 2940 Ultra SCSI adapter> rev 0x01 int a irq 18 on
pci0.17.0
ahc1: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
vga0: <Matrox MGA 2164W graphics accelerator> rev 0x00 int a irq 19
on pci0.19.0
Probing for devices on PCI bus 1:
ahc2: <Adaptec 3940 SCSI adapter> rev 0x00 int a irq 17 on pci1.4.0
ahc2: aic7870 Single Channel A, SCSI Id=7, 16/255 SCBs
ahc3: <Adaptec 3940 SCSI adapter> rev 0x00 int a irq 18 on pci1.5.0
ahc3: aic7870 Single Channel B, SCSI Id=7, 16/255 SCBs
Probing for devices on the ISA bus:
sc0 on isa
sc0: VGA color <16 virtual consoles, flags=0x0>
atkbdc0 at 0x60-0x6f on motherboard
atkbd0 irq 1 on isa
psm0 not found
sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa
sio0: type 16550A, console
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1 not found at 0x2f8
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
wdc0 not found at 0x1f0
ppc0 at 0x378 irq 7 flags 0x40 on isa
ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
ppb0: IEEE1284 device found /NIBBLE/ECP
Probing for PnP devices on ppbus0:
ppbus0: <Hewlett-Packard HP LaserJet 6MP>
PJL,MLC,PCLXL,PCL,POSTSCRIPT
lpt0: <generic printer> on ppbus 0
lpt0: Interrupt-driven port
ppi0: <generic parallel i/o> on ppbus 0
plip0: <PLIP network interface> on ppbus 0
vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa
npx0 on motherboard
npx0: INT 16 interface
APIC_IO: routing 8254 via 8259 on pin 0
IP packet filtering initialized, divert enabled, rule-based
forwarding disabled, unlimited logging
ccd0-3: Concatenated disk drivers
IP Filter: initialized.  Default = pass all, Logging = enabled
Waiting 3 seconds for SCSI devices to settle
SMP: AP CPU #1 Launched!
sa0 at ahc2 bus 0 target 2 lun 0
sa0: <Quantum DLT4000 D579> Removable Sequential Access SCSI-2 device
sa0: 10.000MB/s transfers (10.000MHz, offset 15)
da0 at ahc0 bus 0 target 0 lun 0
da0: <SEAGATE ST34502LW 0004> Fixed Direct Access SCSI-2 device 
da0: 40.000MB/s transfers (20.000MHz, offset 8, 16bit), Tagged
Queueing Enabled
da0: 4340MB (8888924 512 byte sectors: 255H 63S/T 553C)
da1 at ahc0 bus 0 target 1 lun 0
da1: <SEAGATE ST19101W 0011> Fixed Direct Access SCSI-2 device 
da1: 40.000MB/s transfers (20.000MHz, offset 8, 16bit), Tagged
Queueing Enabled
da1: 8683MB (17783240 512 byte sectors: 255H 63S/T 1106C)
da4 at ahc2 bus 0 target 0 lun 0
da4: <SEAGATE ST410800N 0025> Fixed Direct Access SCSI-2 device 
da4: 10.000MB/s transfers (10.000MHz, offset 15), Tagged Queueing
Enabled
da4: 8669MB (17755614 512 byte sectors: 255H 63S/T 1105C)
cd0 at ahc3 bus 0 target 3 lun 0
cd0: <PIONEER CD-ROM DR-124X 1.04> Removable CD-ROM SCSI-2 device 
cd0: 4.629MB/s transfers (4.629MHz, offset 8)
cd0: cd present [125982 x 2048 byte records]
da3 at ahc1 bus 0 target 4 lun 0
da3: <SEAGATE ST39102LC 0005> Fixed Direct Access SCSI-2 device 
da3: 20.000MB/s transfers (10.000MHz, offset 8, 16bit), Tagged
Queueing Enabled
da3: 8683MB (17783240 512 byte sectors: 255H 63S/T 1106C)
da2 at ahc1 bus 0 target 0 lun 0
da2: <SEAGATE ST39173W 6244> Fixed Direct Access SCSI-2 device 
da2: 20.000MB/s transfers (10.000MHz, offset 8, 16bit), Tagged
Queueing Enabled
da2: 8683MB (17783240 512 byte sectors: 255H 63S/T 1106C)
changing root device to da0s1a


Does anyone have a clue of why this is happening?

Regards,
Ivar E. Hosteng
email: ivar@hosteng.org

-----BEGIN PGP SIGNATURE-----
Version: PGP 6.5.1i for non-commercial use <http://www.pgpi.com/>;

iQCVAwUBOBousXeH1nNr2gf9AQEK8wP+K6GT9v0XQQXIp0w8r9xAUWKCxxz5IFAO
1h8p661eAKl8fr3Eq+/Fj4JYP3zJ6l+D4jXlcwfXUBcbr0NEUCfvN0kFRMvMxfkl
VN9PfmpZMWo/mGdB8yj9A9jLMnG7OWBpE5Ls1J3mTLyx94V0750hXHXI8z2lGMi2
HHTb2rnlccA=
=D7iQ
-----END PGP SIGNATURE-----



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




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