struct test_pal_logical_processor

From liblfds.org
Jump to navigation Jump to search

Source File

└───test
    └───src
        └───internal.h

Structure

struct test_pal_logical_processor
{
  lfds700_pal_uint_t
    logical_processor_number,
    windows_logical_processor_group_number;

  struct lfds700_list_asu_element
    lasue;
};

Notes

This structure is used by the test programme to uniquely identify a logical core, for the purpose of starting threads and pinning them to a given logical core.

Linux systems have a single ID per logical core, Windows systems have (*rolls eyes*) two unique IDs per logical core, as Windows assigns logical cores into groups of up to 64 cores (which do not exactly map to NUMA nodes, either!), which is why there is the extra field for that group number.

From the point of view of a user implementing the test porting abstraction layer, this structure is only in use when the user is adding it to a liblfds linked list, which is why a struct lfds700_list_asu_element is present.

See Also