From nobody Wed Jun 17 04:16:24 2026 Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B45B4319860; Tue, 28 Apr 2026 08:00:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.242.206.163 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777363262; cv=none; b=g0DzwuKD9nHRQZ2ul7wd0mAO4okI0ID3Lc7EvXz2IOBgwaGtXYTtiRvActR/scLj1I95noeB2wLLE9diUMJgMz6CL3C3tnWc62LeDXKgr7vm57omQlKMU8jnFCRn+VVu6Md+AXbw1uJAIgVMk2sSdCstHGNc0szXWriiZpebfuo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777363262; c=relaxed/simple; bh=MybvotgpTG1rcUt1VUdZbceYGQvT8dzn39RYpH7UJMo=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rb9RmNhyuqmFBHCJ+St7qmzd5JTQg6xvyr+YqV5+O9udzdQptHmkxeujkqkxlTZU6ATALtMu4M7xigCzT9sNd/K8Bnu4EmbUd7R9H7Gz1AfJQcCDhSoGvXL7wGxwMHQpaWHBweG/a+D6iX+mbmlosyfWqs1PKYKjPhoK7H7KVeU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn; spf=pass smtp.mailfrom=loongson.cn; arc=none smtp.client-ip=114.242.206.163 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=loongson.cn Received: from loongson.cn (unknown [113.200.148.30]) by gateway (Coremail) with SMTP id _____8Bxzek6afBpEK0EAA--.14088S3; Tue, 28 Apr 2026 16:00:58 +0800 (CST) Received: from linux.localdomain (unknown [113.200.148.30]) by front1 (Coremail) with SMTP id qMiowJAx38I1afBpmWt2AA--.27930S3; Tue, 28 Apr 2026 16:00:56 +0800 (CST) From: Tiezhu Yang To: loongarch@lists.linux.dev, bpf@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RFC bpf-next 1/3] selftests/bpf: Add __arch_loongarch macro to limit test cases Date: Tue, 28 Apr 2026 16:00:49 +0800 Message-ID: <20260428080051.20938-2-yangtiezhu@loongson.cn> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20260428080051.20938-1-yangtiezhu@loongson.cn> References: <20260428080051.20938-1-yangtiezhu@loongson.cn> 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 X-CM-TRANSID: qMiowJAx38I1afBpmWt2AA--.27930S3 X-CM-SenderInfo: p1dqw3xlh2x3gn0dqz5rrqw2lrqou0/ X-Coremail-Antispam: 1Uk129KBj93XoWxJr4DGr13uFWrXr1DAF43urX_yoW8tr4fpa y8AasYkr1xt3W3WF1UGrWY9FWxKr1kXay5XFW8WrW8Ars8X3s7Jr1xKFW3Gr9xXrWrWw43 AaykK3Z8u3W8ZrcCm3ZEXasCq-sJn29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUk2b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r106r15M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_JFI_Gr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVCY1x0267AK xVW8Jr0_Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx 1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1Y6r17McIj6I8E87Iv 67AKxVW8JVWxJwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2 Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s02 6x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1Y6r17MIIYrxkI7VAKI48JMIIF0x vE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE 42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JVWxJwCI42IY6I8E87Iv6x kF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxUcrWFUUUUU Content-Type: text/plain; charset="utf-8" Make it possible to limit certain tests to loongarch, just like it is already done for x86_64, arm64, riscv64, and s390x. This is a follow up patch of: commit ee7fe84468b1 ("selftests/bpf: __arch_* macro to limit test cases t= o specific archs") commit 1e4e6b9e260d ("selftests/bpf: Add __arch_s390x macro") Signed-off-by: Tiezhu Yang --- tools/testing/selftests/bpf/progs/bpf_misc.h | 1 + tools/testing/selftests/bpf/test_loader.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/tools/testing/selftests/bpf/progs/bpf_misc.h b/tools/testing/s= elftests/bpf/progs/bpf_misc.h index dcd78a3a9052..a8b14be3aa60 100644 --- a/tools/testing/selftests/bpf/progs/bpf_misc.h +++ b/tools/testing/selftests/bpf/progs/bpf_misc.h @@ -157,6 +157,7 @@ #define __arch_arm64 __arch("ARM64") #define __arch_riscv64 __arch("RISCV64") #define __arch_s390x __arch("s390x") +#define __arch_loongarch __arch("LOONGARCH") #define __caps_unpriv(caps) __test_tag("test_caps_unpriv=3D" EXPAND_QUOTE(= caps)) #define __load_if_JITed() __test_tag("load_mode=3Djited") #define __load_if_no_JITed() __test_tag("load_mode=3Dno_jited") diff --git a/tools/testing/selftests/bpf/test_loader.c b/tools/testing/self= tests/bpf/test_loader.c index ee637809a1d4..90910fc44f6b 100644 --- a/tools/testing/selftests/bpf/test_loader.c +++ b/tools/testing/selftests/bpf/test_loader.c @@ -376,6 +376,7 @@ enum arch { ARCH_ARM64 =3D 0x4, ARCH_RISCV64 =3D 0x8, ARCH_S390X =3D 0x10, + ARCH_LOONGARCH =3D 0x20, }; =20 static int get_current_arch(void) @@ -388,6 +389,8 @@ static int get_current_arch(void) return ARCH_RISCV64; #elif defined(__s390x__) return ARCH_S390X; +#elif defined(__loongarch__) + return ARCH_LOONGARCH; #endif return ARCH_UNKNOWN; } @@ -579,6 +582,8 @@ static int parse_test_spec(struct test_loader *tester, arch =3D ARCH_RISCV64; } else if (strcmp(val, "s390x") =3D=3D 0) { arch =3D ARCH_S390X; + } else if (strcmp(val, "LOONGARCH") =3D=3D 0) { + arch =3D ARCH_LOONGARCH; } else { PRINT_FAIL("bad arch spec: '%s'\n", val); err =3D -EINVAL; --=20 2.42.0 From nobody Wed Jun 17 04:16:24 2026 Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A6D3F2C027F; Tue, 28 Apr 2026 08:01:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.242.206.163 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777363262; cv=none; b=U0px5UosiBAAL8xLCegcelu+/1jdFho+Ndc/YDoWGgin1iRumoK+v2HsbULw7bGt28s9F+q682dp4MIIRDqgy18FkJ4MA/0raTjueolV9qNDzSCPS7AknoIkiAFXtRo/UokQlLBh4JfrOJzUkrV1fUbyGx5p/qG7A3xF+1S9cZY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777363262; c=relaxed/simple; bh=KXf7wyigCxWQyjk93Ql6iedexnVqP3jzQ9HGdHTmS7M=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dRQkMnaTFzDzUjAuuCaWvwyvjqVotC4jf0yG6YG+HsTrHpzp1q7RRTvxOwdFlyAP5qxUpJ6QujjFwDqgCsm5IhUcw/DV4DZlE7xCEfeDtcEVdvs7ueJixzR6KTPSvILiMfLo/f2IJB03UYvu3ka/uoiq1JG+RHDicYD0i7bSaqM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn; spf=pass smtp.mailfrom=loongson.cn; arc=none smtp.client-ip=114.242.206.163 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=loongson.cn Received: from loongson.cn (unknown [113.200.148.30]) by gateway (Coremail) with SMTP id _____8Cx3ek7afBpEq0EAA--.15440S3; Tue, 28 Apr 2026 16:00:59 +0800 (CST) Received: from linux.localdomain (unknown [113.200.148.30]) by front1 (Coremail) with SMTP id qMiowJAx38I1afBpmWt2AA--.27930S4; Tue, 28 Apr 2026 16:00:58 +0800 (CST) From: Tiezhu Yang To: loongarch@lists.linux.dev, bpf@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RFC bpf-next 2/3] selftests/bpf: Test inline_bpf_get_current_task() for LoongArch Date: Tue, 28 Apr 2026 16:00:50 +0800 Message-ID: <20260428080051.20938-3-yangtiezhu@loongson.cn> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20260428080051.20938-1-yangtiezhu@loongson.cn> References: <20260428080051.20938-1-yangtiezhu@loongson.cn> 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 X-CM-TRANSID: qMiowJAx38I1afBpmWt2AA--.27930S4 X-CM-SenderInfo: p1dqw3xlh2x3gn0dqz5rrqw2lrqou0/ X-Coremail-Antispam: 1Uk129KBj93XoW7tw47GF47tFW3Jr1fuw13Jrc_yoW8XFyDp3 ykW3srt3s8Ga42gay7AF4DZFW5XF95Z3y5Ar1Fg3yUCF4DJr1kXr93Gr13Cry5WFZY939a vw129a1vga4UJFcCm3ZEXasCq-sJn29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUk2b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1Y6r17M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_JFI_Gr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVCY1x0267AK xVW8Jr0_Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx 1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r126r1DMcIj6I8E87Iv 67AKxVW8JVWxJwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2 Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s02 6x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1Y6r17MIIYrxkI7VAKI48JMIIF0x vE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE 42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JVWxJwCI42IY6I8E87Iv6x kF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxUcDDGUUUUU Content-Type: text/plain; charset="utf-8" Add the JITed inline instruction of bpf_get_current_task() for LoongArch to pass the test case. Before: $ sudo ./test_progs -t verifier_jit_inline #570/1 verifier_jit_inline/inline_bpf_get_current_task:SKIP #570 verifier_jit_inline:SKIP Summary: 1/0 PASSED, 1 SKIPPED, 0 FAILED After: $ sudo ./test_progs -t verifier_jit_inline #570/1 verifier_jit_inline/inline_bpf_get_current_task:OK #570 verifier_jit_inline:OK Summary: 1/1 PASSED, 0 SKIPPED, 0 FAILED Note that this test will pass only after the JIT inline support for bpf_get_current_task is merged. While the JIT inlining is still in the pipeline, adding the changes now will not introduce any build regressions. It serves to define the expected JIT output for future validation. Signed-off-by: Tiezhu Yang --- tools/testing/selftests/bpf/progs/verifier_jit_inline.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/testing/selftests/bpf/progs/verifier_jit_inline.c b/tool= s/testing/selftests/bpf/progs/verifier_jit_inline.c index 4ea254063646..913a1699e42b 100644 --- a/tools/testing/selftests/bpf/progs/verifier_jit_inline.c +++ b/tools/testing/selftests/bpf/progs/verifier_jit_inline.c @@ -10,6 +10,8 @@ __arch_x86_64 __jited(" addq %gs:{{.*}}, %rax") __arch_arm64 __jited(" mrs x7, SP_EL0") +__arch_loongarch +__jited(" move $a5, $tp") int inline_bpf_get_current_task(void) { bpf_get_current_task(); --=20 2.42.0 From nobody Wed Jun 17 04:16:24 2026 Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DA29B4964F; Tue, 28 Apr 2026 08:01:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.242.206.163 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777363263; cv=none; b=H/h5TemwetZYrTVbhFW9anV/yCaznLO/foYPJVEVJ+YFkGuDZdtrRsf69VVF1lvChz64bq3y8gyP9HF0kLGWpQi2sXAQb/HYN5q+b5u5FJeGR4hrTEDPJRtvaVO8+XfmaqdWsfI0h2Ok8KGFgg/3VAWDm3FqYV+PbE3YbHBegy0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777363263; c=relaxed/simple; bh=GdZbgUj2QRiknFpRHXo8OJb+ATv1Li/oaUZb06UqX2Q=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sWAEha69IdGe6Gh2f6cC3rcdq5joBL1rBidsJvHuW7gQeVFztlKKy8yHv+u8Nkmol6a/CK9a5ggF4HFFIYbdchwxWrryN7GZrHZqWqMMkYHEsw99BYk70/jG3sxay9tpMcQdk0RhqiRnO9PXWnhY/kYCFbReW+IUs0C3Si6TiO0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn; spf=pass smtp.mailfrom=loongson.cn; arc=none smtp.client-ip=114.242.206.163 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=loongson.cn Received: from loongson.cn (unknown [113.200.148.30]) by gateway (Coremail) with SMTP id _____8DxsOo7afBpFa0EAA--.15980S3; Tue, 28 Apr 2026 16:00:59 +0800 (CST) Received: from linux.localdomain (unknown [113.200.148.30]) by front1 (Coremail) with SMTP id qMiowJAx38I1afBpmWt2AA--.27930S5; Tue, 28 Apr 2026 16:00:59 +0800 (CST) From: Tiezhu Yang To: loongarch@lists.linux.dev, bpf@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RFC bpf-next 3/3] selftests/bpf: Test jited inline of bpf_get_smp_processor_id() Date: Tue, 28 Apr 2026 16:00:51 +0800 Message-ID: <20260428080051.20938-4-yangtiezhu@loongson.cn> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20260428080051.20938-1-yangtiezhu@loongson.cn> References: <20260428080051.20938-1-yangtiezhu@loongson.cn> 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 X-CM-TRANSID: qMiowJAx38I1afBpmWt2AA--.27930S5 X-CM-SenderInfo: p1dqw3xlh2x3gn0dqz5rrqw2lrqou0/ X-Coremail-Antispam: 1Uk129KBj93XoW7KFWrAr1fZFW7XFWkKFW5twc_yoW8Xw13pF Wku3sxtry8GFy2gayxCF4rXFy5XFn5Z3yrAr1Fk3yDCF18Jr1DJr93Kr13AFy5WrZY93s5 Z3W2gF45Ga4UXabCm3ZEXasCq-sJn29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUk2b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1Y6r17M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_JFI_Gr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVCY1x0267AK xVW8Jr0_Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx 1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r126r1DMcIj6I8E87Iv 67AKxVW8JVWxJwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2 Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s02 6x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1Y6r17MIIYrxkI7VAKI48JMIIF0x vE2Ix0cI8IcVAFwI0_JFI_Gr1lIxAIcVC0I7IYx2IY6xkF7I0E14v26r4j6F4UMIIF0xvE 42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JVWxJwCI42IY6I8E87Iv6x kF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxUcDDGUUUUU Content-Type: text/plain; charset="utf-8" Add the testcase for the jited inline of bpf_get_smp_processor_id(), only for LoongArch currently. Here is the test result on LoongArch: $ sudo ./test_progs -t verifier_jit_inline #570/1 verifier_jit_inline/inline_bpf_get_current_task:OK #570/2 verifier_jit_inline/inline_bpf_get_smp_processor_id:OK #570 verifier_jit_inline:OK Summary: 1/2 PASSED, 0 SKIPPED, 0 FAILED Note that this test will pass only after the JIT inline support for bpf_get_smp_processor_id is merged. While the JIT inlining is still in the pipeline, adding the changes now will not introduce any build regressions. It serves to define the expected JIT output for future validation. Signed-off-by: Tiezhu Yang --- .../testing/selftests/bpf/progs/verifier_jit_inline.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/testing/selftests/bpf/progs/verifier_jit_inline.c b/tool= s/testing/selftests/bpf/progs/verifier_jit_inline.c index 913a1699e42b..e4d683c8cb06 100644 --- a/tools/testing/selftests/bpf/progs/verifier_jit_inline.c +++ b/tools/testing/selftests/bpf/progs/verifier_jit_inline.c @@ -19,4 +19,15 @@ int inline_bpf_get_current_task(void) return 0; } =20 +SEC("fentry/bpf_fentry_test2") +__success __retval(0) +__arch_loongarch +__jited(" ld.w $a5, $tp, 8") +int inline_bpf_get_smp_processor_id(void) +{ + bpf_get_smp_processor_id(); + + return 0; +} + char _license[] SEC("license") =3D "GPL"; --=20 2.42.0