bench.h (73087489250def7cdda2dee5ba685bdeae73b8af) | bench.h (2b4b2621fd6401865b31b9f403e4b936b7439e94) |
---|---|
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> --- 16 unchanged lines hidden (view full) --- 25 bool list; 26 bool affinity; 27 int consumer_cnt; 28 int producer_cnt; 29 struct cpu_set prod_cpus; 30 struct cpu_set cons_cpus; 31}; 32 | 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> --- 16 unchanged lines hidden (view full) --- 25 bool list; 26 bool affinity; 27 int consumer_cnt; 28 int producer_cnt; 29 struct cpu_set prod_cpus; 30 struct cpu_set cons_cpus; 31}; 32 |
33struct basic_stats { 34 double mean; 35 double stddev; 36}; 37 |
|
33struct bench_res { 34 long hits; 35 long drops; 36 long false_hits; 37 long important_hits; | 38struct bench_res { 39 long hits; 40 long drops; 41 long false_hits; 42 long important_hits; |
43 unsigned long gp_ns; 44 unsigned long gp_ct; 45 unsigned int stime; |
|
38}; 39 40struct bench { 41 const char *name; 42 void (*validate)(void); 43 void (*setup)(void); 44 void *(*producer_thread)(void *ctx); 45 void *(*consumer_thread)(void *ctx); --- 14 unchanged lines hidden (view full) --- 60void hits_drops_report_final(struct bench_res res[], int res_cnt); 61void false_hits_report_progress(int iter, struct bench_res *res, long delta_ns); 62void false_hits_report_final(struct bench_res res[], int res_cnt); 63void ops_report_progress(int iter, struct bench_res *res, long delta_ns); 64void ops_report_final(struct bench_res res[], int res_cnt); 65void local_storage_report_progress(int iter, struct bench_res *res, 66 long delta_ns); 67void local_storage_report_final(struct bench_res res[], int res_cnt); | 46}; 47 48struct bench { 49 const char *name; 50 void (*validate)(void); 51 void (*setup)(void); 52 void *(*producer_thread)(void *ctx); 53 void *(*consumer_thread)(void *ctx); --- 14 unchanged lines hidden (view full) --- 68void hits_drops_report_final(struct bench_res res[], int res_cnt); 69void false_hits_report_progress(int iter, struct bench_res *res, long delta_ns); 70void false_hits_report_final(struct bench_res res[], int res_cnt); 71void ops_report_progress(int iter, struct bench_res *res, long delta_ns); 72void ops_report_final(struct bench_res res[], int res_cnt); 73void local_storage_report_progress(int iter, struct bench_res *res, 74 long delta_ns); 75void local_storage_report_final(struct bench_res res[], int res_cnt); |
76void grace_period_latency_basic_stats(struct bench_res res[], int res_cnt, 77 struct basic_stats *gp_stat); 78void grace_period_ticks_basic_stats(struct bench_res res[], int res_cnt, 79 struct basic_stats *gp_stat); |
|
68 69static inline __u64 get_time_ns(void) 70{ 71 struct timespec t; 72 73 clock_gettime(CLOCK_MONOTONIC, &t); 74 75 return (u64)t.tv_sec * 1000000000 + t.tv_nsec; --- 16 unchanged lines hidden --- | 80 81static inline __u64 get_time_ns(void) 82{ 83 struct timespec t; 84 85 clock_gettime(CLOCK_MONOTONIC, &t); 86 87 return (u64)t.tv_sec * 1000000000 + t.tv_nsec; --- 16 unchanged lines hidden --- |