9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] missing machs unearthed
@ 2010-04-05  2:45 erik quanstrom
  2010-04-05  9:20 ` Richard Miller
  0 siblings, 1 reply; 18+ messages in thread
From: erik quanstrom @ 2010-04-05  2:45 UTC (permalink / raw)
  To: 9fans

i've had a core i7 machine for some time with 4c/8t.
unfortunately, the mp table has only 4 processor entries.
evidently this is also the case on core i5/xeon 3xxxx machines
with >= 4t as well.

in my case, i was given a lucky break by bios which gave
the processors apic ids 0, 2, 4, 6 and the ioapic got apic
id 8.  since apic ids are unique within a system, it wasn't
too hard to guess that i might be missing 1, 3, 5, 7.
clearly guessing wrong will result in no boot for you.

(unluckily, the xeon 3xxxx that's come for a visit gives
its ioapic id 1.  :-(.)

a quick (but gruesome) hack later, and i was able to
generate fake mp entries for the missing processors.
and:

chula# cat /dev/sysstat
          0        1659       77046         458         444           0           0         391          94           0
          1        2773       70167         686         698           0           0           0          87           0
          2        2116       69208         616         433           0           0           0          86           0
          3        2129       70004         804         431           0           0           0          85           0
          4        2357       72195         567         462           0           0           0          90           0
          5        1291      125929         602         429           0           0           0          85           0
          6        2223       70054         526         478           0           0           0          85           0
          7        2153       70028         568         405           0           0           0          84           0

i can then use cpuid to validate this.  cpuid -t wires itself
to each processor to get the apic id for that processor.

chula# aux/cpuid -t
thread	00000001 00000002 00000100 00000000
core	00000004 00000008 00000201 00000000
mach0	apic 00000000
mach1	apic 00000001
mach2	apic 00000002
mach3	apic 00000003
mach4	apic 00000004
mach5	apic 00000005
mach6	apic 00000006
mach7	apic 00000007

it's quite unfortunate that this info isn't available outside
the processor.

this is what the system thinks;
the fields are type/apicno/flags/lintr0/lintr1/machno

chula# cat /dev/mpapic
proc                0 be        65536        65536           0
proc                1  e        65536        65536           1
proc                2  e        65536        65536           2
proc                3  e        65536        65536           3
proc                4  e        65536        65536           4
proc                5  e        65536        65536           5
proc                6  e        65536        65536           6
proc                7  e        65536        65536           7
ioapic              8  e            0            0           0

- erik



^ permalink raw reply	[flat|nested] 18+ messages in thread
[parent not found: <mailman.1.1270468801.19649.9fans@9fans.net>]

end of thread, other threads:[~2010-04-05 19:00 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-05  2:45 [9fans] missing machs unearthed erik quanstrom
2010-04-05  9:20 ` Richard Miller
2010-04-05 10:49   ` Francisco J Ballesteros
2010-04-05 13:51   ` erik quanstrom
2010-04-05 14:26     ` Richard Miller
2010-04-05 14:32       ` erik quanstrom
2010-04-05 18:34         ` Venkatesh Srinivas
2010-04-05 19:00           ` erik quanstrom
2010-04-05 15:18       ` Brian L. Stuart
2010-04-05 15:18   ` ron minnich
2010-04-05 15:21     ` Francisco J Ballesteros
2010-04-05 15:31     ` Devon H. O'Dell
2010-04-05 15:38       ` Francisco J Ballesteros
2010-04-05 15:56         ` erik quanstrom
2010-04-05 16:05           ` Francisco J Ballesteros
2010-04-05 16:12             ` erik quanstrom
2010-04-05 16:24               ` Francisco J Ballesteros
     [not found] <mailman.1.1270468801.19649.9fans@9fans.net>
2010-04-05 14:47 ` Artem Pylypchuk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).