diff options
Diffstat (limited to 'tools/sched_ext/scx_simple.c')
| -rw-r--r-- | tools/sched_ext/scx_simple.c | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/tools/sched_ext/scx_simple.c b/tools/sched_ext/scx_simple.c index 7f500d1d56ac..bead482e1383 100644 --- a/tools/sched_ext/scx_simple.c +++ b/tools/sched_ext/scx_simple.c @@ -62,11 +62,12 @@ int main(int argc, char **argv)  	struct scx_simple *skel;  	struct bpf_link *link;  	__u32 opt; +	__u64 ecode;  	libbpf_set_print(libbpf_print_fn);  	signal(SIGINT, sigint_handler);  	signal(SIGTERM, sigint_handler); - +restart:  	skel = SCX_OPS_OPEN(simple_ops, scx_simple);  	while ((opt = getopt(argc, argv, "vh")) != -1) { @@ -93,7 +94,10 @@ int main(int argc, char **argv)  	}  	bpf_link__destroy(link); -	UEI_REPORT(skel, uei); +	ecode = UEI_REPORT(skel, uei);  	scx_simple__destroy(skel); + +	if (UEI_ECODE_RESTART(ecode)) +		goto restart;  	return 0;  } | 
