The data shown in the above graph was taken on April 29, 2000:
The code used:
ENTRY(default_halt) sti hlt /* XXX: until a wakeup IPI */ ret Note that I did NOT add the APIC line, as this is taken care of in: idle_loop: ... 2: /* enable intrs for a halt */ movl $0, lapic_tpr /* 1st candidate for an INT */ call *_hlt_vector /* wait for interrupt */ cli jmp idle_loop
The hardware:
CPU: Pentium III Xeon (550.15-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x673 Stepping = 3 Features=0x383fbffreal memory = 1073717248 (1048552K bytes) avail memory = 1041149952 (1016748K bytes) FreeBSD/SMP: Multiprocessor motherboard cpu0 (BSP): apic id: 3, version: 0x00040011, at 0xfee00000 cpu1 (AP): apic id: 0, version: 0x00040011, at 0xfee00000 cpu2 (AP): apic id: 1, version: 0x00040011, at 0xfee00000 cpu3 (AP): apic id: 2, version: 0x00040011, at 0xfee00000 io0 (APIC): apic id: 4, version: 0x003f0013, at 0xfec00000
Notes on the 4 cpu / memory file system data:
data taken at '-j8', '-j16', 'j32'. environment: running from shell inside emacs & X11R6. files systems: /dev/da0s1f on /usr (ufs, local, soft-updates) mfs:76803 on /usr/src (mfs, asynchronous, local) mfs:76805 on /usr/obj (mfs, asynchronous, local)