]> pd.if.org Git - liblfds/blob - liblfds/liblfds7.1.0/test_and_benchmark/libtest/src/libtest_misc/libtest_misc_pal_helpers.c
Initial import (all versions, including the new 7.1.0)
[liblfds] / liblfds / liblfds7.1.0 / test_and_benchmark / libtest / src / libtest_misc / libtest_misc_pal_helpers.c
1 /***** includes *****/
2 #include "libtest_misc_internal.h"
3
4
5
6
7
8 /****************************************************************************/
9 void libtest_misc_pal_helper_add_logical_processor_to_list_of_logical_processors( struct lfds710_list_asu_state *list_of_logical_processors,
10                                                                                   struct libshared_memory_state *ms,
11                                                                                   lfds710_pal_uint_t logical_processor_number,
12                                                                                   lfds710_pal_uint_t windows_processor_group_number )
13 {
14   struct libtest_logical_processor
15     *lp;
16
17   LFDS710_PAL_ASSERT( list_of_logical_processors != NULL );
18   LFDS710_PAL_ASSERT( ms != NULL );
19   // TRD : logical_processor_number can be any value in its range
20   // TRD : windows_processor_group_number can be any value in its range
21
22   lp = libshared_memory_alloc_from_most_free_space_node( ms, sizeof(struct libtest_logical_processor), LFDS710_PAL_ATOMIC_ISOLATION_IN_BYTES );
23
24   LIBTEST_PAL_SET_LOGICAL_PROCESSOR_NUMBER( *lp, logical_processor_number );
25   LIBTEST_PAL_SET_WINDOWS_PROCESSOR_GROUP_NUMBER( *lp, windows_processor_group_number );
26
27   LFDS710_LIST_ASU_SET_VALUE_IN_ELEMENT( lp->lasue, lp );
28   lfds710_list_asu_insert_at_start( list_of_logical_processors, &lp->lasue );
29
30   return;
31 }
32