suricata
util-affinity.h File Reference
#include "suricata-common.h"
#include "conf.h"
Include dependency graph for util-affinity.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ThreadsAffinityType_
 

Typedefs

typedef struct ThreadsAffinityType_ ThreadsAffinityType
 

Enumerations

enum  {
  RECEIVE_CPU_SET, WORKER_CPU_SET, VERDICT_CPU_SET, MANAGEMENT_CPU_SET,
  MAX_CPU_SET
}
 
enum  { BALANCED_AFFINITY, EXCLUSIVE_AFFINITY, MAX_AFFINITY }
 

Functions

void AffinitySetupLoadFromConfig (void)
 Extract cpu affinity configuration from current config file. More...
 
ThreadsAffinityTypeGetAffinityTypeFromName (const char *name)
 find affinity by its name More...
 
int AffinityGetNextCPU (ThreadsAffinityType *taf)
 Return next cpu to use for a given thread family. More...
 
void BuildCpusetWithCallback (const char *name, ConfNode *node, void(*Callback)(int i, void *data), void *data)
 

Variables

ThreadsAffinityType thread_affinity [MAX_CPU_SET]
 

Detailed Description

Author
Eric Leblond eric@.nosp@m.regi.nosp@m.t.org

Definition in file util-affinity.h.

Typedef Documentation

Enumeration Type Documentation

anonymous enum
Enumerator
RECEIVE_CPU_SET 
WORKER_CPU_SET 
VERDICT_CPU_SET 
MANAGEMENT_CPU_SET 
MAX_CPU_SET 

Definition at line 50 of file util-affinity.h.

anonymous enum
Enumerator
BALANCED_AFFINITY 
EXCLUSIVE_AFFINITY 
MAX_AFFINITY 

Definition at line 58 of file util-affinity.h.

Function Documentation

int AffinityGetNextCPU ( ThreadsAffinityType taf)

Return next cpu to use for a given thread family.

Return values
thecpu to used given by its id

Definition at line 297 of file util-affinity.c.

References ThreadsAffinityType_::cpu_set, ThreadsAffinityType_::lcpu, SC_ERR_INVALID_ARGUMENT, SCLogDebug, SCLogError, SCMutexLock, SCMutexUnlock, ThreadsAffinityType_::taf_mutex, and UtilCpuGetNumProcessorsOnline().

Referenced by TmThreadSetupOptions().

Here is the call graph for this function:

Here is the caller graph for this function:

void BuildCpusetWithCallback ( const char *  name,
ConfNode node,
void(*)(int i, void *data)  Callback,
void *  data 
)

Definition at line 98 of file util-affinity.c.

References BuildCpusetWithCallback(), index, next, SC_ERR_INVALID_ARGUMENT, SCLogError, TAILQ_FOREACH, UtilCpuGetNumProcessorsOnline(), and ConfNode_::val.

Referenced by BuildCpusetWithCallback().

Here is the call graph for this function:

Here is the caller graph for this function:

ThreadsAffinityType* GetAffinityTypeFromName ( const char *  name)

find affinity by its name

Return values
apointer to the affinity or NULL if not found

Definition at line 68 of file util-affinity.c.

References ThreadsAffinityType_::cpu_set, MAX_CPU_SET, SCLogDebug, SCMutexInit, and UtilCpuGetNumProcessorsConfigured().

Referenced by AffinitySetupLoadFromConfig().

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

ThreadsAffinityType thread_affinity[MAX_CPU_SET]

store thread affinity mode for all type of threads

Definition at line 34 of file util-affinity.c.

Referenced by TmThreadGetNbThreads(), and TmThreadSetupOptions().