Fujitsu Siemens TX600 S3 performance issue

John Baldwin jhb at freebsd.org
Wed Feb 7 17:37:52 UTC 2007


On Wednesday 07 February 2007 08:45, Ludger Bolmerg wrote:
> On Tuesday 06 February 2007 03:34, Ludger Bolmerg wrote:
> > 
> > > -----Ursprüngliche Nachricht-----
> > 
> > > > Hi
> > > > 
> > > > > I installed FreeBSD 6.2 on a Fujitsu Siemens TX600 S3 with 2 dual 
core 
> > > > > Xeon processors and 4G RAM.
> > > > > 
> > > > > The SMP kernel is awfully slow.  make buildkernel takes about 6 
hours to 
> > > > > complete.  When I boot a UP kernel the build completes within 12 
> > > > > minutes.  I don't see any unusual message in any log file.
> > > > 
> > > > Can you run top and see what the system is doing?  That sounds very 
odd.  If 
> > > > you boot the SMP kernel with 'kern.smp.disabled=1' set via the loader 
is it 
> > > > still really slow?
> > > 
> > > Booting the SMP kernel with kern.smp.disabled=1 shows good performance 
values.
> > 
> > Ok, can you try leaving SMP enabled but disabling specific cores instead.
> > You do this via the APIC ID like so:
> > 
> > hint.lapic.10.disabled=1
> > 
> > Don't disable the BSP (I think it's ignored), and I would try disabling 
all
> > 3 AP's at first and then enable the CPUs one a time to compare having 2 
CPUs
> > vs 3 CPUs vs 4 CPUs.
> 
> When booting with 
> 
> hint.lapic.10.disabled=1
> hint.lapic.12.disabled=1
> hint.lapic.14.disabled=1
> 
> in /boot/device.hints the machine comes up to the login prompt on the 
console and than freezes completely.  The same thing happens when I disable 
APIC ID 14 only.
> Here is the verbose boot log.  It is pretty long.  But I thought it might 
show some interesting information.

Ah, I have a bug with the 'hint.lapic' stuff. :(  Add the patch below and then 
try testing with 'hint.lapic' again.

Index: amd64/amd64/mp_machdep.c
===================================================================
RCS file: /usr/cvs/src/sys/amd64/amd64/mp_machdep.c,v
retrieving revision 1.280
diff -u -r1.280 mp_machdep.c
--- amd64/amd64/mp_machdep.c	23 Jan 2007 08:38:39 -0000	1.280
+++ amd64/amd64/mp_machdep.c	7 Feb 2007 17:36:07 -0000
@@ -632,6 +632,8 @@
 			continue;
 		if (cpu_info[apic_id].cpu_bsp)
 			continue;
+		if (cpu_info[apic_id].cpu_disabled)
+			continue;
 
 		/* Don't let hyperthreads service interrupts. */
 		if (hyperthreading_cpus > 1 &&
Index: i386/i386/mp_machdep.c
===================================================================
RCS file: /usr/cvs/src/sys/i386/i386/mp_machdep.c,v
retrieving revision 1.273
diff -u -r1.273 mp_machdep.c
--- i386/i386/mp_machdep.c	23 Jan 2007 08:38:39 -0000	1.273
+++ i386/i386/mp_machdep.c	7 Feb 2007 17:35:52 -0000
@@ -674,6 +674,8 @@
 			continue;
 		if (cpu_info[apic_id].cpu_bsp)
 			continue;
+		if (cpu_info[apic_id].cpu_disabled)
+			continue;
 
 		/* Don't let hyperthreads service interrupts. */
 		if (hyperthreading_cpus > 1 &&

-- 
John Baldwin


More information about the freebsd-smp mailing list