diff --git a/Makefile b/Makefile
index 21b4705f88a79f8f1094d90d1d4709073187bf7b..9768467ebc079a3d9844a70c8e0fea30e2c1c85d 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@ OBJ := $(addprefix bench-,$(SYSCALLS))
 
 LDFLAGS := -luring -pthread -lrt
 
-CFLAGS := -Werror -Wall -g -O3
+CFLAGS := -Werror -Wall -g -O3 -D_GNU_SOURCE
 # CFLAGS := -Werror -Wall -g -O0
 
 .PHONY: all clean eval docker-eval check
diff --git a/bench.c b/bench.c
index b7439a6778522fdcc0a15b1f6cb0c9ea8176fa76..4199b1e3a095d01779591c0e1a80b875d2d626a3 100644
--- a/bench.c
+++ b/bench.c
@@ -1,9 +1,11 @@
 #include <err.h>
 #include <fcntl.h>
+#include <sched.h>
 #include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <sys/eventfd.h>
+#include <unistd.h>
 
 #include "stopwatch.h"
 
@@ -23,11 +25,22 @@ static int create_eventfd() {
 	return fd;
 }
 
+static void set_cpu_affinity(int cpu) {
+	cpu_set_t set;
+	// NOLINTNEXTLINE(clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling)
+	CPU_ZERO(&set);
+	CPU_SET(cpu, &set);
+	if (sched_setaffinity(getpid(), sizeof(set), &set) == -1)
+		err(EXIT_FAILURE, "sched_setaffinity failed");
+}
+
 int main() {
 	uint64_t cycles_sum = 0;
 	uint64_t nanos_sum = 0;
 	uint64_t write_buf = 1;
 
+	set_cpu_affinity(0);
+
 	int fd = create_eventfd();
 
 	init(fd);