RFC: Simplfying hyperthreading distinctions
Slawa Olhovchenkov
slw at zxy.spb.ru
Sun Mar 22 19:42:51 UTC 2015
On Sun, Mar 22, 2015 at 11:48:06AM -0700, Nathan Whitehorn wrote:
>
>
> On 03/22/15 11:43, Slawa Olhovchenkov wrote:
> > On Sun, Mar 22, 2015 at 10:44:51AM -0700, Adrian Chadd wrote:
> >
> >> ... or maybe the scheduler shouldn't be the primary source of the CPU
> >> topology information, but instead should be a consumer. :)
> > And may be good think unified API (userland also) for get full
> > topology (with PCIe, USB bus, USB HUB and other devices and IRQ
> > handlers).
> >
> > Currently for detect IRQ handlers of NIC I am need to parse
> > hw.intrnames with hacks for maping 't5nex0:0.1' to cxl0 and
> > 'ix1:que 2' to ix1.
> >
>
> devinfo doesn't work for you?
devinfo also need hacks for map:
pci130
t5nex0
Interrupt request lines:
0x120
0x121
0x122
0x123
0x124
0x125
0x126
0x127
0x128
0x129
0x12a
0x12b
0x12c
0x12d
0x12e
0x12f
0x130
0x131
0x132
0x133
0x134
0x135
pcib11 memory window:
0xf9000000-0xf9ffffff
0xfa300000-0xfa37ffff
0xfac04000-0xfac05fff
cxl0
cxl1
devinfo don't show detailes about IRQ handelrs:
# vmstat -i
irq289: t5nex0:evt 17 0
irq290: t5nex0:0.0 235629333426 39932
irq291: t5nex0:0.1 235835938497 39967
irq292: t5nex0:0.2 236414122597 40065
irq293: t5nex0:0.3 234357043791 39716
irq294: t5nex0:0.4 228105465543 38657
irq295: t5nex0:0.5 229347649630 38867
irq296: t5nex0:0.6 230949738393 39139
irq297: t5nex0:0.7 230484724411 39060
irq298: t5nex0:0,0 78781 0
irq299: t5nex0:0,1 90592 0
and not devinfo not vmstat don't provide information about relations
between CPU sockets and PCIe slots (cxl0 connect to PCIe handled
second socket).
Also, on other box:
# acpidump -dt
/*
RSD PTR: OEM=ALASKA, ACPI_Rev=2.0x (2)
XSDT=0x7f1e6080, length=36, cksum=95
*/
/*
XSDT: Length=132, Revision=1, Checksum=106,
OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009,
Creator ID=AMI, Creator Revision=0x10013
Assertion failed: (addr != 0), function acpi_print_rsdt, file /usr/src/usr.sbin/acpi/acpidump/acpi.c, line 1097.
Entries={ 0x7f1efe90, 0x7f1eff88, 0x7f1f0098, 0x7f1f00d8, 0x7f1f0448, 0x7f1f0478, 0x7f1f04b0, 0x7f1f0570, 0x7f1f05b0, 0x7f2606b8, 0x7f260708, Abort (core dumped)
And talk 'userland' I talk about API, from program, library call.
Utility for shell need too.
More information about the freebsd-arch
mailing list