Difference between pages "r7.1.1:Macro LFDS711 QUEUE UMM GET USER STATE FROM STATE" and "r7.1.1:Function libbenchmark misc pal helper add logical processor node to topology tree"

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:macro LFDS711_QUEUE_UMM_GET_USER_STATE_FROM_STATE}}
{{DISPLAYTITLE:function libbenchmark_misc_pal_helper_new_topology_node}}
==Source File==
==Source Files==
  └───liblfds711
  └───test_and_benchmark
     └───inc
     └───libbenchmark
         └───liblfds711
         ├───inc
                lfds711_queue_umm.h
        │  └───libbenchmark
        │          libbenchmark_porting_abstraction_layer.h
        └───src
            └───libbenchmark_misc
                    libbenchmark_misc_pal_helpers.c


==Macro==
==Opaque Structures==
  #define LFDS711_QUEUE_UMM_GET_USER_STATE_FROM_STATE( queue_umm_state )
  struct [[r7.1.1:struct libbenchmark_topology_state|libbenchmark_topology_state]];
 
==Prototype==
void libbenchmark_misc_pal_helper_add_logical_processor_node_to_topology_tree( struct libbenchmark_topology_state *ts,
                                                                                lfds711_pal_uint_t logical_processor_number,
                                                                                enum flag windows_processor_group_inuse_flag,
                                                                                lfds711_pal_uint_t windows_processor_group_number );


==Parameters==
==Parameters==
''queue_umm_state''
''struct libbenchmark_topology_state *ts''
: An initialized ''struct lfds711_queue_umm_state''.  Not a pointer to it - the struct itself.
: A pointer a ''struct libbenchmark_topology'' obtained from ''libbenchmark_pal_populate_topology''.


==Return Value==
''lfds711_pal_uint_t logical_processor_number''
Returns a ''void *'', the ''user_state'' argument from ''[[r7.1.1:function lfds711_queue_umm_init_valid_on_current_logical_core|lfds711_umm_queue_init_valid_on_current_logical_core]]''.
: The logical processor number of the logical processor to add to the topology tree pointed to by ''ts''.


==Notes==
''enum flag windows_processor_group_inuse_flag''
The user state value can only be set the once, when the data structure instance is initialized.
: An ''enum flag'' which indicates whether or not the ''windows_processor_group_number'' argument contains a valid value (for that field is only meaningful on Windows 7 and greater).


As with all ''liblfds'' macros, the macro operates on the structure itself, not a pointer to it.
''lfds711_pal_uint_t windows_processor_group_number''
: The Windows processor group number of the logical processor to add to the topology tree pointed to by ''ts''.  This value is only meaningful on Windows 7 and greater.  It will only be used if the ''windows_processor_group_inuse_flag'' is set to ''RAISED'', and so if not used, can be set to any value.  Zero is as good a choice as any other.
 
==Return Value==
No return value.


==Example==
==Example==
#include <stdio.h>
 
#include <string.h>
==Notes==
#include "liblfds711.h"
This helper function is used by ''libbenchmark_pal_populate_topology'' to add a logical processor node to the topology tree.
int main()
{
  char
    queue_name[64] = "People Ain't No Good";
  struct lfds711_queue_umm_element
    qumme_dummy;
 
  struct lfds711_queue_umm_state
    qumms;
  void
    *user_state;
  lfds711_queue_umm_init_valid_on_current_logical_core( &qumms, &qumme_dummy, (void *) queue_name );
  user_state = LFDS711_QUEUE_GET_USER_STATE_FROM_STATE( qumms );
  printf( "queue name is \"%s\"\n", (char *) user_state );
  lfds711_queue_umm_cleanup( &qumms, NULL );
  return( EXIT_SUCCESS );
}


==See Also==
==See Also==
* [[r7.1.1:Queue (unbounded, many producer, many consumer)|Queue (unbounded, many producer, many consumer)]]
* [[r7.1.1:Porting Guide (libbenchmark)|Porting Guide (libbenchmark)]]
* ''[[r7.1.1:function libbenchmark_pal_populate_topology|libbenchmark_pal_populate_topology]]''

Latest revision as of 20:16, 17 February 2017

Source Files

└───test_and_benchmark
    └───libbenchmark
        ├───inc
        │   └───libbenchmark
        │           libbenchmark_porting_abstraction_layer.h
        └───src
            └───libbenchmark_misc
                    libbenchmark_misc_pal_helpers.c

Opaque Structures

struct libbenchmark_topology_state;

Prototype

void libbenchmark_misc_pal_helper_add_logical_processor_node_to_topology_tree( struct libbenchmark_topology_state *ts,
                                                                               lfds711_pal_uint_t logical_processor_number,
                                                                               enum flag windows_processor_group_inuse_flag,
                                                                               lfds711_pal_uint_t windows_processor_group_number );

Parameters

struct libbenchmark_topology_state *ts

A pointer a struct libbenchmark_topology obtained from libbenchmark_pal_populate_topology.

lfds711_pal_uint_t logical_processor_number

The logical processor number of the logical processor to add to the topology tree pointed to by ts.

enum flag windows_processor_group_inuse_flag

An enum flag which indicates whether or not the windows_processor_group_number argument contains a valid value (for that field is only meaningful on Windows 7 and greater).

lfds711_pal_uint_t windows_processor_group_number

The Windows processor group number of the logical processor to add to the topology tree pointed to by ts. This value is only meaningful on Windows 7 and greater. It will only be used if the windows_processor_group_inuse_flag is set to RAISED, and so if not used, can be set to any value. Zero is as good a choice as any other.

Return Value

No return value.

Example

Notes

This helper function is used by libbenchmark_pal_populate_topology to add a logical processor node to the topology tree.

See Also