diff --git a/tools/perf/builtin-kwork.c b/tools/perf/builtin-kwork.c
index fb8c63656ad8..5b1f99879e54 100644
--- a/tools/perf/builtin-kwork.c
+++ b/tools/perf/builtin-kwork.c
@@ -945,6 +945,7 @@ static struct kwork_class kwork_softirq = {
 	.work_name      = softirq_work_name,
 };
 
+#if 0
 static struct kwork_class kwork_workqueue;
 static int process_workqueue_activate_work_event(struct perf_tool *tool,
 						 struct evsel *evsel,
@@ -1041,11 +1042,12 @@ static struct kwork_class kwork_workqueue = {
 	.work_init      = workqueue_work_init,
 	.work_name      = workqueue_work_name,
 };
+#endif
 
 static struct kwork_class *kwork_class_supported_list[KWORK_CLASS_MAX] = {
 	[KWORK_CLASS_IRQ]       = &kwork_irq,
 	[KWORK_CLASS_SOFTIRQ]   = &kwork_softirq,
-	[KWORK_CLASS_WORKQUEUE] = &kwork_workqueue,
+//	[KWORK_CLASS_WORKQUEUE] = &kwork_workqueue,
 };
 
 static void print_separator(int len)
diff --git a/tools/perf/util/bpf_kwork.c b/tools/perf/util/bpf_kwork.c
index b629dd679d3f..d8c21748e2f1 100644
--- a/tools/perf/util/bpf_kwork.c
+++ b/tools/perf/util/bpf_kwork.c
@@ -114,6 +114,7 @@ static struct kwork_class_bpf kwork_softirq_bpf = {
 	.get_work_name = get_work_name_from_map,
 };
 
+#if 0
 static void workqueue_load_prepare(struct perf_kwork *kwork)
 {
 	if (kwork->report == KWORK_REPORT_RUNTIME) {
@@ -129,12 +130,13 @@ static struct kwork_class_bpf kwork_workqueue_bpf = {
 	.load_prepare  = workqueue_load_prepare,
 	.get_work_name = get_work_name_from_map,
 };
+#endif
 
 static struct kwork_class_bpf *
 kwork_class_bpf_supported_list[KWORK_CLASS_MAX] = {
 	[KWORK_CLASS_IRQ]       = &kwork_irq_bpf,
 	[KWORK_CLASS_SOFTIRQ]   = &kwork_softirq_bpf,
-	[KWORK_CLASS_WORKQUEUE] = &kwork_workqueue_bpf,
+//	[KWORK_CLASS_WORKQUEUE] = &kwork_workqueue_bpf,
 };
 
 static bool valid_kwork_class_type(enum kwork_class_type type)
diff --git a/tools/perf/util/bpf_skel/bperf_leader.bpf.c b/tools/perf/util/bpf_skel/bperf_leader.bpf.c
index e2a2d4cd7779..598dc38de3c6 100644
--- a/tools/perf/util/bpf_skel/bperf_leader.bpf.c
+++ b/tools/perf/util/bpf_skel/bperf_leader.bpf.c
@@ -4,6 +4,10 @@
 #include <bpf/bpf_helpers.h>
 #include <bpf/bpf_tracing.h>
 
+#ifndef BPF_F_PRESERVE_ELEMS
+#define BPF_F_PRESERVE_ELEMS (1U << 11)
+#endif
+
 struct {
 	__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);
 	__uint(key_size, sizeof(__u32));
diff --git a/tools/perf/util/bpf_skel/kwork_trace.bpf.c b/tools/perf/util/bpf_skel/kwork_trace.bpf.c
index 063c124e0999..c38d11e0d5e5 100644
--- a/tools/perf/util/bpf_skel/kwork_trace.bpf.c
+++ b/tools/perf/util/bpf_skel/kwork_trace.bpf.c
@@ -332,6 +332,7 @@ int report_workqueue_execute_start(struct trace_event_raw_workqueue_execute_star
 	return update_timestart(&perf_kwork_time, &key);
 }
 
+#if 0
 SEC("tracepoint/workqueue/workqueue_execute_end")
 int report_workqueue_execute_end(struct trace_event_raw_workqueue_execute_end *ctx)
 {
@@ -361,6 +362,7 @@ int latency_workqueue_activate_work(struct trace_event_raw_workqueue_activate_wo
 
 	return update_timestart(&perf_kwork_time, &key);
 }
+#endif
 
 SEC("tracepoint/workqueue/workqueue_execute_start")
 int latency_workqueue_execute_start(struct trace_event_raw_workqueue_execute_start *ctx)
diff --git a/tools/perf/util/bpf_skel/lock_contention.bpf.c b/tools/perf/util/bpf_skel/lock_contention.bpf.c
index 9e8b94eb6320..8adde98b0b5d 100644
--- a/tools/perf/util/bpf_skel/lock_contention.bpf.c
+++ b/tools/perf/util/bpf_skel/lock_contention.bpf.c
@@ -11,6 +11,14 @@
 /* default buffer size */
 #define MAX_ENTRIES  10240
 
+#ifndef BPF_LOCAL_STORAGE_GET_F_CREATE
+#define BPF_LOCAL_STORAGE_GET_F_CREATE (1ULL << 0)
+#endif
+
+#ifndef BPF_MAP_TYPE_TASK_STORAGE
+#define BPF_MAP_TYPE_TASK_STORAGE 30
+#endif
+
 struct contention_key {
 	__s32 stack_id;
 };
diff --git a/tools/perf/util/bpf_skel/off_cpu.bpf.c b/tools/perf/util/bpf_skel/off_cpu.bpf.c
index c4ba2bcf179f..454594389921 100644
--- a/tools/perf/util/bpf_skel/off_cpu.bpf.c
+++ b/tools/perf/util/bpf_skel/off_cpu.bpf.c
@@ -18,6 +18,14 @@
 #define MAX_STACKS   32
 #define MAX_ENTRIES  102400
 
+#ifndef BPF_MAP_TYPE_TASK_STORAGE
+#define BPF_MAP_TYPE_TASK_STORAGE 30
+#endif
+
+#ifndef BPF_LOCAL_STORAGE_GET_F_CREATE
+#define BPF_LOCAL_STORAGE_GET_F_CREATE (1ULL << 0)
+#endif
+
 struct tstamp_data {
 	__u32 stack_id;
 	__u32 state;
diff --git a/tools/perf/util/kwork.h b/tools/perf/util/kwork.h
index 320c0a6d2e08..44c96cad11bf 100644
--- a/tools/perf/util/kwork.h
+++ b/tools/perf/util/kwork.h
@@ -15,7 +15,7 @@
 enum kwork_class_type {
 	KWORK_CLASS_IRQ,
 	KWORK_CLASS_SOFTIRQ,
-	KWORK_CLASS_WORKQUEUE,
+//	KWORK_CLASS_WORKQUEUE,
 	KWORK_CLASS_MAX,
 };
 
