看板 FB_smp 關於我們 聯絡資訊
On Wednesday 07 February 2007 08:45, Ludger Bolmerg wrote: > On Tuesday 06 February 2007 03:34, Ludger Bolmerg wrote: > >=20 > > > -----Urspr=FCngliche Nachricht----- > >=20 > > > > Hi > > > >=20 > > > > > I installed FreeBSD 6.2 on a Fujitsu Siemens TX600 S3 with 2 dual= =20 core=20 > > > > > Xeon processors and 4G RAM. > > > > >=20 > > > > > The SMP kernel is awfully slow. make buildkernel takes about 6=20 hours to=20 > > > > > complete. When I boot a UP kernel the build completes within 12= =20 > > > > > minutes. I don't see any unusual message in any log file. > > > >=20 > > > > Can you run top and see what the system is doing? That sounds very= =20 odd. If=20 > > > > you boot the SMP kernel with 'kern.smp.disabled=3D1' set via the lo= ader=20 is it=20 > > > > still really slow? > > >=20 > > > Booting the SMP kernel with kern.smp.disabled=3D1 shows good performa= nce=20 values. > >=20 > > Ok, can you try leaving SMP enabled but disabling specific cores instea= d. > > You do this via the APIC ID like so: > >=20 > > hint.lapic.10.disabled=3D1 > >=20 > > Don't disable the BSP (I think it's ignored), and I would try disabling= =20 all > > 3 AP's at first and then enable the CPUs one a time to compare having 2= =20 CPUs > > vs 3 CPUs vs 4 CPUs. >=20 > When booting with=20 >=20 > hint.lapic.10.disabled=3D1 > hint.lapic.12.disabled=3D1 > hint.lapic.14.disabled=3D1 >=20 > in /boot/device.hints the machine comes up to the login prompt on the=20 console and than freezes completely. The same thing happens when I disable= =20 APIC ID 14 only. > Here is the verbose boot log. It is pretty long. But I thought it might= =20 show some interesting information. Ah, I have a bug with the 'hint.lapic' stuff. :( Add the patch below and t= hen=20 try testing with 'hint.lapic' again. Index: amd64/amd64/mp_machdep.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /usr/cvs/src/sys/amd64/amd64/mp_machdep.c,v retrieving revision 1.280 diff -u -r1.280 mp_machdep.c =2D-- 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; =20 /* Don't let hyperthreads service interrupts. */ if (hyperthreading_cpus > 1 && Index: i386/i386/mp_machdep.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /usr/cvs/src/sys/i386/i386/mp_machdep.c,v retrieving revision 1.273 diff -u -r1.273 mp_machdep.c =2D-- 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; =20 /* Don't let hyperthreads service interrupts. */ if (hyperthreading_cpus > 1 && =2D-=20 John Baldwin _______________________________________________ freebsd-smp@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-smp To unsubscribe, send any mail to "freebsd-smp-unsubscribe@freebsd.org"