PPL Logo

conv-core/memory-isomalloc.C File Reference

Go to the source code of this file.

Functions

 CpvStaticDeclare (CmiIsomallocBlockList *, isomalloc_blocklist)
 CpvStaticDeclare (CmiIsomallocBlockList *, pushed_blocklist)
void CmiDisableIsomalloc ()
void CmiEnableIsomalloc ()
static void meta_init (char **argv)
static void * meta_malloc (size_t size)
static void meta_free (void *mem)
static void * meta_calloc (size_t nelem, size_t size)
static void meta_cfree (void *mem)
static void * meta_realloc (void *oldBuffer, size_t newSize)
static void * meta_memalign (size_t align, size_t size)
static int meta_posix_memalign (void **outptr, size_t align, size_t size)
static void * meta_aligned_alloc (size_t align, size_t size)
static void * meta_valloc (size_t size)
static void * meta_pvalloc (size_t size)
void * malloc_nomigrate (size_t size)
void free_nomigrate (void *mem)
CmiIsomallocBlockListCmiIsomallocBlockListActivate (CmiIsomallocBlockList *l)
CmiIsomallocBlockListCmiIsomallocBlockListCurrent (void)

Variables

static CMK_THREADLOCAL int isomalloc_thread = 0
 make sure isomalloc is only called in pthreads that is spawned by Charm++.
static int meta_inited = 0
int _sync_iso
int _sync_iso_warned


Function Documentation

CpvStaticDeclare ( CmiIsomallocBlockList ,
isomalloc_blocklist   
)

CpvStaticDeclare ( CmiIsomallocBlockList ,
pushed_blocklist   
)

void CmiDisableIsomalloc ( void   ) 

Definition at line 32 of file memory-isomalloc.C.

Referenced by TraceBluegene::bgPrint(), and FTN_NAME().

Here is the caller graph for this function:

void CmiEnableIsomalloc ( void   ) 

Definition at line 38 of file memory-isomalloc.C.

Referenced by TraceBluegene::bgPrint(), and FTN_NAME().

Here is the caller graph for this function:

static void meta_init ( char **  argv  )  [static]

Definition at line 62 of file memory-isomalloc.C.

References _sync_iso, _sync_iso_warned, CmiMemoryIs_flag, CmiMyPe(), CmiMyRank(), isomalloc_thread, and meta_inited.

Referenced by CmiMemoryInit(), and cpd_memory_single_pup().

Here is the call graph for this function:

Here is the caller graph for this function:

static void* meta_malloc ( size_t  size  )  [static]

Definition at line 81 of file memory-isomalloc.C.

References CmiIsFortranLibraryCall(), CmiIsomallocBlockListMalloc(), CmiThreadIs(), isomalloc_thread, meta_inited, and mm_malloc.

Here is the call graph for this function:

static void meta_free ( void *  mem  )  [static]

Definition at line 109 of file memory-isomalloc.C.

References CmiIsomallocBlockListFree(), CmiIsomallocInRange(), and mm_free.

Referenced by cpd_memory_single_pup(), free(), meta_cfree(), meta_free_hook(), and meta_realloc().

Here is the call graph for this function:

Here is the caller graph for this function:

static void* meta_calloc ( size_t  nelem,
size_t  size 
) [static]

Definition at line 121 of file memory-isomalloc.C.

References meta_malloc().

Here is the call graph for this function:

static void meta_cfree ( void *  mem  )  [static]

Definition at line 128 of file memory-isomalloc.C.

References meta_free().

Referenced by cfree(), and cpd_memory_single_pup().

Here is the call graph for this function:

Here is the caller graph for this function:

static void* meta_realloc ( void *  oldBuffer,
size_t  newSize 
) [static]

Definition at line 133 of file memory-isomalloc.C.

References CmiIsomallocInRange(), CmiIsomallocLength(), meta_free(), meta_malloc(), mm_realloc, and size.

Here is the call graph for this function:

static void* meta_memalign ( size_t  align,
size_t  size 
) [static]

Definition at line 155 of file memory-isomalloc.C.

References CmiIsFortranLibraryCall(), CmiIsomallocBlockListMallocAlign(), and mm_memalign.

Here is the call graph for this function:

static int meta_posix_memalign ( void **  outptr,
size_t  align,
size_t  size 
) [static]

Definition at line 175 of file memory-isomalloc.C.

References CmiIsFortranLibraryCall(), CmiIsomallocBlockListMallocAlign(), and mm_posix_memalign.

Here is the call graph for this function:

static void* meta_aligned_alloc ( size_t  align,
size_t  size 
) [static]

Definition at line 195 of file memory-isomalloc.C.

References CmiIsFortranLibraryCall(), CmiIsomallocBlockListMallocAlign(), and mm_aligned_alloc.

Here is the call graph for this function:

static void* meta_valloc ( size_t  size  )  [static]

Definition at line 215 of file memory-isomalloc.C.

References CmiGetPageSize(), and meta_memalign().

Here is the call graph for this function:

static void* meta_pvalloc ( size_t  size  )  [static]

Definition at line 220 of file memory-isomalloc.C.

References CmiGetPageSize(), and meta_memalign().

Here is the call graph for this function:

CmiIsomallocBlockList* CmiIsomallocBlockListActivate ( CmiIsomallocBlockList l  ) 

Definition at line 247 of file memory-isomalloc.C.

Referenced by TCharm::activateThread(), and TCharm::deactivateThread().

Here is the caller graph for this function:

CmiIsomallocBlockList* CmiIsomallocBlockListCurrent ( void   ) 

Definition at line 255 of file memory-isomalloc.C.


Variable Documentation

CMK_THREADLOCAL int isomalloc_thread = 0 [static]

make sure isomalloc is only called in pthreads that is spawned by Charm++.

It is not safe to call isomalloc in system spawned pthreads for example mpich pthreads, or aio pthreads. Use the following TLS variable to distinguish those pthreads. when set to 1, the current pthreads is allowed to call isomalloc.

Definition at line 51 of file memory-isomalloc.C.

Referenced by meta_init(), and meta_malloc().

int meta_inited = 0 [static]

Definition at line 58 of file memory-isomalloc.C.

Referenced by meta_init(), and meta_malloc().

Definition at line 78 of file isomalloc.C.

Referenced by CmiIsomallocInit(), init_ranges(), and meta_init().

Definition at line 2185 of file isomalloc.C.

Referenced by meta_init().


Generated on Mon Sep 21 08:02:15 2020 for Charm++ by  doxygen 1.5.5