devargs: add non-variadic parsing function
[dpdk.git] / lib / librte_eal / linuxapp / eal / eal_memory.c
index a48a350..dbf1949 100644 (file)
@@ -66,7 +66,7 @@ static bool phys_addrs_available = true;
 static void
 test_phys_addrs_available(void)
 {
-       uint64_t tmp;
+       uint64_t tmp = 0;
        phys_addr_t physaddr;
 
        if (!rte_eal_has_hugepages()) {
@@ -521,7 +521,18 @@ static void *
 create_shared_memory(const char *filename, const size_t mem_size)
 {
        void *retval;
-       int fd = open(filename, O_CREAT | O_RDWR, 0666);
+       int fd;
+
+       /* if no shared files mode is used, create anonymous memory instead */
+       if (internal_config.no_shconf) {
+               retval = mmap(NULL, mem_size, PROT_READ | PROT_WRITE,
+                               MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+               if (retval == MAP_FAILED)
+                       return NULL;
+               return retval;
+       }
+
+       fd = open(filename, O_CREAT | O_RDWR, 0666);
        if (fd < 0)
                return NULL;
        if (ftruncate(fd, mem_size) < 0) {
@@ -1077,8 +1088,7 @@ get_socket_mem_size(int socket)
 
        for (i = 0; i < internal_config.num_hugepage_sizes; i++){
                struct hugepage_info *hpi = &internal_config.hugepage_info[i];
-               if (strnlen(hpi->hugedir, sizeof(hpi->hugedir)) != 0)
-                       size += hpi->hugepage_sz * hpi->num_pages[socket];
+               size += hpi->hugepage_sz * hpi->num_pages[socket];
        }
 
        return size;