...
This commit is contained in:
parent
6bed890643
commit
6111e79686
4 changed files with 918 additions and 13 deletions
813
results/lshw-rose.out
Normal file
813
results/lshw-rose.out
Normal file
|
|
@ -0,0 +1,813 @@
|
|||
rose
|
||||
description: Rack Mount Chassis
|
||||
product: R152-P31-00 (01234567890123456789AB)
|
||||
vendor: GIGABYTE
|
||||
version: 0100
|
||||
serial: GMGBN5912A0001
|
||||
width: 64 bits
|
||||
capabilities: smbios-3.4.0 dmi-3.4.0 smp cp15_barrier setend swp tagged_addr_disabled
|
||||
configuration: administrator_password=disabled boot=normal chassis=rackmount family=Server frontpanel_password=disabled keyboard_password=disabled power-on_password=disabled sku=01234567890123456789AB uuid=00000000-0000-4000-8000-74563c400508
|
||||
*-core
|
||||
description: Motherboard
|
||||
product: MP32-AR1-00
|
||||
vendor: GIGABYTE
|
||||
physical id: 0
|
||||
version: 01010101
|
||||
serial: MG5N7200007
|
||||
slot: 01234567890123456789AB
|
||||
*-firmware
|
||||
description: BIOS
|
||||
vendor: GIGABYTE
|
||||
physical id: 0
|
||||
version: F31h (SCP: 2.10.20220531)
|
||||
date: 07/27/2022
|
||||
size: 1MiB
|
||||
capabilities: pci upgrade cdboot bootselect acpi uefi
|
||||
*-memory
|
||||
description: System Memory
|
||||
physical id: 11
|
||||
slot: System board or motherboard
|
||||
size: 256GiB
|
||||
capacity: 4TiB
|
||||
capabilities: ecc
|
||||
configuration: errordetection=multi-bit-ecc
|
||||
*-bank:0
|
||||
description: DIMM DDR4 3200 MHz (0.3 ns)
|
||||
product: M393A4K40DB3-CWE
|
||||
vendor: Samsung
|
||||
physical id: 0
|
||||
serial: 46BD4FB0
|
||||
slot: DIMM_P0_A0
|
||||
size: 32GiB
|
||||
width: 64 bits
|
||||
clock: 3200MHz (0.3ns)
|
||||
*-bank:1
|
||||
description: DIMM DDR4 3200 MHz (0.3 ns)
|
||||
product: M393A4K40DB3-CWE
|
||||
vendor: Samsung
|
||||
physical id: 1
|
||||
serial: 1777F656
|
||||
slot: DIMM_P0_A1
|
||||
size: 32GiB
|
||||
width: 64 bits
|
||||
clock: 3200MHz (0.3ns)
|
||||
*-bank:2
|
||||
description: DIMM DDR4 3200 MHz (0.3 ns)
|
||||
product: M393A4K40DB3-CWE
|
||||
vendor: Samsung
|
||||
physical id: 2
|
||||
serial: 46BD4F9E
|
||||
slot: DIMM_P0_B0
|
||||
size: 32GiB
|
||||
width: 64 bits
|
||||
clock: 3200MHz (0.3ns)
|
||||
*-bank:3
|
||||
description: DIMM DDR4 3200 MHz (0.3 ns)
|
||||
product: M393A4K40DB3-CWE
|
||||
vendor: Samsung
|
||||
physical id: 3
|
||||
serial: 46BD4FB1
|
||||
slot: DIMM_P0_B1
|
||||
size: 32GiB
|
||||
width: 64 bits
|
||||
clock: 3200MHz (0.3ns)
|
||||
*-bank:4
|
||||
description: DIMM [empty]
|
||||
product: Array 1 Part Number 5
|
||||
vendor: Array 1 Manufacturer 5
|
||||
physical id: 4
|
||||
serial: Array 1 Serial Number 5
|
||||
slot: DIMM_P0_C0
|
||||
*-bank:5
|
||||
description: DIMM [empty]
|
||||
product: Array 1 Part Number 6
|
||||
vendor: Array 1 Manufacturer 6
|
||||
physical id: 5
|
||||
serial: Array 1 Serial Number 6
|
||||
slot: DIMM_P0_C1
|
||||
*-bank:6
|
||||
description: DIMM [empty]
|
||||
product: Array 1 Part Number 7
|
||||
vendor: Array 1 Manufacturer 7
|
||||
physical id: 6
|
||||
serial: Array 1 Serial Number 7
|
||||
slot: DIMM_P0_D0
|
||||
*-bank:7
|
||||
description: DIMM [empty]
|
||||
product: Array 1 Part Number 8
|
||||
vendor: Array 1 Manufacturer 8
|
||||
physical id: 7
|
||||
serial: Array 1 Serial Number 8
|
||||
slot: DIMM_P0_D1
|
||||
*-bank:8
|
||||
description: DIMM DDR4 3200 MHz (0.3 ns)
|
||||
product: M393A4K40DB3-CWE
|
||||
vendor: Samsung
|
||||
physical id: 8
|
||||
serial: 46BD501D
|
||||
slot: DIMM_P0_E0
|
||||
size: 32GiB
|
||||
width: 64 bits
|
||||
clock: 3200MHz (0.3ns)
|
||||
*-bank:9
|
||||
description: DIMM DDR4 3200 MHz (0.3 ns)
|
||||
product: M393A4K40DB3-CWE
|
||||
vendor: Samsung
|
||||
physical id: 9
|
||||
serial: 1777FF07
|
||||
slot: DIMM_P0_E1
|
||||
size: 32GiB
|
||||
width: 64 bits
|
||||
clock: 3200MHz (0.3ns)
|
||||
*-bank:10
|
||||
description: DIMM DDR4 3200 MHz (0.3 ns)
|
||||
product: M393A4K40DB3-CWE
|
||||
vendor: Samsung
|
||||
physical id: a
|
||||
serial: 46BD501E
|
||||
slot: DIMM_P0_F0
|
||||
size: 32GiB
|
||||
width: 64 bits
|
||||
clock: 3200MHz (0.3ns)
|
||||
*-bank:11
|
||||
description: DIMM DDR4 3200 MHz (0.3 ns)
|
||||
product: M393A4K40DB3-CWE
|
||||
vendor: Samsung
|
||||
physical id: b
|
||||
serial: 46BD5040
|
||||
slot: DIMM_P0_F1
|
||||
size: 32GiB
|
||||
width: 64 bits
|
||||
clock: 3200MHz (0.3ns)
|
||||
*-bank:12
|
||||
description: DIMM [empty]
|
||||
product: Array 1 Part Number 13
|
||||
vendor: Array 1 Manufacturer 13
|
||||
physical id: c
|
||||
serial: Array 1 Serial Number 13
|
||||
slot: DIMM_P0_G0
|
||||
*-bank:13
|
||||
description: DIMM [empty]
|
||||
product: Array 1 Part Number 14
|
||||
vendor: Array 1 Manufacturer 14
|
||||
physical id: d
|
||||
serial: Array 1 Serial Number 14
|
||||
slot: DIMM_P0_G1
|
||||
*-bank:14
|
||||
description: DIMM [empty]
|
||||
product: Array 1 Part Number 15
|
||||
vendor: Array 1 Manufacturer 15
|
||||
physical id: e
|
||||
serial: Array 1 Serial Number 15
|
||||
slot: DIMM_P0_H0
|
||||
*-bank:15
|
||||
description: DIMM [empty]
|
||||
product: Array 1 Part Number 16
|
||||
vendor: Array 1 Manufacturer 16
|
||||
physical id: f
|
||||
serial: Array 1 Serial Number 16
|
||||
slot: DIMM_P0_H1
|
||||
*-cpu
|
||||
description: CPU
|
||||
product: ARMv8 (Q32-17)
|
||||
vendor: Ampere(R)
|
||||
physical id: 65
|
||||
bus info: cpu@0
|
||||
version: Ampere(R) Altra(R) Processor
|
||||
serial: 0000000000000000920D0306033940C4
|
||||
slot: CPU 0
|
||||
size: 1028MHz
|
||||
capacity: 1700MHz
|
||||
clock: 1100MHz
|
||||
capabilities: lm cpufreq
|
||||
configuration: cores=32 enabledcores=32 threads=32
|
||||
*-cache:0
|
||||
description: L1 cache
|
||||
physical id: 66
|
||||
slot: Socket 0 L1 Instruction Cache
|
||||
size: 2MiB
|
||||
capacity: 2MiB
|
||||
capabilities: synchronous internal write-back instruction
|
||||
configuration: level=1
|
||||
*-cache:1
|
||||
description: L1 cache
|
||||
physical id: 67
|
||||
slot: Socket 0 L1 Data Cache
|
||||
size: 2MiB
|
||||
capacity: 2MiB
|
||||
capabilities: synchronous internal write-back data
|
||||
configuration: level=1
|
||||
*-cache:2
|
||||
description: L2 cache
|
||||
physical id: 68
|
||||
slot: Socket 0 L2 Cache
|
||||
size: 32MiB
|
||||
capacity: 32MiB
|
||||
capabilities: synchronous internal write-back unified
|
||||
configuration: level=2
|
||||
*-pci:0
|
||||
description: Host bridge
|
||||
product: Altra PCI Express Root Complex A
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 100
|
||||
bus info: pci@0000:00:00.0
|
||||
version: 00
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
*-pci
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port a0
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 1
|
||||
bus info: pci@0000:00:01.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:84 memory:70000000-701fffff ioport:3c0000000000(size=2097152)
|
||||
*-pci:1
|
||||
description: Host bridge
|
||||
product: Altra PCI Express Root Complex A
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 101
|
||||
bus info: pci@0001:00:00.0
|
||||
version: 00
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
*-pci
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port a0
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 1
|
||||
bus info: pci@0001:00:01.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:89 memory:60000000-602fffff ioport:380000000000(size=150994944)
|
||||
*-network:0
|
||||
description: Ethernet interface
|
||||
product: MT42822 BlueField-2 integrated ConnectX-6 Dx network controller
|
||||
vendor: Mellanox Technologies
|
||||
physical id: 0
|
||||
bus info: pci@0001:01:00.0
|
||||
logical name: enP1p1s0f0np0
|
||||
logical name: /dev/fb0
|
||||
version: 01
|
||||
serial: b8:ce:f6:a8:82:52
|
||||
capacity: 40Gbit/s
|
||||
width: 64 bits
|
||||
clock: 33MHz
|
||||
capabilities: pciexpress vpd msix pm bus_master cap_list rom ethernet physical 1000bt-fd 10000bt-fd 25000bt-fd 40000bt-fd autonegotiation fb
|
||||
configuration: autonegotiation=on broadcast=yes depth=32 driver=mlx5_core driverversion=5.15.0-78-generic duplex=full firmware=24.35.3006 (MT_0000000561) ip=172.16.25.3 latency=0 link=yes mode=1024x768 multicast=yes visual=truecolor xres=1024 yres=768
|
||||
resources: iomemory:38000-37fff iomemory:38000-37fff irq:89 memory:380000000000-380001ffffff memory:380004000000-3800047fffff memory:60000000-600fffff memory:380005000000-380006ffffff
|
||||
*-network:1
|
||||
description: Ethernet interface
|
||||
product: MT42822 BlueField-2 integrated ConnectX-6 Dx network controller
|
||||
vendor: Mellanox Technologies
|
||||
physical id: 0.1
|
||||
bus info: pci@0001:01:00.1
|
||||
logical name: enP1p1s0f1np1
|
||||
version: 01
|
||||
serial: b8:ce:f6:a8:82:53
|
||||
capacity: 40Gbit/s
|
||||
width: 64 bits
|
||||
clock: 33MHz
|
||||
capabilities: pciexpress vpd msix pm bus_master cap_list rom ethernet physical 1000bt-fd 10000bt-fd 25000bt-fd 40000bt-fd autonegotiation
|
||||
configuration: autonegotiation=on broadcast=yes driver=mlx5_core driverversion=5.15.0-78-generic duplex=full firmware=24.35.3006 (MT_0000000561) ip=172.16.26.3 latency=0 link=yes multicast=yes
|
||||
resources: iomemory:38000-37fff iomemory:38000-37fff irq:182 memory:380002000000-380003ffffff memory:380004800000-380004ffffff memory:60100000-601fffff memory:380007000000-380008ffffff
|
||||
*-generic
|
||||
description: DMA controller
|
||||
product: MT42822 BlueField-2 SoC Management Interface
|
||||
vendor: Mellanox Technologies
|
||||
physical id: 0.2
|
||||
bus info: pci@0001:01:00.2
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pciexpress vpd pm 8237 bus_master cap_list
|
||||
configuration: driver=vfio-pci latency=0
|
||||
resources: irq:89 memory:60200000-602fffff
|
||||
*-pci:2
|
||||
description: Host bridge
|
||||
product: Altra PCI Express Root Complex B
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 102
|
||||
bus info: pci@0002:00:00.0
|
||||
version: 00
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
*-pci:0
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port b0
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 1
|
||||
bus info: pci@0002:00:01.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:88 memory:8000000-81fffff ioport:200000000000(size=2097152)
|
||||
*-pci:1
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port b4
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 5
|
||||
bus info: pci@0002:00:05.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:88 memory:8200000-83fffff ioport:200000200000(size=2097152)
|
||||
*-pci:3
|
||||
description: Host bridge
|
||||
product: Altra PCI Express Root Complex B
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 103
|
||||
bus info: pci@0003:00:00.0
|
||||
version: 00
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
*-pci:0
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port b0
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 1
|
||||
bus info: pci@0003:00:01.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:86 memory:10000000-101fffff ioport:240000000000(size=2097152)
|
||||
*-pci:1
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port b4
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 5
|
||||
bus info: pci@0003:00:05.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:86 memory:10200000-103fffff ioport:240000200000(size=3145728)
|
||||
*-network:0
|
||||
description: Ethernet interface
|
||||
product: I350 Gigabit Network Connection
|
||||
vendor: Intel Corporation
|
||||
physical id: 0
|
||||
bus info: pci@0003:02:00.0
|
||||
logical name: eno1
|
||||
version: 01
|
||||
serial: 74:56:3c:40:05:08
|
||||
size: 1Gbit/s
|
||||
capacity: 1Gbit/s
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pm msi msix pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
|
||||
configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.15.0-78-generic duplex=full firmware=1.63, 0x800009fa ip=10.1.10.1 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
|
||||
resources: irq:86 memory:10200000-1021ffff memory:10240000-10243fff memory:240000200000-24000021ffff memory:240000220000-24000023ffff
|
||||
*-network:1
|
||||
description: Ethernet interface
|
||||
product: I350 Gigabit Network Connection
|
||||
vendor: Intel Corporation
|
||||
physical id: 0.1
|
||||
bus info: pci@0003:02:00.1
|
||||
logical name: eno2
|
||||
version: 01
|
||||
serial: 74:56:3c:40:05:09
|
||||
capacity: 1Gbit/s
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pm msi msix pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
|
||||
configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.15.0-78-generic firmware=1.63, 0x800009fa latency=0 link=no multicast=yes port=twisted pair
|
||||
resources: irq:108 memory:10220000-1023ffff memory:10244000-10247fff memory:240000240000-24000025ffff memory:240000260000-24000027ffff
|
||||
*-pci:4
|
||||
description: Host bridge
|
||||
product: Altra PCI Express Root Complex B
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 104
|
||||
bus info: pci@0004:00:00.0
|
||||
version: 00
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
*-pci:0
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port b0
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 1
|
||||
bus info: pci@0004:00:01.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:90 memory:20000000-22ffffff ioport:280000000000(size=2097152)
|
||||
*-pci
|
||||
description: PCI bridge
|
||||
product: AST1150 PCI-to-PCI Bridge
|
||||
vendor: ASPEED Technology, Inc.
|
||||
physical id: 0
|
||||
bus info: pci@0004:01:00.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci msi pm pciexpress normal_decode bus_master cap_list
|
||||
resources: memory:20000000-22ffffff
|
||||
*-display
|
||||
description: VGA compatible controller
|
||||
product: ASPEED Graphics Family
|
||||
vendor: ASPEED Technology, Inc.
|
||||
physical id: 0
|
||||
bus info: pci@0004:02:00.0
|
||||
logical name: /dev/fb0
|
||||
version: 41
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pm msi vga_controller cap_list fb
|
||||
configuration: depth=32 driver=ast latency=0 resolution=1024,768
|
||||
resources: irq:90 memory:20000000-21ffffff memory:22000000-2201ffff
|
||||
*-pci:1
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port b2
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 3
|
||||
bus info: pci@0004:00:03.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:90 memory:23000000-231fffff ioport:280000200000(size=2097152)
|
||||
*-usb
|
||||
description: USB controller
|
||||
product: uPD720201 USB 3.0 Host Controller
|
||||
vendor: Renesas Technology Corp.
|
||||
physical id: 0
|
||||
bus info: pci@0004:03:00.0
|
||||
version: 03
|
||||
width: 64 bits
|
||||
clock: 33MHz
|
||||
capabilities: pm msi msix pciexpress xhci bus_master cap_list
|
||||
configuration: driver=xhci_hcd latency=0
|
||||
resources: irq:90 memory:23000000-23001fff
|
||||
*-usbhost:0
|
||||
product: xHCI Host Controller
|
||||
vendor: Linux 5.15.0-78-generic xhci-hcd
|
||||
physical id: 0
|
||||
bus info: usb@1
|
||||
logical name: usb1
|
||||
version: 5.15
|
||||
capabilities: usb-2.00
|
||||
configuration: driver=hub slots=4 speed=480Mbit/s
|
||||
*-usb
|
||||
description: USB hub
|
||||
product: USB2.0 Hub
|
||||
vendor: GenesysLogic
|
||||
physical id: 3
|
||||
bus info: usb@1:3
|
||||
version: 93.10
|
||||
capabilities: usb-2.10
|
||||
configuration: driver=hub slots=4 speed=480Mbit/s
|
||||
*-usbhost:1
|
||||
product: xHCI Host Controller
|
||||
vendor: Linux 5.15.0-78-generic xhci-hcd
|
||||
physical id: 1
|
||||
bus info: usb@2
|
||||
logical name: usb2
|
||||
version: 5.15
|
||||
capabilities: usb-3.00
|
||||
configuration: driver=hub slots=4 speed=5000Mbit/s
|
||||
*-usb
|
||||
description: USB hub
|
||||
product: USB3.1 Hub
|
||||
vendor: GenesysLogic
|
||||
physical id: 3
|
||||
bus info: usb@2:3
|
||||
version: 93.10
|
||||
capabilities: usb-3.20
|
||||
configuration: driver=hub slots=4 speed=5000Mbit/s
|
||||
*-pci:2
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port b4
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 5
|
||||
bus info: pci@0004:00:05.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:90 memory:23200000-233fffff ioport:280000400000(size=2097152)
|
||||
*-pci:5
|
||||
description: Host bridge
|
||||
product: Altra PCI Express Root Complex B
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 105
|
||||
bus info: pci@0005:00:00.0
|
||||
version: 00
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
*-pci:0
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port b0
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 1
|
||||
bus info: pci@0005:00:01.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:85 memory:30000000-301fffff ioport:2c0000000000(size=2097152)
|
||||
*-pci:1
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port b4
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 5
|
||||
bus info: pci@0005:00:05.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:85 memory:30200000-303fffff ioport:2c0000200000(size=2097152)
|
||||
*-pci:2
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port b6
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 7
|
||||
bus info: pci@0005:00:07.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:85 memory:30400000-305fffff ioport:2c0000400000(size=2097152)
|
||||
*-pci:6
|
||||
description: Host bridge
|
||||
product: Altra PCI Express Root Complex A
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 106
|
||||
bus info: pci@000c:00:00.0
|
||||
version: 00
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
*-pci:0
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port a0
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 1
|
||||
bus info: pci@000c:00:01.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:87 memory:40000000-401fffff ioport:300000000000(size=2097152)
|
||||
*-sata
|
||||
description: SATA controller
|
||||
product: ASMedia Technology Inc.
|
||||
vendor: ASMedia Technology Inc.
|
||||
physical id: 0
|
||||
bus info: pci@000c:01:00.0
|
||||
logical name: scsi0
|
||||
logical name: scsi2
|
||||
logical name: scsi3
|
||||
version: 02
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: sata pm pciexpress ahci_1.0 bus_master cap_list rom emulated
|
||||
configuration: driver=ahci latency=0
|
||||
resources: irq:87 memory:40080000-40081fff memory:40082000-40083fff memory:40000000-4007ffff
|
||||
*-disk:0
|
||||
description: ATA Disk
|
||||
product: INTEL SSDSC2KB48
|
||||
physical id: 0
|
||||
bus info: scsi@0:0.0.0
|
||||
logical name: /dev/sda
|
||||
version: 0132
|
||||
serial: PHYF05200592480BGN
|
||||
size: 447GiB (480GB)
|
||||
capabilities: gpt-1.00 partitioned partitioned:gpt
|
||||
configuration: ansiversion=5 guid=ceb012f0-148e-45e3-a2e2-d959d4e8f308 logicalsectorsize=512 sectorsize=4096
|
||||
*-volume:0
|
||||
description: Windows FAT volume
|
||||
vendor: mkfs.fat
|
||||
physical id: 1
|
||||
bus info: scsi@0:0.0.0,1
|
||||
logical name: /dev/sda1
|
||||
logical name: /boot/efi
|
||||
version: FAT32
|
||||
serial: c07f-03dd
|
||||
size: 1073MiB
|
||||
capacity: 1074MiB
|
||||
capabilities: boot fat initialized
|
||||
configuration: FATs=2 filesystem=fat mount.fstype=vfat mount.options=rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro state=mounted
|
||||
*-volume:1
|
||||
description: EXT4 volume
|
||||
vendor: Linux
|
||||
physical id: 2
|
||||
bus info: scsi@0:0.0.0,2
|
||||
logical name: /dev/sda2
|
||||
logical name: /boot
|
||||
version: 1.0
|
||||
serial: 1c969869-6c83-4794-a47c-55a4c25fd8c4
|
||||
size: 2GiB
|
||||
capabilities: journaled extended_attributes large_files huge_files dir_nlink recover 64bit extents ext4 ext2 initialized
|
||||
configuration: created=2023-02-24 20:20:27 filesystem=ext4 lastmountpoint=/boot modified=2024-03-16 22:18:19 mount.fstype=ext4 mount.options=rw,relatime mounted=2024-03-16 22:18:19 state=mounted
|
||||
*-volume:2
|
||||
description: EFI partition
|
||||
physical id: 3
|
||||
bus info: scsi@0:0.0.0,3
|
||||
logical name: /dev/sda3
|
||||
serial: ZQNhl1-aWtv-edSb-dk3Z-xJym-l50Z-1AQh4Y
|
||||
size: 444GiB
|
||||
capabilities: lvm2
|
||||
*-disk:1
|
||||
description: ATA Disk
|
||||
product: ST4000LM024-2AN1
|
||||
physical id: 1
|
||||
bus info: scsi@2:0.0.0
|
||||
logical name: /dev/sdb
|
||||
version: 0001
|
||||
serial: cfwMdB-jfA5-t3Sk-20nq-deBM-PAdV-ScYOpJ
|
||||
size: 3726GiB
|
||||
capacity: 3726GiB
|
||||
capabilities: lvm2
|
||||
configuration: ansiversion=5 logicalsectorsize=512 sectorsize=4096
|
||||
*-disk:2
|
||||
description: ATA Disk
|
||||
product: ST4000LM024-2AN1
|
||||
physical id: 0.0.0
|
||||
bus info: scsi@3:0.0.0
|
||||
logical name: /dev/sdc
|
||||
version: 0001
|
||||
serial: pIGorR-NXtM-Hw9E-z0aG-Y566-GUku-MyGYNh
|
||||
size: 3726GiB
|
||||
capacity: 3726GiB
|
||||
capabilities: lvm2
|
||||
configuration: ansiversion=5 logicalsectorsize=512 sectorsize=4096
|
||||
*-pci:1
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port a1
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 2
|
||||
bus info: pci@000c:00:02.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:87 memory:40200000-403fffff ioport:300000200000(size=2097152)
|
||||
*-sata
|
||||
description: SATA controller
|
||||
product: ASMedia Technology Inc.
|
||||
vendor: ASMedia Technology Inc.
|
||||
physical id: 0
|
||||
bus info: pci@000c:02:00.0
|
||||
logical name: scsi24
|
||||
logical name: scsi25
|
||||
version: 02
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: sata pm pciexpress ahci_1.0 bus_master cap_list rom emulated
|
||||
configuration: driver=ahci latency=0
|
||||
resources: irq:87 memory:40280000-40281fff memory:40282000-40283fff memory:40200000-4027ffff
|
||||
*-disk:0
|
||||
description: ATA Disk
|
||||
product: ST4000LM024-2AN1
|
||||
physical id: 0
|
||||
bus info: scsi@24:0.0.0
|
||||
logical name: /dev/sdd
|
||||
version: 0001
|
||||
serial: PfecXJ-y7LI-QwO6-XuMT-Uyhk-B4At-mt7g0o
|
||||
size: 3726GiB
|
||||
capacity: 3726GiB
|
||||
capabilities: lvm2
|
||||
configuration: ansiversion=5 logicalsectorsize=512 sectorsize=4096
|
||||
*-disk:1
|
||||
description: ATA Disk
|
||||
product: ST4000LM024-2U81
|
||||
physical id: 1
|
||||
bus info: scsi@25:0.0.0
|
||||
logical name: /dev/sde
|
||||
version: 0001
|
||||
serial: 8nDaPv-fJo9-fRao-fRxJ-4goq-cP8b-QJcZIh
|
||||
size: 3726GiB
|
||||
capacity: 3726GiB
|
||||
capabilities: lvm2
|
||||
configuration: ansiversion=5 logicalsectorsize=512 sectorsize=4096
|
||||
*-pci:2
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port a2
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 3
|
||||
bus info: pci@000c:00:03.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:87 memory:40400000-405fffff ioport:300000400000(size=2097152)
|
||||
*-pci:3
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port a3
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 4
|
||||
bus info: pci@000c:00:04.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:87 memory:40600000-407fffff ioport:300000600000(size=2097152)
|
||||
*-pci:7
|
||||
description: Host bridge
|
||||
product: Altra PCI Express Root Complex A
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 107
|
||||
bus info: pci@000d:00:00.0
|
||||
version: 00
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
*-pci:0
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port a0
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 1
|
||||
bus info: pci@000d:00:01.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:83 memory:50000000-501fffff ioport:340000000000(size=2097152)
|
||||
*-pci:1
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port a1
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 2
|
||||
bus info: pci@000d:00:02.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:83 memory:50200000-503fffff ioport:340000200000(size=2097152)
|
||||
*-pci:2
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port a2
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 3
|
||||
bus info: pci@000d:00:03.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:83 memory:50400000-505fffff ioport:340000400000(size=2097152)
|
||||
*-pci:3
|
||||
description: PCI bridge
|
||||
product: Altra PCI Express Root Port a3
|
||||
vendor: Ampere Computing, LLC
|
||||
physical id: 4
|
||||
bus info: pci@000d:00:04.0
|
||||
version: 04
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:83 memory:50600000-507fffff ioport:340000600000(size=2097152)
|
||||
*-pnp00:00
|
||||
product: PnP device PNP0c02
|
||||
physical id: 1
|
||||
capabilities: pnp
|
||||
configuration: driver=system
|
||||
*-power:0 UNCLAIMED
|
||||
description: SPRIN651AM
|
||||
product: YM-2651Y
|
||||
vendor: 3Y POWER
|
||||
physical id: 1
|
||||
version: A10R
|
||||
serial: SA00A3632213000844
|
||||
capacity: 650mWh
|
||||
*-power:1 UNCLAIMED
|
||||
description: SPRIN651AM
|
||||
product: YM-2651Y
|
||||
vendor: 3Y POWER
|
||||
physical id: 2
|
||||
version: A10R
|
||||
serial: SA00A3632213000845
|
||||
capacity: 650mWh
|
||||
*-input
|
||||
product: Power Button
|
||||
physical id: 3
|
||||
logical name: input0
|
||||
logical name: /dev/input/event0
|
||||
capabilities: platform
|
||||
3
tex/.gitignore
vendored
3
tex/.gitignore
vendored
|
|
@ -299,3 +299,6 @@ TSWLatexianTemp*
|
|||
# option is specified. Footnotes are the stored in a file with suffix Notes.bib.
|
||||
# Uncomment the next line to have this generated file ignored.
|
||||
#*Notes.bib
|
||||
|
||||
# minted
|
||||
**/_minted-skeleton
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -13,10 +13,10 @@
|
|||
% \usepackage{natbib} % recommended for citations % but I have no experience with natbib...
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[dvipsnames]{xcolor}
|
||||
\usepackage{hyperref}
|
||||
\usepackage[justification=centering]{caption}
|
||||
\usepackage{graphicx}
|
||||
\usepackage[english]{babel}
|
||||
\usepackage{float}
|
||||
% -> biblatex
|
||||
\usepackage{biblatex}
|
||||
\addbibresource{mybibfile.bib}
|
||||
|
|
@ -36,6 +36,9 @@
|
|||
% -> draw textbook-style frames
|
||||
\usepackage{mdframed}
|
||||
% <- frames
|
||||
% -> href (LOAD LAST)
|
||||
\usepackage{hyperref}
|
||||
% <- href
|
||||
|
||||
\begin{document}
|
||||
\begin{preliminary}
|
||||
|
|
@ -102,7 +105,9 @@ from the Informatics Research Ethics committee.
|
|||
|
||||
|
||||
\begin{acknowledgements}
|
||||
Jordanian River to the Mediterranean Sea, maybe\dots
|
||||
\textcolor{red}{For unbounded peace and happiness among all peoples of the world.}
|
||||
|
||||
\textcolor{red}{May we, one day, be able to see each other as equals.}
|
||||
\end{acknowledgements}
|
||||
|
||||
|
||||
|
|
@ -425,7 +430,7 @@ extern void dcache_inval_poc(
|
|||
unsigned long start, unsigned long end
|
||||
);
|
||||
|
||||
/* Clean data cache region [start, end) to PoC. $\ref{code:dcache_clean_poc}$
|
||||
/* Clean data cache region [start, end) to PoC. $\label{code:dcache_clean_poc}$
|
||||
*
|
||||
* Write-back CPU cache entries that intersect with [start, end),
|
||||
* such that data from CPU becomes visible to external writers.
|
||||
|
|
@ -554,14 +559,16 @@ The rest of the chapter is structured as follows:
|
|||
\end{itemize}
|
||||
|
||||
\section{Experiment Setup}\label{sec:sw-coherency-setup}
|
||||
\subsection{QEMU-over-x86: \texttt{star}}
|
||||
The primary source of experimental data come from a virtualized machine: a virtualized guest running a lightly-customized Linux v6.7.0 preemptive kernel with standard non-graphical Debian 12 distribution installed to provide userspace support. The specifics of this QEMU-emulated ARM64 test-bench, running atop of an x86-64 host PC, is at \ref{table:2}.
|
||||
\subsection{QEMU-over-x86: \texttt{star}}\label{subsec:spec-star}
|
||||
The primary source of experimental data come from a virtualized machine: a virtualized guest running a lightly-modified Linux v6.7.0 preemptive kernel with standard non-graphical Debian 12 distribution installed to provide userspace support. Table \ref{table:star} describes the specifics of the QEMU-emulated ARM64 test-bench, while table \ref{table:starhost} describes the specifics of its host.
|
||||
|
||||
\begin{table}[h]
|
||||
\centering
|
||||
\begin{tabular}{|c|c|}
|
||||
\hline
|
||||
Processors & 3x QEMU virt-8.2 (2-way SMT; emulates Cortex-A76) \\
|
||||
Processors & QEMU virt-8.2 (3 $\times$ 2-way SMT; emulates Cortex-A76) \\
|
||||
\hline
|
||||
Frequency & 2.0 GHz (\textit{sic.}\footnotemark[3]) \\
|
||||
\hline
|
||||
CPU Flags &
|
||||
\begin{tabular}{@{}cccccc@{}}
|
||||
|
|
@ -571,31 +578,113 @@ The primary source of experimental data come from a virtualized machine: a virtu
|
|||
asimdrdm & lrcpc & dcpop & asimddp & & \\
|
||||
\end{tabular} \\
|
||||
\hline
|
||||
NUMA Nodes & 1: $\{P_0, \dots, P_5\}$ \\
|
||||
NUMA Topology & 1: $\{P_0,\ \dots,\ P_5\}$ \\
|
||||
\hline
|
||||
Memory & 4GiB \\
|
||||
Memory & 1: 4GiB \\
|
||||
\hline
|
||||
Kernel & Linux 6.7.0 (modified) SMP Preemptive \\
|
||||
\hline
|
||||
Distribution & Debian 12 (bookworm) \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Specification of \texttt{star}}
|
||||
\label{table:2}
|
||||
\label{table:star}
|
||||
\end{table}
|
||||
|
||||
\footnotetext[3]{As reported from \texttt{lscpu}.}
|
||||
|
||||
\begin{table}[h]
|
||||
\centering
|
||||
\begin{tabular}{|c|c|}
|
||||
\hline
|
||||
Processors & AMD Ryzen 7 4800HS (8-core, 2-way SMT) \\
|
||||
\hline
|
||||
Freuqnecy & 2.9 GHz (4.2 GHz Turbo) \\
|
||||
\hline
|
||||
NUMA Topology & 1: $\{P_0,\ \dots,\ P_{15}\}$ \\
|
||||
\hline
|
||||
Cache Structure &
|
||||
\begin{tabular}{@{}c|c@{}}
|
||||
L3 & $P_0 \dots P_7$: 4MiB, $P_8 \dots P_{15}$: 4MiB \\
|
||||
L2 & Per core\footnotemark[4]: 512KiB \\
|
||||
L1 & Per core: d-cache 32KiB, i-cache 32KiB \\
|
||||
\end{tabular} \\
|
||||
\hline
|
||||
Memory & 1: 40 GiB DDR4-3200 SO-DIMM \\
|
||||
\hline
|
||||
Filesystem & ext4 on Samsung SSD 970 EVO Plus \\
|
||||
\hline
|
||||
Kernel & Linux 6.7.9 (arch1-1) SMP Preemptive \\
|
||||
\hline
|
||||
Distribution & Arch Linux \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Specification of Host}
|
||||
\label{table:3}
|
||||
\label{table:starhost}
|
||||
\end{table}
|
||||
|
||||
\subsection{\textit{Neoverse N1}: \texttt{rose}}
|
||||
% - QEMU-over-x86; preemptive-on-preemptive
|
||||
% - Native server-ready ARM64 (preemptive), which I didn't run for long ngl
|
||||
\footnotetext[4]{i.e., per 2 threads. For example: $P_0$, $P_1$ comprises one core.}
|
||||
|
||||
\subsection{\textit{Ampere Altra}: \texttt{rose}}\label{subsec:spec-rose}
|
||||
\begin{table}[H] % suboptimal, but otherwise gets placed in next sec...
|
||||
\centering
|
||||
\begin{tabular}{|c|c|}
|
||||
\hline
|
||||
Processors & Ampere Altra (32 core; Neoverse N1 microarch.) \\
|
||||
\hline
|
||||
Frequency & 1.7 GHz (3.0 GHz max) \\
|
||||
\hline
|
||||
NUMA Topology & 1: $\{P_0,\ \dots,\ P_{31}\}$ \\
|
||||
\hline
|
||||
Cache Structure &
|
||||
\begin{tabular}{@{}c|c@{}}
|
||||
L2 & Per core: 1MiB \\
|
||||
L1 & Per core: d-cache 64KiB, i-cache 64KiB \\
|
||||
\end{tabular} \\
|
||||
\hline
|
||||
Memory & 1: 256 GiB DDR4-3200 DIMM ECC \\
|
||||
\hline
|
||||
Kernel & Linux 6.7.0 (modified) SMP Preemptive \\
|
||||
\hline
|
||||
Distribution & Ubuntu 22.04 LTS (Jammy Jellyfish) \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Specification of \texttt{rose}}
|
||||
\label{table:rose}
|
||||
\end{table}
|
||||
|
||||
Additional to virtualized testbench, I have had the honor to access \texttt{rose}, a ARMv8 server rack system hosted by the \textcolor{red}{Systems Group} at the \textit{Informatics Forum}, through the invaluable assistance of my primary advisor, \textit{Amir Noohi}, for instrumentation of similar experimental setups on server-grade bare-metal systems.
|
||||
|
||||
The specifications of \texttt{rose} is listed in table \ref{table:rose}.
|
||||
|
||||
\section{Methodology}\label{sec:sw-coherency-method}
|
||||
\subsection{Exporting \texttt{dcache\_clean\_poc}}
|
||||
As established in subsection \ref{subsec:armv8a-swcoherency}, software cache-coherence maintenance operations (e.g., \texttt{dcache\_[clean|inval]\_poc}) are wrapped behind DMA API function calls and are hence unavailable for direct use in drivers. Moreover, instrumentation of assembly code becomes non-trivial when compared to instrumenting C function symbols, likely due to automatically stripped assembly symbols during kernel linkage. Consequently, it becomes impossible to utilize the existing instrumentation tools available in the Linux kernel (e.g., \texttt{ftrace}) to trace assembly routines.
|
||||
|
||||
In order to convert \texttt{dcache\_clean\_poc} to a traceable equivalent, a wrapper function \texttt{\_\_dcache\_clean\_poc} is created as follows:
|
||||
\begin{minted}[mathescape, linenos, bgcolor=code-bg]{c}
|
||||
/* In arch/arm64/mm/flush.c */
|
||||
#include <asm/cacheflush_extra.h>
|
||||
|
||||
/* ... */
|
||||
|
||||
void __dcache_clean_poc(ulong start, ulong end)
|
||||
{
|
||||
dcache_clean_poc(start, end); // see $\ref{code:dcache_clean_poc}$
|
||||
}
|
||||
EXPORT_SYMBOL(__dcache_clean_poc);
|
||||
\end{minted}
|
||||
|
||||
Correspondingly, the header \texttt{arch/arm64/include/asm/cacheflush\_extra.h} is created to export the symbol \texttt{\_\_dcache\_clean\_poc} into kernel module namespace. This has the additional benefit of creating a corresponding \texttt{ftrace} target, allowing the symbol to be instrumented using existing Linux instrumentation mechanisms. The entirety of modifications done to the in-tree v6.7.0 kernel culminates to a 44-line patch file (inclusive of metadata, context, etc.). It is expected that the introduction of additional symbols would increment the function latency by (at least) the amount of time necessary to fetch the instruction, but such latency is expected to be miniscule when compared to cache coherency operations.
|
||||
|
||||
\subsection{Kernel Module: \texttt{my\_shmem}}
|
||||
To simulate module-initiated cache coherence behavior over allocated kernel buffers, a kernel module, \texttt{my\_shmem}, is written such that specially-written userspace programs could cause the kernel to invoke \texttt{\_\_dcache\_clean\_poc} at will.
|
||||
|
||||
\subsubsection{\texttt{my\_shmem}: Design}
|
||||
The \texttt{my\_shmem} module is a utility for (lazily) allocating one or more kernel-space pages, re-mapping them into the userspace for reading/writing operations, and invoking cache-coherency operations \emph{as if} accessed via DMA on unmap.
|
||||
|
||||
\subsubsection{\texttt{my\_shmem}: Implementation}
|
||||
|
||||
\subsection{Instrumentation: \texttt{ftrace} and \textit{eBPF}}
|
||||
\subsection{Userspace Programs}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue