Motr  M0
m0_processor_descr Struct Reference

#include <processor.h>

Collaboration diagram for m0_processor_descr:
Collaboration graph

Data Fields

m0_processor_nr_t pd_id
 
uint32_t pd_numa_node
 
uint32_t pd_l1
 
uint32_t pd_l2
 
size_t pd_l1_sz
 
size_t pd_l2_sz
 
uint32_t pd_pipeline
 

Detailed Description

Description of a processor in the system. Please note that L1 and L2 cache ids may have to bee generated by the program.

Example : Id generation on Linux (user-mode)

+---------------+-----------------------------------------------------------+
| Name          |    Identifier Description                                 |
+---------------+-----------------------------------------------------------+
| pd_numa_node  | NumaNode Id as supplied by the system                     |
+---------------+-----------------------------------------------------------+
| pd_id         | Logical processor id supplied by the system               |
+---------------+-----------------------------------------------------------+
| pd_l1         | 1. If L1 is not shared with any other processor, then     |
|               |    it's same as pd_id.                                    |
|               | 2. If L1 is shared,                                       |
|               |    Physical Package Id (16-31) |  Core Id (0-15)          |
+---------------+-----------------------------------------------------------+
| pd_l2         | 1. If L2 is not shared with any other processor, then     |
|               |    it's same as pd_id.                                    |
|               | 3. If L2 is shared and L3 is present, its                 |
|               |    Physical Package Id (16-31) | Core Id (0-15)           |
|               | 3. If L2 is shared and L3 is not present, its             |
|               |    Physical Package Id                                    |
+---------------+-----------------------------------------------------------+
| pd_pipeline   | Same as pd_id                                             |
+---------------+-----------------------------------------------------------+

Definition at line 169 of file processor.h.

Field Documentation

◆ pd_id

Processor identifier.

Definition at line 171 of file processor.h.

◆ pd_l1

uint32_t pd_l1

Id for L1 cache. If multiple processors share L1 cache, all of them will have same L1 cache id

Definition at line 176 of file processor.h.

◆ pd_l1_sz

size_t pd_l1_sz

L1 cache size (in bytes) for this processor

Definition at line 181 of file processor.h.

◆ pd_l2

uint32_t pd_l2

Id for L2 cache. If multiple processors share L2 cache, all of them will have same L2 cache id

Definition at line 179 of file processor.h.

◆ pd_l2_sz

size_t pd_l2_sz

L2 cache size (in bytes) for this processor

Definition at line 183 of file processor.h.

◆ pd_numa_node

uint32_t pd_numa_node

All processors in the same numa node share this

Definition at line 173 of file processor.h.

◆ pd_pipeline

uint32_t pd_pipeline

All processors sharing the same pipeline have the same value of this.

Definition at line 186 of file processor.h.


The documentation for this struct was generated from the following file: