Simultaneous Multithreading (SMT) parsers

Parsers included in this module are:

CpuSMTActive - file /sys/devices/system/cpu/smt/active

CpuSMTControl - file /sys/devices/system/cpu/smt/control

CpuCoreOnline - files matching /sys/devices/system/cpu/cpu[0-9]*/online

CpuSiblings - files matching /sys/devices/system/cpu/cpu[0-9]*/topology/thread_siblings_list

class insights.parsers.smt.CpuCoreOnline(context)[source]

Bases: Parser

Class for parsing /sys/devices/system/cpu/cpu[0-9]*/online matching files. Reports whether a CPU core is online. Cpu0 is always online, so it does not have the “online” file.

Typical output of this command is:

1
1
1
Raises:

SkipComponent -- When content is empty or cannot be parsed

Examples

>>> cpu_core_online.core_id
0
>>> cpu_core_online.on
True
parse_content(content)[source]

This method must be implemented by classes based on this class.

class insights.parsers.smt.CpuSMTActive(context)[source]

Bases: Parser

Class for parsing /sys/devices/system/cpu/smt/active file. Reports whether SMT is enabled and active.

Typical output of this command is:

1
Raises:

SkipComponent -- When content is empty or cannot be parsed.

Examples

>>> cpu_smt_active.on
True
parse_content(content)[source]

This method must be implemented by classes based on this class.

class insights.parsers.smt.CpuSMTControl(context)[source]

Bases: Parser

Class for parsing /sys/devices/system/cpu/smt/control file. Reports whether SMT is user-controllable.

Four settings are possible:

on: SMT enabled
off: SMT disabled
forceoff: SMT disabled, cannot change at runtime
notsupported: CPU does not support SMT

Typical output of this command is:

off
Raises:

SkipComponent -- When content is empty or cannot be parsed.

Examples

>>> cpu_smt_control.on
False
>>> cpu_smt_control.modifiable
True
>>> cpu_smt_control.supported
True
parse_content(content)[source]

This method must be implemented by classes based on this class.

class insights.parsers.smt.CpuSiblings(context)[source]

Bases: Parser

Class for parsing /sys/devices/system/cpu/cpu[0-9]*/topology/thread_siblings_list matching files. Reports CPU core siblings.

Typical output of this command is:

0,2
1,3
0,2
1,3
Raises:

SkipComponent -- When content is empty or cannot be parsed

Examples

>>> cpu_siblings.core_id
0
>>> cpu_siblings.siblings
[0, 2]
parse_content(content)[source]

This method must be implemented by classes based on this class.