Dynamic Load Balance 3.6.1+32-59d1
dlb_types.h
Go to the documentation of this file.
1/*********************************************************************************/
2/* Copyright 2009-2024 Barcelona Supercomputing Center */
3/* */
4/* This file is part of the DLB library. */
5/* */
6/* DLB is free software: you can redistribute it and/or modify */
7/* it under the terms of the GNU Lesser General Public License as published by */
8/* the Free Software Foundation, either version 3 of the License, or */
9/* (at your option) any later version. */
10/* */
11/* DLB is distributed in the hope that it will be useful, */
12/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
13/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
14/* GNU Lesser General Public License for more details. */
15/* */
16/* You should have received a copy of the GNU Lesser General Public License */
17/* along with DLB. If not, see <https://www.gnu.org/licenses/>. */
18/*********************************************************************************/
19
20#ifndef DLB_TYPES_H
21#define DLB_TYPES_H
22
23// Opaque types
25typedef void* dlb_handler_t;
26typedef void* dlb_cpu_set_t;
27typedef const void* const_dlb_cpu_set_t;
28
29// LeWI enums
31enum { DLB_MAX_CPUS = 0x7fff };
32
33// DROM flags
34typedef enum dlb_drom_flags_e {
39 DLB_SYNC_NOW = 1 << 3,
40 DLB_NO_SYNC = 1 << 4,
43
44// PrintShmem flags
45typedef enum dlb_printshmem_flags_e {
49
50// Barrier flags
51typedef enum dlb_barrier_flags_e {
56
57// Generic dummy callback type
58typedef void (*dlb_callback_t)(void);
59
60// Callbacks enum
61typedef enum dlb_callbacks_e {
72
73// Callback signatures
74typedef void (*dlb_callback_set_num_threads_t)(int num_threads, void *arg);
75typedef void (*dlb_callback_set_active_mask_t)(const_dlb_cpu_set_t mask, void *arg);
77typedef void (*dlb_callback_add_active_mask_t)(const_dlb_cpu_set_t mask, void *arg);
79typedef void (*dlb_callback_enable_cpu_t)(int cpuid, void *arg);
80typedef void (*dlb_callback_disable_cpu_t)(int cpuid, void *arg);
81typedef void (*dlb_callback_enable_cpu_set_t)(const_dlb_cpu_set_t mask, void *arg);
82typedef void (*dlb_callback_disable_cpu_set_t)(const_dlb_cpu_set_t mask, void *arg);
83
84#endif /* DLB_TYPES_H */
void(* dlb_callback_enable_cpu_set_t)(const_dlb_cpu_set_t mask, void *arg)
Definition: dlb_types.h:81
void(* dlb_callback_set_process_mask_t)(const_dlb_cpu_set_t mask, void *arg)
Definition: dlb_types.h:76
void(* dlb_callback_set_active_mask_t)(const_dlb_cpu_set_t mask, void *arg)
Definition: dlb_types.h:75
dlb_callbacks_t
Definition: dlb_types.h:61
@ dlb_callback_disable_cpu_set
Definition: dlb_types.h:70
@ dlb_callback_enable_cpu_set
Definition: dlb_types.h:69
@ dlb_callback_set_active_mask
Definition: dlb_types.h:63
@ dlb_callback_set_num_threads
Definition: dlb_types.h:62
@ dlb_callback_set_process_mask
Definition: dlb_types.h:64
@ dlb_callback_disable_cpu
Definition: dlb_types.h:68
@ dlb_callback_add_process_mask
Definition: dlb_types.h:66
@ dlb_callback_enable_cpu
Definition: dlb_types.h:67
@ dlb_callback_add_active_mask
Definition: dlb_types.h:65
void(* dlb_callback_disable_cpu_set_t)(const_dlb_cpu_set_t mask, void *arg)
Definition: dlb_types.h:82
void * dlb_cpu_set_t
Definition: dlb_types.h:26
dlb_drom_flags_t
Definition: dlb_types.h:34
@ DLB_STEAL_CPUS
Definition: dlb_types.h:36
@ DLB_DROM_FLAGS_NONE
Definition: dlb_types.h:35
@ DLB_SYNC_NOW
Definition: dlb_types.h:39
@ DLB_SYNC_QUERY
Definition: dlb_types.h:38
@ DLB_FREE_CPUS_SLURM
Definition: dlb_types.h:41
@ DLB_NO_SYNC
Definition: dlb_types.h:40
@ DLB_RETURN_STOLEN
Definition: dlb_types.h:37
void * dlb_handler_t
Definition: dlb_types.h:25
void(* dlb_callback_enable_cpu_t)(int cpuid, void *arg)
Definition: dlb_types.h:79
void(* dlb_callback_add_active_mask_t)(const_dlb_cpu_set_t mask, void *arg)
Definition: dlb_types.h:77
dlb_printshmem_flags_t
Definition: dlb_types.h:45
@ DLB_COLOR_AUTO
Definition: dlb_types.h:46
@ DLB_COLOR_ALWAYS
Definition: dlb_types.h:47
void(* dlb_callback_disable_cpu_t)(int cpuid, void *arg)
Definition: dlb_types.h:80
@ DLB_MAX_CPUS
Definition: dlb_types.h:31
dlb_barrier_flags_t
Definition: dlb_types.h:51
@ DLB_BARRIER_LEWI_ON
Definition: dlb_types.h:53
@ DLB_BARRIER_LEWI_RUNTIME
Definition: dlb_types.h:54
@ DLB_BARRIER_LEWI_OFF
Definition: dlb_types.h:52
void(* dlb_callback_t)(void)
Definition: dlb_types.h:58
struct dlb_barrier_t dlb_barrier_t
Definition: dlb_types.h:24
const void * const_dlb_cpu_set_t
Definition: dlb_types.h:27
void(* dlb_callback_add_process_mask_t)(const_dlb_cpu_set_t mask, void *arg)
Definition: dlb_types.h:78
@ DLB_DELETE_REQUESTS
Definition: dlb_types.h:30
void(* dlb_callback_set_num_threads_t)(int num_threads, void *arg)
Definition: dlb_types.h:74