#include <fcntl.h>
#define PATH_DELIM '/'
-#define COPY_BLOCKSIZE (4 * 1024 * 1024)
#include "eina_config.h"
#include "eina_private.h"
* @cond LOCAL
*/
-#define EINA_SMALL_PAGE 4096
+#define EINA_SMALL_PAGE eina_cpu_page_size()
#define EINA_HUGE_PAGE 16 * 1024 * 1024
#ifdef HAVE_DIRENT_H
struct sigaction sa;
/* find out system page size the cleanest way we can */
-#ifdef _SC_PAGESIZE
- _eina_mmap_pagesize = sysconf(_SC_PAGESIZE);
- if (_eina_mmap_pagesize <= 0) return EINA_FALSE;
-#else
- _eina_mmap_pagesize = 4096;
-#endif
+ _eina_mmap_pagesize = eina_cpu_page_size();
+
/* no zero page device - open it */
if (_eina_mmap_zero_fd < 0)
{
flags |= FD_CLOEXEC;
fcntl(_eina_mmap_zero_fd, F_SETFD, flags);
#endif
-
}
/* set up signal handler for SIGBUS */
sa.sa_sigaction = _eina_mmap_safe_sigbus;
#endif
static int aligned_chained_pool = 0;
+static int page_size = 0;
typedef struct _Chained_Mempool Chained_Mempool;
struct _Chained_Mempool
mp->item_alloc = eina_mempool_alignof(item_size);
- mp->pool_size = (((((mp->item_alloc * mp->pool_size + aligned_chained_pool) / 4096)
- + 1) * 4096)
+ mp->pool_size = (((((mp->item_alloc * mp->pool_size + aligned_chained_pool) / page_size)
+ + 1) * page_size)
- aligned_chained_pool) / mp->item_alloc;
#ifdef EINA_DEBUG_MALLOC
#endif
aligned_chained_pool = eina_mempool_alignof(sizeof(Chained_Pool));
+ page_size = eina_cpu_page_size();
return eina_mempool_register(&_eina_chained_mp_backend);
}
char *test_file_path, *test_file2_path;
char *big_buffer;
const char *template = "abcdefghijklmnopqrstuvwxyz";
- int template_size = strlen (template);
- int memory_page_size = sysconf(_SC_PAGE_SIZE);
+ int template_size = strlen(template);
+ int memory_page_size = eina_cpu_page_size();
const int big_buffer_size = memory_page_size * 1.5;
const int iteration_number = big_buffer_size / template_size;
int test_string_length = strlen(eina_map_test_string);