aboutsummaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2018-11-09 11:48:41 +0200
committerMaxim Uvarov <maxim.uvarov@linaro.org>2018-11-14 10:53:59 +0300
commite373d2a880ba8ab18fa47422920c34d48090714b (patch)
treebd075f7c1fdf4cdc361bd5c28ab3e3c3a46860b7 /platform
parent2f1c802e45b2e860e641d84c15368cca6cc3454d (diff)
linux-gen: ishm: remove _ODP_SHM_NO_HP flag
Reserving large shm blocks without huge pages increases page misses. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform')
-rw-r--r--platform/linux-generic/include/odp_shm_internal.h1
-rw-r--r--platform/linux-generic/odp_classification.c7
-rw-r--r--platform/linux-generic/odp_crypto_null.c3
-rw-r--r--platform/linux-generic/odp_crypto_openssl.c3
-rw-r--r--platform/linux-generic/odp_ipsec_sad.c3
-rw-r--r--platform/linux-generic/odp_ishm.c3
-rw-r--r--platform/linux-generic/odp_packet_io.c3
-rw-r--r--platform/linux-generic/odp_pool.c3
-rw-r--r--platform/linux-generic/odp_queue_basic.c5
-rw-r--r--platform/linux-generic/odp_queue_lf.c3
-rw-r--r--platform/linux-generic/odp_schedule_basic.c3
-rw-r--r--platform/linux-generic/odp_schedule_scalable.c3
-rw-r--r--platform/linux-generic/pktio/ring.c3
13 files changed, 15 insertions, 28 deletions
diff --git a/platform/linux-generic/include/odp_shm_internal.h b/platform/linux-generic/include/odp_shm_internal.h
index 9827af75e..ab58973bc 100644
--- a/platform/linux-generic/include/odp_shm_internal.h
+++ b/platform/linux-generic/include/odp_shm_internal.h
@@ -18,7 +18,6 @@ extern "C" {
#define _ODP_SHM_PROC_NOCREAT (1 << 6) /**< Do not create shm if not exist */
#define _ODP_SHM_O_EXCL (1 << 7) /**< Do not create shm if exist */
-#define _ODP_SHM_NO_HP (1 << 8) /**< Do not use huge pages */
#ifdef __cplusplus
}
diff --git a/platform/linux-generic/odp_classification.c b/platform/linux-generic/odp_classification.c
index 901b50449..0d3545b6e 100644
--- a/platform/linux-generic/odp_classification.c
+++ b/platform/linux-generic/odp_classification.c
@@ -11,7 +11,6 @@
#include <odp/api/queue.h>
#include <odp/api/debug.h>
#include <odp_init_internal.h>
-#include <odp_shm_internal.h>
#include <odp_debug_internal.h>
#include <odp_packet_internal.h>
#include <odp/api/packet_io.h>
@@ -88,7 +87,7 @@ int odp_classification_init_global(void)
cos_shm = odp_shm_reserve("_odp_shm_odp_cos_tbl",
sizeof(cos_tbl_t),
sizeof(cos_t),
- _ODP_SHM_NO_HP);
+ 0);
if (cos_shm == ODP_SHM_INVALID) {
ODP_ERR("shm allocation failed for shm_odp_cos_tbl");
@@ -109,7 +108,7 @@ int odp_classification_init_global(void)
pmr_shm = odp_shm_reserve("_odp_shm_odp_pmr_tbl",
sizeof(pmr_tbl_t),
sizeof(pmr_t),
- _ODP_SHM_NO_HP);
+ 0);
if (pmr_shm == ODP_SHM_INVALID) {
ODP_ERR("shm allocation failed for shm_odp_pmr_tbl");
@@ -130,7 +129,7 @@ int odp_classification_init_global(void)
queue_grp_shm = odp_shm_reserve("_odp_shm_cls_queue_grp_tbl",
sizeof(_cls_queue_grp_tbl_t),
sizeof(queue_entry_t *),
- _ODP_SHM_NO_HP);
+ 0);
if (queue_grp_shm == ODP_SHM_INVALID) {
ODP_ERR("shm allocation failed for queue_grp_tbl");
diff --git a/platform/linux-generic/odp_crypto_null.c b/platform/linux-generic/odp_crypto_null.c
index 939b2fbb6..4dd1f8325 100644
--- a/platform/linux-generic/odp_crypto_null.c
+++ b/platform/linux-generic/odp_crypto_null.c
@@ -21,7 +21,6 @@
#include <odp/api/plat/thread_inlines.h>
#include <odp_packet_internal.h>
#include <odp/api/plat/queue_inlines.h>
-#include <odp_shm_internal.h>
/* Inlined API functions */
#include <odp/api/plat/event_inlines.h>
@@ -319,7 +318,7 @@ odp_crypto_init_global(void)
/* Allocate our globally shared memory */
shm = odp_shm_reserve("_odp_crypto_pool_null", mem_size,
ODP_CACHE_LINE_SIZE,
- _ODP_SHM_NO_HP);
+ 0);
if (ODP_SHM_INVALID == shm) {
ODP_ERR("unable to allocate crypto pool\n");
return -1;
diff --git a/platform/linux-generic/odp_crypto_openssl.c b/platform/linux-generic/odp_crypto_openssl.c
index ec3e85bf6..8feebefb3 100644
--- a/platform/linux-generic/odp_crypto_openssl.c
+++ b/platform/linux-generic/odp_crypto_openssl.c
@@ -21,7 +21,6 @@
#include <odp/api/plat/thread_inlines.h>
#include <odp_packet_internal.h>
#include <odp/api/plat/queue_inlines.h>
-#include <odp_shm_internal.h>
/* Inlined API functions */
#include <odp/api/plat/event_inlines.h>
@@ -1859,7 +1858,7 @@ odp_crypto_init_global(void)
/* Allocate our globally shared memory */
shm = odp_shm_reserve("_odp_crypto_pool_ssl", mem_size,
ODP_CACHE_LINE_SIZE,
- _ODP_SHM_NO_HP);
+ 0);
if (ODP_SHM_INVALID == shm) {
ODP_ERR("unable to allocate crypto pool\n");
return -1;
diff --git a/platform/linux-generic/odp_ipsec_sad.c b/platform/linux-generic/odp_ipsec_sad.c
index 9fb2da46c..630af5a41 100644
--- a/platform/linux-generic/odp_ipsec_sad.c
+++ b/platform/linux-generic/odp_ipsec_sad.c
@@ -14,7 +14,6 @@
#include <odp_init_internal.h>
#include <odp_debug_internal.h>
#include <odp_ipsec_internal.h>
-#include <odp_shm_internal.h>
#include <odp_ring_mpmc_internal.h>
#include <odp/api/plat/atomic_inlines.h>
@@ -141,7 +140,7 @@ int _odp_ipsec_sad_init_global(void)
shm = odp_shm_reserve("_odp_ipsec_sa_table",
sizeof(ipsec_sa_table_t),
ODP_CACHE_LINE_SIZE,
- _ODP_SHM_NO_HP);
+ 0);
if (shm == ODP_SHM_INVALID)
return -1;
diff --git a/platform/linux-generic/odp_ishm.c b/platform/linux-generic/odp_ishm.c
index cf37bd9bc..1a4ca9472 100644
--- a/platform/linux-generic/odp_ishm.c
+++ b/platform/linux-generic/odp_ishm.c
@@ -1036,8 +1036,7 @@ int _odp_ishm_reserve(const char *name, uint64_t size, int fd,
/* Get system page sizes: page_hp_size is 0 if no huge page available*/
page_sz = odp_sys_page_size();
- page_hp_size = user_flags & _ODP_SHM_NO_HP ?
- 0 : odp_sys_huge_page_size();
+ page_hp_size = odp_sys_huge_page_size();
/* grab a new entry: */
for (new_index = 0; new_index < ISHM_MAX_NB_BLOCKS; new_index++) {
diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c
index 1e0429f5d..3a788f041 100644
--- a/platform/linux-generic/odp_packet_io.c
+++ b/platform/linux-generic/odp_packet_io.c
@@ -29,7 +29,6 @@
#include <odp/api/plat/time_inlines.h>
#include <odp_pcapng.h>
#include <odp/api/plat/queue_inlines.h>
-#include <odp_shm_internal.h>
#include <string.h>
#include <inttypes.h>
@@ -69,7 +68,7 @@ int odp_pktio_init_global(void)
shm = odp_shm_reserve("_odp_pktio_entries",
sizeof(pktio_table_t),
sizeof(pktio_entry_t),
- _ODP_SHM_NO_HP);
+ 0);
if (shm == ODP_SHM_INVALID)
return -1;
diff --git a/platform/linux-generic/odp_pool.c b/platform/linux-generic/odp_pool.c
index d08be4378..10382c4c8 100644
--- a/platform/linux-generic/odp_pool.c
+++ b/platform/linux-generic/odp_pool.c
@@ -20,7 +20,6 @@
#include <odp_config_internal.h>
#include <odp_debug_internal.h>
#include <odp_ring_internal.h>
-#include <odp_shm_internal.h>
#include <odp_global_data.h>
#include <odp_libconfig_internal.h>
@@ -119,7 +118,7 @@ int odp_pool_init_global(void)
shm = odp_shm_reserve("_odp_pool_table",
sizeof(pool_table_t),
ODP_CACHE_LINE_SIZE,
- _ODP_SHM_NO_HP);
+ 0);
pool_tbl = odp_shm_addr(shm);
diff --git a/platform/linux-generic/odp_queue_basic.c b/platform/linux-generic/odp_queue_basic.c
index 4e23fb53b..c49db7409 100644
--- a/platform/linux-generic/odp_queue_basic.c
+++ b/platform/linux-generic/odp_queue_basic.c
@@ -15,7 +15,6 @@
#include <odp_buffer_internal.h>
#include <odp_pool_internal.h>
#include <odp_init_internal.h>
-#include <odp_shm_internal.h>
#include <odp_timer_internal.h>
#include <odp/api/shared_memory.h>
#include <odp/api/schedule.h>
@@ -138,7 +137,7 @@ static int queue_init_global(void)
shm = odp_shm_reserve("_odp_queue_gbl",
sizeof(queue_global_t),
sizeof(queue_entry_t),
- _ODP_SHM_NO_HP);
+ 0);
if (shm == ODP_SHM_INVALID)
return -1;
@@ -165,7 +164,7 @@ static int queue_init_global(void)
shm = odp_shm_reserve("_odp_queue_rings", mem_size,
ODP_CACHE_LINE_SIZE,
- _ODP_SHM_NO_HP);
+ 0);
if (shm == ODP_SHM_INVALID) {
odp_shm_free(queue_glb->queue_gbl_shm);
diff --git a/platform/linux-generic/odp_queue_lf.c b/platform/linux-generic/odp_queue_lf.c
index ac8b42265..3e156a086 100644
--- a/platform/linux-generic/odp_queue_lf.c
+++ b/platform/linux-generic/odp_queue_lf.c
@@ -9,7 +9,6 @@
#include <odp/api/plat/atomic_inlines.h>
#include <odp/api/shared_memory.h>
#include <odp_queue_basic_internal.h>
-#include <odp_shm_internal.h>
#include <string.h>
#include <stdio.h>
@@ -321,7 +320,7 @@ uint32_t queue_lf_init_global(uint32_t *queue_lf_size,
shm = odp_shm_reserve("_odp_queues_lf", sizeof(queue_lf_global_t),
ODP_CACHE_LINE_SIZE,
- _ODP_SHM_NO_HP);
+ 0);
if (shm == ODP_SHM_INVALID)
return 0;
diff --git a/platform/linux-generic/odp_schedule_basic.c b/platform/linux-generic/odp_schedule_basic.c
index 74942341a..bc46d6a64 100644
--- a/platform/linux-generic/odp_schedule_basic.c
+++ b/platform/linux-generic/odp_schedule_basic.c
@@ -29,7 +29,6 @@
#include <odp_queue_basic_internal.h>
#include <odp_libconfig_internal.h>
#include <odp/api/plat/queue_inlines.h>
-#include <odp_shm_internal.h>
/* No synchronization context */
#define NO_SYNC_CONTEXT ODP_SCHED_SYNC_PARALLEL
@@ -403,7 +402,7 @@ static int schedule_init_global(void)
shm = odp_shm_reserve("_odp_scheduler",
sizeof(sched_global_t),
ODP_CACHE_LINE_SIZE,
- _ODP_SHM_NO_HP);
+ 0);
if (shm == ODP_SHM_INVALID) {
ODP_ERR("Schedule init: Shm reserve failed.\n");
return -1;
diff --git a/platform/linux-generic/odp_schedule_scalable.c b/platform/linux-generic/odp_schedule_scalable.c
index a21728d8b..11a0edf71 100644
--- a/platform/linux-generic/odp_schedule_scalable.c
+++ b/platform/linux-generic/odp_schedule_scalable.c
@@ -32,7 +32,6 @@
#include <odp_schedule_if.h>
#include <odp_bitset.h>
#include <odp_packet_io_internal.h>
-#include <odp_shm_internal.h>
#include <odp_timer_internal.h>
#include <limits.h>
@@ -1778,7 +1777,7 @@ static int schedule_init_global(void)
shm = odp_shm_reserve("_odp_sched_scalable",
sizeof(sched_global_t),
- ODP_CACHE_LINE_SIZE, _ODP_SHM_NO_HP);
+ ODP_CACHE_LINE_SIZE, 0);
global = odp_shm_addr(shm);
if (global == NULL) {
diff --git a/platform/linux-generic/pktio/ring.c b/platform/linux-generic/pktio/ring.c
index 6a354cb1e..2cf0231cd 100644
--- a/platform/linux-generic/pktio/ring.c
+++ b/platform/linux-generic/pktio/ring.c
@@ -80,7 +80,6 @@
#include <odp_packet_io_ring_internal.h>
#include <odp_errno_define.h>
#include <odp_global_data.h>
-#include <odp_shm_internal.h>
#include <odp/api/plat/cpu_inlines.h>
@@ -164,7 +163,7 @@ int _ring_tailq_init(void)
/* Allocate globally shared memory */
shm = odp_shm_reserve("_odp_ring_global", sizeof(global_data_t),
- ODP_CACHE_LINE_SIZE, _ODP_SHM_NO_HP);
+ ODP_CACHE_LINE_SIZE, 0);
if (ODP_SHM_INVALID == shm) {
ODP_ERR("Shm reserve failed for pktio ring\n");
return -1;