From nobody Sat Apr 18 11:07:59 2026 Received: from mail-dy1-f173.google.com (mail-dy1-f173.google.com [74.125.82.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E0340313E03 for ; Sat, 28 Feb 2026 07:46:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772264780; cv=none; b=euu767BGURB4SnlRPgoincSqDcFORhGp9N3npyKfUVYn8OK9clR0FeVlb6FyEkqr5HsyXscP6MO8Eys7GWluHkKHhU0nSn6/+AqRSd1jPx+qGLEz55Xss2Q3Kgt5WiYuekcIu19uwd2x/YVyaGIWy8ZQJpzyRfldreSEIxexmYo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772264780; c=relaxed/simple; bh=/5BZEDEPjXJZEbemnrSGEP/CsHhL3NpXMyBNCx84GNM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=so2IHvRDV/T9scptfL+eGomPgV9I6AInPTM0qd9FEeceYJLdcsdtsiGk1lUzGvxArzhB+4iTiImllCdhH0zxMV0aiD5EkqBpO0aTYO891SZzVZB1a+4SuYuAhmfvomUDlkkOhrZ8FOppTmwAF2ZkyCBU0GnqRJqbB76829Ow7e4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=WYC7pFaA; arc=none smtp.client-ip=74.125.82.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="WYC7pFaA" Received: by mail-dy1-f173.google.com with SMTP id 5a478bee46e88-2b4520f6b32so3447350eec.0 for ; Fri, 27 Feb 2026 23:46:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772264778; x=1772869578; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Rvm98zlzsM3HSjB/EuHx7YQoewB1rqACesQFCVmyaYs=; b=WYC7pFaAaUCbJSkbSBK4/PDZSwxJHlq0ZnZZuviEniVtJ6xrR3n82shzGkOPhgZUYc l8cKiDYSuMltpFSvUZigmmBmqFIttq7E1oiEs+FTwgRG9bMp/yE4AYIY3Nmz5QgBI0+k B17X+TqoJiRrkAo0PDDLt4tOzCsKrOpxFH/VnadC/0tvaiLLxE7mKtkRk4aaYFYIMcdJ zERH3r2F81/9vSCzGLOumzCr023hMmNj0beaTYjFQWzDlwQgd6HPptpuW1R6wBzqNOkB aBk5iQ/QWsUNYQLORI2zNo0Txzg47rlSDBkLTVTdxpNa8A5UM0GAv9TtkWALttZbnkRV 55dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772264778; x=1772869578; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Rvm98zlzsM3HSjB/EuHx7YQoewB1rqACesQFCVmyaYs=; b=Ht5+epSdUjNgfwGPHBDdhHSAdNkFLk/340JZdT+ecPI7NU2Y9FSziMC2XR4rhQRGYr hlLje3Uow4Og7Hf5xk8k1g5zRZr+R8O4UEkdoSQGQUgMZPNO79aEGeWyut+UQbWBLNOy 15NdhiOBU33xyp3almwOgiHgx4Ovpgm9I2SUOAAkH/dJRVYwpMiWftIJtS9KrwQSYlUb nA2sg8oK8xJusFQ5jvz/1A7GPCRoT8lRPo4dD9VYntc0Ebr159VmX8GfVL1lytBDzz7y jPVeOTkDsPWbAuKuTP07qYGkQFvP947EBG/MrbM50o8DONDwDLVdV7ctz75HtpAQD9eI JKdQ== X-Forwarded-Encrypted: i=1; AJvYcCVShgnOcIj7FvGsahv2s9xIdx/Ytr4A1D43bh+P20+BV94Wag9VpDH4FeBzMQscqLFcdnH2a32WiMoPfr0=@vger.kernel.org X-Gm-Message-State: AOJu0Yzgv5O9NBA8cRff63R9v/1MIhx4JpApFJiGhav7hL7kuWqjuyQu zmRX9uxHvGaPT6TR5dZrbycgkS19ijgWcSp/Au2kZQndR/FmBcNyFrgZ X-Gm-Gg: ATEYQzzSndErcodx4NhPnV2L5DFCS2JWGyVi1L3kE0nBDMvOX4M8XfIkL9g9POVNjq6 O0UNyNKb2dQr+0XGBf/URaWxsWM66dmt2V3N4qoF3zqR7oi354QnNdMvhi0w+cU83DAeTcLQQTf +ZvSM4exscl6cyCrXSinzYY8iSdlX/TYS8pZaenCZuX140JfsWCkitXPkSA1XB7m3+fWQzTd/rN VXKc+2sMKJ9wY2MGnGXJ+V8kXxrtNPzcQyM9LmpREDuk9g5c1UAESme07BT3GFBxKy+qsasgOBN K8He96pLVijST/unKau9LllJYU0u3BhqrG1UsN777v/MIjmgPV6ZLZ9SAyIcilzdBeBi6Au0CcL YAkpQ3d17qBCA8bZpKWJZzLCZFcZgfP9Rc/V+ajdDN7PZdEWvxjhzhwiboKe7IeIwMYGwizzkyw VbM2SDGarOJ+esndbi1iTv9KWI3fZY0wiXyqHTGqZHZUT2FZzObPc+EW+hpt6YD1drpLLKE01Rq MWWOOAq+PhT2uPF2Py3nxwXA4E= X-Received: by 2002:a05:7300:538e:b0:2ba:a2fb:403f with SMTP id 5a478bee46e88-2bde1d31d40mr2418500eec.21.1772264777939; Fri, 27 Feb 2026 23:46:17 -0800 (PST) Received: from localhost.localdomain (108-214-96-168.lightspeed.sntcca.sbcglobal.net. [108.214.96.168]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2bded67bd05sm1874926eec.1.2026.02.27.23.46.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Feb 2026 23:46:17 -0800 (PST) From: Sun Jian To: Andrii Nakryiko , Shuah Khan Cc: Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Sun Jian Subject: [PATCH v2 1/2] selftests/bpf: bpf_cookie: skip kprobe_multi tests without bpf_testmod Date: Sat, 28 Feb 2026 15:45:54 +0800 Message-ID: <20260228074555.122950-2-sun.jian.kdev@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260228074555.122950-1-sun.jian.kdev@gmail.com> References: <20260228074555.122950-1-sun.jian.kdev@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The kprobe_multi subtests rely on bpf_testmod fentry ksyms. When bpf_testmod isn't available, libbpf fails to resolve bpf_testmod_fentry_test* and skeleton load fails with -ESRCH, causing false failures. Skip these subtests when env.has_testmod is false. Signed-off-by: Sun Jian Acked-by: Jiri Olsa --- Changes in v2: No functional change. Drop the unrelated perf_event_open() argument change from this patch (moved to patch 2/2). v1: --- tools/testing/selftests/bpf/prog_tests/bpf_cookie.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c b/tools/te= sting/selftests/bpf/prog_tests/bpf_cookie.c index 75f4dff7d042..b7643a5bf7ad 100644 --- a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c +++ b/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c @@ -105,6 +105,11 @@ static void kprobe_multi_link_api_subtest(void) unsigned long long addrs[8]; __u64 cookies[8]; =20 + if (!env.has_testmod) { + test__skip(); + return; + } + if (!ASSERT_OK(load_kallsyms(), "load_kallsyms")) goto cleanup; =20 @@ -192,6 +197,11 @@ static void kprobe_multi_attach_api_subtest(void) }; __u64 cookies[8]; =20 + if (!env.has_testmod) { + test__skip(); + return; + } + skel =3D kprobe_multi__open_and_load(); if (!ASSERT_OK_PTR(skel, "fentry_raw_skel_load")) goto cleanup; --=20 2.43.0 From nobody Sat Apr 18 11:07:59 2026 Received: from mail-dy1-f175.google.com (mail-dy1-f175.google.com [74.125.82.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D243C1EA7CB for ; Sat, 28 Feb 2026 07:46:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772264786; cv=none; b=laZ7rSV1jiuDodE945aJ+qtxw5AMC9famI5YoRcLLq4nqz6TM5nOSMcLRALNFtVR1aaGISWndl/aCNiMQbD4DLtccjlEHbS+SxvyAhvR5LsuST78hL8+YkylBxKkoapAKO3bUg4IlNzqyOvAys4q0DXFgbWIu7Iivxsa8oWF2qE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772264786; c=relaxed/simple; bh=heJM+PRvqvvK4uhbidwwxuK028a5HlfOSxuMoE/I4JE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FO3+wDHCXq0tUGrHjMFpEcIeBqqVC8/yQPzqMosVieIVOGxeMT30LPFf4VMIq/e/64bJ+SVSsOdoPu45qOcqBlus1iDgnwqOeDijvVDIDDYreJEFFMbg2/WNGHQvJD+Im+kERKTM94Ry4N9uhPf0XmLUJ6u4T1AU8UBInv/zzLw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=E7rQ3K9I; arc=none smtp.client-ip=74.125.82.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="E7rQ3K9I" Received: by mail-dy1-f175.google.com with SMTP id 5a478bee46e88-2bdcd7f0222so3984556eec.0 for ; Fri, 27 Feb 2026 23:46:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772264784; x=1772869584; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=T94amDN1jD/1WCsiOX6E39ApqIsgBUSoK8r+edFETp0=; b=E7rQ3K9IOkDDdYtuqL0Au51CjpbXIo+rnOzEsVZ0htzyvZy6RQLTK63E4/UABgFAEf XWJaubqPqb7T3icOd/qmLe32z79dDzAxzlkrtsrKtYzQFeZyt9YaehKbzA37LV6M4lUD rj0wFlviCroVCgYsA6jbAEyq8em++ynbChQa5sn9Rzpgg1LP1OmN368qhie36f9q5Psd 52D4Yw3ABnqJZs8S7aSDLX+RxbmB42S++Z+anLnrivLK+Iy4Bp34S4ROrf+O0GiyFU8c gFRP8xYOtWB1jc6dSzIGP7cXNvQqCBPieyAyUwGp0OPxUXun5+pD5nqTuVKN71oXFK++ 65YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772264784; x=1772869584; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=T94amDN1jD/1WCsiOX6E39ApqIsgBUSoK8r+edFETp0=; b=iMJyjtC8a2/j7wuP7MaZU/niXiXXiFAe4Q6qrCL7RdAt4kefzPNHpnOb+q93a1R1/L p0Xv1YVA9HEm/Hc24E57nRY/lLyehGJpJS9OVdq9NQyw5i+h0EZgLgKb6RfvTXWbLlLu u7ECz60pTFFAyAdhq4W0rYNsr0rctn82uTPhGE5O51HcjYVGNBoqyfjSmgrT5khNDvJ3 A3cGc6ahH9iDiODF8g3pI5FLgU/CbLA29Y1GqkrpOnWgfYyldtdl+zoN3N8Jjxn4AjMG Y37FSd1BpIsprqJkW5xchQIop54wLlxREwagYR8mtswiXBLHB6trx1cFW0ja8GFL7TpA qEaw== X-Forwarded-Encrypted: i=1; AJvYcCWkpRusvqouIppq3UGfb3SM4K8k0HbAVj5cqB9Sb3alub8GvJtmSYbOQRYvL9LsnQWvifIhaccikIt6fcI=@vger.kernel.org X-Gm-Message-State: AOJu0YxdrsuFUhzKjpGZH2zMKxVWICQ2x59xIpVka4JYkNrWv7u4tcL1 UmFoKHxXB84ced8CrcGPMFCe2ASYbUw7OMQ0/q8JHD4oTaRP2kD8ELRX X-Gm-Gg: ATEYQzxd6CKMpFJAx6wZyTIaMK3gqVXqosFhsyZtoJRODmhU4qyc5sNv8UUUiDq/7Mi 52BSc2z7/ZV3CBcjWxn8bBbjnDcOALIa05s2joTtqMOsQMqveWst7iKjjLjZFCcHBQqjrygmtB2 HpQPWfe+OQBuflkGutIY1lKRH85Sgauh4zzelNbXhjA2tR/QNwO8vkVf9RXMFDX3FN90dHxjsFT MnSqdgcSI+t2DX16UaGwyFUn6HQmbOnC2AjSA1Zmu8k5LCbBl8mLAW/KPniJsVR1nPzlT9+tax/ 3wBEyMp9RElWcQWnjQ0QNRYp9HU9MWHB5e0rhiOIB9ZNN4U0iwF3iHWp5fY1Pn7L87bcK8+qaUC 2XxNWqnFYbi/K+9n2dkKRM7DSZ42MStA+zyKXsvn2NVzrTz688whtHKfA0tBkNbiANKxgO2uUU8 cpi84ysPnP5Sob/2TGQcqBzJfk4jvRHkM3DYwgqXKyCNg3d1QvUwjaPbn++sMyWkksTECmNEGak UZZqkLdRQo0AKoL11kEy1y1tHU= X-Received: by 2002:a05:693c:2c97:b0:2bd:d3f3:b0be with SMTP id 5a478bee46e88-2bde1d49fa5mr2551896eec.20.1772264783909; Fri, 27 Feb 2026 23:46:23 -0800 (PST) Received: from localhost.localdomain (108-214-96-168.lightspeed.sntcca.sbcglobal.net. [108.214.96.168]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2bded67bd05sm1874926eec.1.2026.02.27.23.46.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Feb 2026 23:46:23 -0800 (PST) From: Sun Jian To: Andrii Nakryiko , Shuah Khan Cc: Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Sun Jian Subject: [PATCH v2 2/2] selftests/bpf: bpf_cookie: make perf_event subtest trigger reliably Date: Sat, 28 Feb 2026 15:45:55 +0800 Message-ID: <20260228074555.122950-3-sun.jian.kdev@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260228074555.122950-1-sun.jian.kdev@gmail.com> References: <20260228074555.122950-1-sun.jian.kdev@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The perf_event subtest relies on SW_CPU_CLOCK sampling to trigger the BPF program, but the current CPU burn loop can be too short on slower systems and may fail to generate any overflow sample. This leaves pe_res unchanged and makes the test flaky. Make burn_cpu() take a loop count and use a longer burn only for the perf_event subtest. Also scope perf_event_open() to the current task to avoid wasting samples on unrelated activity. Signed-off-by: Sun Jian Acked-by: Jiri Olsa --- Changes in v2: Move the perf_event_open() argument change here from patch 1/2. v1: --- .../selftests/bpf/prog_tests/bpf_cookie.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c b/tools/te= sting/selftests/bpf/prog_tests/bpf_cookie.c index b7643a5bf7ad..35adc3f6d443 100644 --- a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c +++ b/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -431,11 +432,12 @@ static void tp_subtest(struct test_bpf_cookie *skel) bpf_link__destroy(link3); } =20 -static void burn_cpu(void) +static void burn_cpu(long loops) { - volatile int j =3D 0; + long j =3D 0; cpu_set_t cpu_set; - int i, err; + long i; + int err; =20 /* generate some branches on cpu 0 */ CPU_ZERO(&cpu_set); @@ -443,9 +445,10 @@ static void burn_cpu(void) err =3D pthread_setaffinity_np(pthread_self(), sizeof(cpu_set), &cpu_set); ASSERT_OK(err, "set_thread_affinity"); =20 - /* spin the loop for a while (random high number) */ - for (i =3D 0; i < 1000000; ++i) + for (i =3D 0; i < loops; ++i) { ++j; + barrier(); + } } =20 static void pe_subtest(struct test_bpf_cookie *skel) @@ -461,7 +464,7 @@ static void pe_subtest(struct test_bpf_cookie *skel) attr.type =3D PERF_TYPE_SOFTWARE; attr.config =3D PERF_COUNT_SW_CPU_CLOCK; attr.sample_period =3D 100000; - pfd =3D syscall(__NR_perf_event_open, &attr, -1, 0, -1, PERF_FLAG_FD_CLOE= XEC); + pfd =3D syscall(__NR_perf_event_open, &attr, 0, -1, -1, PERF_FLAG_FD_CLOE= XEC); if (!ASSERT_GE(pfd, 0, "perf_fd")) goto cleanup; =20 @@ -470,7 +473,7 @@ static void pe_subtest(struct test_bpf_cookie *skel) if (!ASSERT_OK_PTR(link, "link1")) goto cleanup; =20 - burn_cpu(); /* trigger BPF prog */ + burn_cpu(100000000L); /* trigger BPF prog */ =20 ASSERT_EQ(skel->bss->pe_res, 0x100000, "pe_res1"); =20 @@ -489,7 +492,7 @@ static void pe_subtest(struct test_bpf_cookie *skel) if (!ASSERT_OK_PTR(link, "link2")) goto cleanup; =20 - burn_cpu(); /* trigger BPF prog */ + burn_cpu(100000000L); /* trigger BPF prog */ =20 ASSERT_EQ(skel->bss->pe_res, 0x200000, "pe_res2"); =20 --=20 2.43.0