Signed-off-by: Andy Whitcroft <[EMAIL PROTECTED]>
---
 Makefile                 |    6 +++---
 hugetlbfs.h              |   16 ----------------
 hugeutils.c              |    6 +-----
 init_privutils.c         |    2 ++
 libhugetlbfs_internal.h  |   12 ++++++++++++
 libhugetlbfs_privutils.h |   23 +++++++++++++++++++++++
 6 files changed, 41 insertions(+), 24 deletions(-)

diff --git a/Makefile b/Makefile
index 1bb4589..0b5821d 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@ PREFIX = /usr/local
 EXEDIR = /bin
 
 LIBOBJS = hugeutils.o version.o init.o morecore.o debug.o alloc.o shm.o 
kernel-features.o
-LIBPUOBJS = init_privutils.o debug.o
+LIBPUOBJS = hugeutils.o debug.o hugeutils.o
 INSTALL_OBJ_LIBS = libhugetlbfs.so libhugetlbfs.a libhugetlbfs_privutils.so
 BIN_OBJ_DIR=obj
 INSTALL_BIN = hugectl hugeedit hugeadm pagesize
@@ -285,13 +285,13 @@ $(BIN_OBJ_DIR)/hugeedit: $(BIN_OBJ_DIR)/hugeedit.o
        mkdir -p $(BIN_OBJ_DIR)
        $(CC) $(CPPFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $^
 
-HUGEADM_OBJ=hugeadm.o hugeutils.o debug.o
+HUGEADM_OBJ=hugeadm.o libhugetlbfs_privutils.a
 $(BIN_OBJ_DIR)/hugeadm: $(foreach file,$(HUGEADM_OBJ),$(BIN_OBJ_DIR)/$(file))
        @$(VECHO) LDHOST $@
        mkdir -p $(BIN_OBJ_DIR)
        $(CC) $(CPPFLAGS) $(CFLAGS) $(LIBPATHS) -o $@ $^
 
-PAGESIZE_OBJ=pagesize.o hugeutils.o debug.o
+PAGESIZE_OBJ=pagesize.o libhugetlbfs_privutils.a
 $(BIN_OBJ_DIR)/pagesize: $(foreach file,$(PAGESIZE_OBJ),$(BIN_OBJ_DIR)/$(file))
        @$(VECHO) LDHOST $@
        mkdir -p $(BIN_OBJ_DIR)
diff --git a/hugetlbfs.h b/hugetlbfs.h
index c2c88f1..3dff758 100644
--- a/hugetlbfs.h
+++ b/hugetlbfs.h
@@ -62,20 +62,4 @@ enum {
 };
 int hugetlbfs_test_feature(int feature_code);
 
-/* Hugetlb pool counter operations */
-/* Keys for reading hugetlb pool counters */
-enum {                  /* The number of pages of a given size that ... */
-       HUGEPAGES_TOTAL, /*  are allocated to the pool */
-       HUGEPAGES_FREE,  /*  are not in use */
-       HUGEPAGES_RSVD,  /*  are reserved for possible future use */
-       HUGEPAGES_SURP,  /*  are allocated to the pool on demand */
-       HUGEPAGES_OC,    /*  can be allocated on demand - maximum */
-       HUGEPAGES_MAX_COUNTERS,
-};
-long get_huge_page_counter(long pagesize, unsigned int counter);
-int set_huge_page_counter(long pagesize, unsigned int counter,
-                                                       unsigned long val);
-int set_nr_hugepages(long pagesize, unsigned long val);
-int set_nr_overcommit_hugepages(long pagesize, unsigned long val);
-long read_meminfo(const char *tag);
 #endif /* _HUGETLBFS_H */
diff --git a/hugeutils.c b/hugeutils.c
index b9e63ad..81a834a 100644
--- a/hugeutils.c
+++ b/hugeutils.c
@@ -62,17 +62,13 @@ static int hpage_sizes_default_idx = -1;
 #define BUF_SZ 256
 #define MEMINFO_SIZE   2048
 
-#define MEMINFO "/proc/meminfo"
-#define PROC_HUGEPAGES_DIR "/proc/sys/vm/"
-#define SYSFS_HUGEPAGES_DIR "/sys/kernel/mm/hugepages/"
-
 /*
  * Convert a quantity in a given unit to the next smallest unit by
  * multiplying the quantity by 1024 (eg. convert 1MB to 1024kB).
  * If the conversion would overflow the variable, return LONG_MAX to signify
  * the error.
  */
-static inline long size_to_smaller_unit(long size)
+long size_to_smaller_unit(long size)
 {
        if (size < 0 || size * 1024 < size)
                return -1;
diff --git a/init_privutils.c b/init_privutils.c
index 6c9243d..f32d83b 100644
--- a/init_privutils.c
+++ b/init_privutils.c
@@ -22,4 +22,6 @@
 static void __attribute__ ((constructor)) setup_libhugetlbfs(void)
 {
        hugetlbfs_setup_debug();
+       setup_mounts();
+       setup_features();
 }
diff --git a/libhugetlbfs_internal.h b/libhugetlbfs_internal.h
index 4e20885..da84234 100644
--- a/libhugetlbfs_internal.h
+++ b/libhugetlbfs_internal.h
@@ -115,6 +115,14 @@ struct hpage_pool {
        int is_default;
 };
 
+#define size_to_smaller_unit __lh_size_to_smaller_unit
+extern long size_to_smaller_unit(long size);
+
+#define file_read_ulong __lh_file_read_ulong
+extern long file_read_ulong(char *file, const char *tag);
+#define file_write_ulong __lh_file_write_ulong
+extern int file_write_ulong(char *file, unsigned long val);
+
 #define hpool_sizes __lh_hpool_sizes
 extern int hpool_sizes(struct hpage_pool *, int);
 #define get_pool_size __lh_get_pool_size
@@ -124,4 +132,8 @@ extern int get_pool_size(long, struct hpage_pool *);
 extern int direct_syscall(int sysnum, ...);
 extern ElfW(Word) plt_extrasz(ElfW(Dyn) *dyntab);
 
+#define MEMINFO "/proc/meminfo"
+#define PROC_HUGEPAGES_DIR "/proc/sys/vm/"
+#define SYSFS_HUGEPAGES_DIR "/sys/kernel/mm/hugepages/"
+
 #endif /* _LIBHUGETLBFS_INTERNAL_H */
diff --git a/libhugetlbfs_privutils.h b/libhugetlbfs_privutils.h
index 1a45ed0..9f0c479 100644
--- a/libhugetlbfs_privutils.h
+++ b/libhugetlbfs_privutils.h
@@ -19,4 +19,27 @@
 #ifndef _LIBHUGETLBFS_PRIVUTILS_H
 #define _LIBHUGETLBFS_PRIVUTILS_H
 
+/* Hugetlb pool counter operations */
+/* Keys for reading hugetlb pool counters */
+enum {                  /* The number of pages of a given size that ... */
+       HUGEPAGES_TOTAL, /*  are allocated to the pool */
+       HUGEPAGES_FREE,  /*  are not in use */
+       HUGEPAGES_RSVD,  /*  are reserved for possible future use */
+       HUGEPAGES_SURP,  /*  are allocated to the pool on demand */
+       HUGEPAGES_OC,    /*  can be allocated on demand - maximum */
+       HUGEPAGES_MAX_COUNTERS,
+};
+#define get_huge_page_counter __pu_get_huge_page_counter
+long get_huge_page_counter(long pagesize, unsigned int counter);
+#define set_huge_page_counter __pu_set_huge_page_counter
+int set_huge_page_counter(long pagesize, unsigned int counter,
+                                                       unsigned long val);
+#define set_nr_hugepages __pu_set_nr_hugepages
+int set_nr_hugepages(long pagesize, unsigned long val);
+#define set_nr_overcommit_hugepages __pu_set_nr_overcommit_hugepages
+int set_nr_overcommit_hugepages(long pagesize, unsigned long val);
+
+#define read_meminfo __pu_read_meminfo
+long read_meminfo(const char *tag);
+
 #endif /* _LIBHUGETLBFS_PRIVUTILS_H */
-- 
1.6.0.2.711.gf1ba4


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Libhugetlbfs-devel mailing list
Libhugetlbfs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel

Reply via email to