Difference between pages "r7.1.1:Struct libtest testsuite state" and "r7.1.1:Struct test pal logical processor"

From liblfds.org
(Difference between pages)
Jump to navigation Jump to search
m (1 revision imported)
 
m (1 revision imported)
 
Line 1: Line 1:
{{DISPLAYTITLE:struct libtest_testsuite_state}}
{{DISPLAYTITLE:struct test_pal_logical_processor}}
==Source File==
==Source File==
  └── test_and_benchmark
  └───test
     └── libtest
     └───src
         └── inc
         └───internal.h
            └── libtest
                └── libtest_testsuite.h


==Opaque Structure==
==Structure==
  struct libtest_testsuite_state;
  struct test_pal_logical_processor
{
  lfds711_pal_uint_t
    logical_processor_number,
    windows_logical_processor_group_number;
  struct lfds711_list_asu_element
    lasue;
};


==Alignment==
==Notes==
Allocations must be ''LFDS711_PAL_ATOMIC_ISOLATION_IN_BYTES'' aligned.
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.


==Notes==
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.
This structure is the main state used by the ''libtest'' library to run tests.
 
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 lfds711_list_asu_element'' is present.


==See Also==
==See Also==
* [[r7.1.1:Usage Guide (libtest)|Usage Guide (libtest)]]
* [[r7.1.1:Misc|Misc]]
* ''[[r7.1.1:function test_pal_get_logical_core_ids|test_pal_get_logical_core_ids]]''
* ''[[r7.1.1:function test_pal_thread_start|test_pal_thread_start]]''

Latest revision as of 20:16, 17 February 2017

Source File

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

Structure

struct test_pal_logical_processor
{
  lfds711_pal_uint_t
    logical_processor_number,
    windows_logical_processor_group_number;

  struct lfds711_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 lfds711_list_asu_element is present.

See Also