Merge branch 'charm' of charmgit:charm into charm
authorGengbin Zheng <gzheng@illinois.edu>
Wed, 5 Oct 2011 20:56:34 +0000 (15:56 -0500)
committerGengbin Zheng <gzheng@illinois.edu>
Wed, 5 Oct 2011 20:56:34 +0000 (15:56 -0500)
src/arch/util/mempool.c
src/scripts/Makefile

index 0756e1f3db44fb0aab7d6bbbbc06706ed5e29fe9..defb44800d52abd1b855909383725753a8b5a0c3 100644 (file)
@@ -13,17 +13,25 @@ Generalized by Gengbin Zheng  10/5/2011
 #define POOLS_NUM       2
 #define MAX_INT        2147483647
 
+#include "conv-config.h"
+
+#include <stdlib.h>
+#if CMK_HAS_MALLOC_H
+#include <malloc.h>
+#endif
+
 #include "mempool.h"
 
 static      size_t     expand_mem = 1024ll*1024*16;
 
-
+#ifndef  ALIGNBUF
+#define ALIGNBUF                64
+#endif
 
 mempool_type *init_mempool(void *pool, size_t pool_size, gni_mem_handle_t mem_hndl)
 {
     mempool_type *mptr;
     mempool_header *header;
-    gni_return_t status;
 
     mptr = (mempool_type*)pool;
     mptr->mempools_head.mempool_ptr = pool;
@@ -40,7 +48,6 @@ mempool_type *init_mempool(void *pool, size_t pool_size, gni_mem_handle_t mem_hn
 
 void kill_allmempool(mempool_type *mptr)
 {
-    gni_return_t status;
     mempool_block *current, *mempools_head;
 
     current = mempools_head = &(mptr->mempools_head);
@@ -48,7 +55,7 @@ void kill_allmempool(mempool_type *mptr)
     while(mempools_head!= NULL)
     {
 #if CMK_CONVERSE_GEMINI_UGNI
-        status = GNI_MemDeregister(nic_hndl, &(mempools_head->mem_hndl));
+        gni_return_t status = GNI_MemDeregister(nic_hndl, &(mempools_head->mem_hndl));
         GNI_RC_CHECK("Mempool de-register", status);
 #endif
         //printf("[%d] free mempool:%p\n", CmiMyPe(), mempools_head->mempool_ptr);
@@ -62,7 +69,6 @@ void kill_allmempool(mempool_type *mptr)
 void*  mempool_malloc(mempool_type *mptr, int size, int expand)
 {
     int     bestfit_size = MAX_INT; //most close size 
-    gni_return_t    status;
     size_t    *freelist_head = &mptr->freelist_head;
     mempool_header    *freelist_head_ptr = mptr->freelist_head?(mempool_header*)((char*)mptr+mptr->freelist_head):NULL;
     mempool_header    *current = freelist_head_ptr;
@@ -123,6 +129,7 @@ void*  mempool_malloc(mempool_type *mptr, int size, int expand)
         expand_pool->mempool_ptr = pool;
         printf("[%d] No memory has such free empty chunck of %d. expanding %p (%d)\n", CmiMyPe(), size, expand_pool->mempool_ptr, expand_size);
 #if CMK_CONVERSE_GEMINI_UGNI
+        gni_return_t  status;
         status = MEMORY_REGISTER(onesided_hnd, nic_hndl, expand_pool->mempool_ptr, expand_size,  &(expand_pool->mem_hndl), &omdh);
         GNI_RC_CHECK("Mempool register", status);
 #endif
index 93fdbea16c524f757705a6c7dcbdd33505ed61ca..cf2782ef2385c20a694a770528fdbf38edd1de9c 100644 (file)
@@ -193,7 +193,7 @@ CVHEADERS=cpthreads.h converse.h conv-trace.h conv-random.h conv-qd.h \
       ccs-server.h ccs-auth.c ccs-auth.h \
       memory-isomalloc.h debug-conv.h debug-conv++.h conv-autoconfig.h \
       conv-common.h conv-config.sh conv-config.h conv-mach.h conv-mach.sh \
-      blue.h blue-conv.h bgconverse.h cmipool.h \
+      blue.h blue-conv.h bgconverse.h cmipool.h mempool.h \
       cmidirect.h cmidirectmanytomany.h
 
 CONVCOMHEADERS= 3dgridrouter.h hypercuberouter.h hypercubetopology.h   \
@@ -410,7 +410,7 @@ COMLIB_CORE_OBJS = ComlibModuleInterface.o
 LIBCONV_UTIL=pup_util.o pup_toNetwork.o pup_toNetwork4.o               \
        pup_xlater.o pup_c.o pup_paged.o pup_cmialloc.o                 \
        ckimage.o ckdll.o ckhashtable.o sockRoutines.o                  \
-       conv-lists.o RTH.o persist-comm.o graph.o \
+       conv-lists.o RTH.o persist-comm.o mempool.o graph.o \
        TopoManager.o CrayNid.o crc32.o
 
 LIBCONV_UTILF=pup_f.o
@@ -527,6 +527,9 @@ RTH.o: RTH.C RTH.h $(CVHEADERS)
 persist-comm.o: persist-comm.c $(CVHEADERS)
        $(CHARMC) -o persist-comm.o persist-comm.c
 
+mempool.o: mempool.c $(CVHEADERS)
+       $(CHARMC) -o mempool.o mempool.c
+
 conv-lists.o: conv-lists.C $(UTILHEADERS) $(CVHEADERS)
        $(CHARMC) -o conv-lists.o conv-lists.C