bench.h (be3158290db8376f49a92d30791dd8899f748aed) | bench.h (9a93bf3fda3d03762868b1424e898395ffc71575) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 */ 2#pragma once 3#include <stdlib.h> 4#include <stdbool.h> 5#include <linux/err.h> 6#include <errno.h> 7#include <unistd.h> 8#include <bpf/bpf.h> --- 24 unchanged lines hidden (view full) --- 33struct bench_res { 34 long hits; 35 long drops; 36 long false_hits; 37}; 38 39struct bench { 40 const char *name; | 1/* SPDX-License-Identifier: GPL-2.0 */ 2#pragma once 3#include <stdlib.h> 4#include <stdbool.h> 5#include <linux/err.h> 6#include <errno.h> 7#include <unistd.h> 8#include <bpf/bpf.h> --- 24 unchanged lines hidden (view full) --- 33struct bench_res { 34 long hits; 35 long drops; 36 long false_hits; 37}; 38 39struct bench { 40 const char *name; |
41 void (*validate)(); 42 void (*setup)(); | 41 void (*validate)(void); 42 void (*setup)(void); |
43 void *(*producer_thread)(void *ctx); 44 void *(*consumer_thread)(void *ctx); 45 void (*measure)(struct bench_res* res); 46 void (*report_progress)(int iter, struct bench_res* res, long delta_ns); 47 void (*report_final)(struct bench_res res[], int res_cnt); 48}; 49 50struct counter { 51 long value; 52} __attribute__((aligned(128))); 53 54extern struct env env; 55extern const struct bench *bench; 56 | 43 void *(*producer_thread)(void *ctx); 44 void *(*consumer_thread)(void *ctx); 45 void (*measure)(struct bench_res* res); 46 void (*report_progress)(int iter, struct bench_res* res, long delta_ns); 47 void (*report_final)(struct bench_res res[], int res_cnt); 48}; 49 50struct counter { 51 long value; 52} __attribute__((aligned(128))); 53 54extern struct env env; 55extern const struct bench *bench; 56 |
57void setup_libbpf(); | 57void setup_libbpf(void); |
58void hits_drops_report_progress(int iter, struct bench_res *res, long delta_ns); 59void hits_drops_report_final(struct bench_res res[], int res_cnt); 60void false_hits_report_progress(int iter, struct bench_res *res, long delta_ns); 61void false_hits_report_final(struct bench_res res[], int res_cnt); 62void ops_report_progress(int iter, struct bench_res *res, long delta_ns); 63void ops_report_final(struct bench_res res[], int res_cnt); 64 | 58void hits_drops_report_progress(int iter, struct bench_res *res, long delta_ns); 59void hits_drops_report_final(struct bench_res res[], int res_cnt); 60void false_hits_report_progress(int iter, struct bench_res *res, long delta_ns); 61void false_hits_report_final(struct bench_res res[], int res_cnt); 62void ops_report_progress(int iter, struct bench_res *res, long delta_ns); 63void ops_report_final(struct bench_res res[], int res_cnt); 64 |
65static inline __u64 get_time_ns() { | 65static inline __u64 get_time_ns(void) 66{ |
66 struct timespec t; 67 68 clock_gettime(CLOCK_MONOTONIC, &t); 69 70 return (u64)t.tv_sec * 1000000000 + t.tv_nsec; 71} 72 73static inline void atomic_inc(long *value) --- 13 unchanged lines hidden --- | 67 struct timespec t; 68 69 clock_gettime(CLOCK_MONOTONIC, &t); 70 71 return (u64)t.tv_sec * 1000000000 + t.tv_nsec; 72} 73 74static inline void atomic_inc(long *value) --- 13 unchanged lines hidden --- |