#define MAX_BURST 32
#define STACK_SIZE (RTE_MAX_LCORE * MAX_BURST)
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
-
/*
* Push/pop bulk sizes, marked volatile so they aren't treated as compile-time
* constants.
RTE_LCORE_FOREACH(id[1]) {
if (id[0] == id[1])
continue;
- core[0] = lcore_config[id[0]].core_id;
- core[1] = lcore_config[id[1]].core_id;
- socket[0] = lcore_config[id[0]].socket_id;
- socket[1] = lcore_config[id[1]].socket_id;
+ core[0] = rte_lcore_to_cpu_id(id[0]);
+ core[1] = rte_lcore_to_cpu_id(id[1]);
+ socket[0] = rte_lcore_to_socket_id(id[0]);
+ socket[1] = rte_lcore_to_socket_id(id[1]);
if ((core[0] == core[1]) && (socket[0] == socket[1])) {
lcp->c1 = id[0];
lcp->c2 = id[1];
RTE_LCORE_FOREACH(id[1]) {
if (id[0] == id[1])
continue;
- core[0] = lcore_config[id[0]].core_id;
- core[1] = lcore_config[id[1]].core_id;
- socket[0] = lcore_config[id[0]].socket_id;
- socket[1] = lcore_config[id[1]].socket_id;
+ core[0] = rte_lcore_to_cpu_id(id[0]);
+ core[1] = rte_lcore_to_cpu_id(id[1]);
+ socket[0] = rte_lcore_to_socket_id(id[0]);
+ socket[1] = rte_lcore_to_socket_id(id[1]);
if ((core[0] != core[1]) && (socket[0] == socket[1])) {
lcp->c1 = id[0];
lcp->c2 = id[1];
RTE_LCORE_FOREACH(id[1]) {
if (id[0] == id[1])
continue;
- socket[0] = lcore_config[id[0]].socket_id;
- socket[1] = lcore_config[id[1]].socket_id;
+ socket[0] = rte_lcore_to_socket_id(id[0]);
+ socket[1] = rte_lcore_to_socket_id(id[1]);
if (socket[0] != socket[1]) {
lcp->c1 = id[0];
lcp->c2 = id[1];
struct thread_args args[2];
unsigned int i;
- for (i = 0; i < ARRAY_SIZE(bulk_sizes); i++) {
+ for (i = 0; i < RTE_DIM(bulk_sizes); i++) {
rte_atomic32_set(&lcore_barrier, 2);
args[0].sz = args[1].sz = bulk_sizes[i];
struct thread_args args[RTE_MAX_LCORE];
unsigned int i;
- for (i = 0; i < ARRAY_SIZE(bulk_sizes); i++) {
+ for (i = 0; i < RTE_DIM(bulk_sizes); i++) {
unsigned int lcore_id;
int cnt = 0;
double avg;
void *objs[MAX_BURST];
unsigned int sz, i;
- for (sz = 0; sz < ARRAY_SIZE(bulk_sizes); sz++) {
+ for (sz = 0; sz < RTE_DIM(bulk_sizes); sz++) {
uint64_t start = rte_rdtsc();
for (i = 0; i < iterations; i++) {
}
static int
-test_stack_perf(void)
+__test_stack_perf(uint32_t flags)
{
struct lcore_pair cores;
struct rte_stack *s;
rte_atomic32_init(&lcore_barrier);
- s = rte_stack_create(STACK_NAME, STACK_SIZE, rte_socket_id(), 0);
+ s = rte_stack_create(STACK_NAME, STACK_SIZE, rte_socket_id(), flags);
if (s == NULL) {
printf("[%s():%u] failed to create a stack\n",
__func__, __LINE__);
return 0;
}
+static int
+test_stack_perf(void)
+{
+ return __test_stack_perf(0);
+}
+
+static int
+test_lf_stack_perf(void)
+{
+ return __test_stack_perf(RTE_STACK_F_LF);
+}
+
REGISTER_TEST_COMMAND(stack_perf_autotest, test_stack_perf);
+REGISTER_TEST_COMMAND(stack_lf_perf_autotest, test_lf_stack_perf);