summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/testing/selftests/bpf/benchs/bench_xdp_lb.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/benchs/bench_xdp_lb.c b/tools/testing/selftests/bpf/benchs/bench_xdp_lb.c
index 0b6709a2b03c..8e25bccbde92 100644
--- a/tools/testing/selftests/bpf/benchs/bench_xdp_lb.c
+++ b/tools/testing/selftests/bpf/benchs/bench_xdp_lb.c
@@ -563,12 +563,23 @@ static void create_per_cpu_lru_maps(struct xdp_lb_bench *skel)
nr_inner_maps = nr_cpus;
}
+static __u64 ktime_get_ns(void)
+{
+ struct timespec ts;
+
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+ return (__u64)ts.tv_sec * 1000000000ULL + ts.tv_nsec;
+}
+
static void populate_lru(const struct test_scenario *sc, __u32 real_idx)
{
struct real_pos_lru lru = { .pos = real_idx };
struct flow_key fk;
int i, err;
+ if (sc->ip_proto == IPPROTO_UDP)
+ lru.atime = ktime_get_ns();
+
build_flow_key(&fk, sc);
/* Insert into every per-CPU inner LRU so the entry is found