From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (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 664292F83BA for ; Fri, 14 Nov 2025 09:03:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763111035; cv=none; b=OtlpcDw+14ZDbvQCeFZbk0/wvLQoqjfD9ZGPd5dvNmlmHZN4XQ4VVfLyz9t+daU3/+pwRmiI/fenvLNjaueRYzHwWZOu3YARq3QNT4Pe3Hhf7rqyM7BSG5ltlCDOL7+RTAjDHtCaocdNJ1oTRCLL2tReSDed7ulzh0/3tkaAAew= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763111035; c=relaxed/simple; bh=W8s5L5zmfwc+QGPC5hCWLSubohHOO0kKf62ifztROc4=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=gEPE+9yZ3hkETo2uAVwmmn+oIoIc4kmk6q9nG6MnJbthv8WA1FpV/uF66yVr6NY9zqeeU5HPiMGW5Q4KJ9WXVJ9Ro7BNDqSdrgmaG6VkHQIcKXKzm99DBMtgbIPjA1HnoHx3coocLVu368upj8vjDnFiOab9w/4eovQZ4ol0fQA= 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=gh/v29D7; arc=none smtp.client-ip=209.85.214.182 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="gh/v29D7" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-298287a26c3so20730265ad.0 for ; Fri, 14 Nov 2025 01:03:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763111033; x=1763715833; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=z4Shpf10YV3VCCnns60puz1byMeMWcftnP3LoSfYy/Y=; b=gh/v29D7g4q0KDtWQvUfWLJQs8cavk93sPN3L2amrjvX+VZJ0+W9ydzxggPnSpAzvo cR//LE+jQBqieAlW2c1PDaoKiVjrEHXwwraVZFJwhBU3IcrjvjX7zrVzDfUZPJdmyEVM qvTAevnvYXkVmAj3ZgAO5fKMD0JRNZ3546BqdjGXuzn2jY4/JJz5zofs8HpLHt/01fmb Zpjz8zYTxMNZhe2E6XMq65RtExl2uaxRPUBkqMsDkLxZr/hgMOY/JoazavgQIbZDr1uF sV7LO1qvS62yOSAohvUet1KShJ8z02dScOQ+bTblQL0IrYVMAIAlqJITyH42vAp/Bn5D coHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763111033; x=1763715833; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=z4Shpf10YV3VCCnns60puz1byMeMWcftnP3LoSfYy/Y=; b=aX8EQv8dgQSC/IIrsRpNFyR2GhuoRsuVliiCIGy2BUQI0Fmtxlan2gz3WAiMciO3kV lSpJOSBspB6m0YC8OVrKPDHxpc2MG6dLVm9QEfdgnrNy9cn+1v53JXyqy6KwwnzZj+Rd /pzCBwM3rIVdWtafDrhW4XaFx6ac/At1k6Lb4AxVOBD7FOXnGXqq17cVCiIdM/W3fKku otrO4gAeDYJkChZo2m3rpL20DFOd584S6eyui1njirz5Psm2BE58/gZzM7Xrzj73yGkr 9D1mp9r6t11fJOc19e1A+hPX3qgTsprOo8wDNnF2PT1xQP5ydxV0mM91YC4ssjbeBJEP SsWA== X-Forwarded-Encrypted: i=1; AJvYcCVGktmtjcMSGlb9Vs/u+69+GCdp9JYLstdz0Je6XDkx8uF0/39+iCMwZvPrsPwWIq4MrpW6bYK8NpKNecI=@vger.kernel.org X-Gm-Message-State: AOJu0YwKqX6XHESyEQ+JA/MbbXV6n0SY3Bt3jUTiSKvFWKKWDSj4qGhm 1fZyc8m8UvgRa8+WI8s5YYV5yw89EHmHfT+TQkhgzoUN52Z6JczVawYA X-Gm-Gg: ASbGncu6l4vKLNXmB9oGczMUKoatAvPPffJSVZs9aP6nrdDg2Hq78l1U/eoMIW0tylk dIH+fk9fcNOIpVygrh+WUgbBZKnHeocys+zozMYVso/couP0jFsRFacljz6LCo8SGx7KLohy4Em IfWl3OxlAwIQtH1XgdTrXnXKmhAVqaZK74Hvypakptop0eBf8TA6sS+5xpN8eZb1xg+659GD80z E2YPH/L11ym8s92qX/UeAb6+6cW4ipMmUtIhOimkgaq758eQtShR790mEE9oIVAj2I1zeOpP2H+ f3PiVVKfRIzsp+QIUN4IwqhFP9YZlT2qHwtxQw6mk/m3UAvSAxffistMqgTtgIy8AoSqOihI8C/ JuxGLUTn7SPbxVxiFahh5W+YilYG3KIOSXpyc81QeaDg019vTh7MRONQ+tTOveIkcFvp3RZBnR3 7mbv5z/xANii5burEDtDut/JIe+GGQmk2+tiMtjQ== X-Google-Smtp-Source: AGHT+IEWX+HXwjIwoEMhrfRmvFP6jpi3fidtv/m8yrQqLuzNZ8npKH8JVbjNH2ISoNhGz75HwyqwMw== X-Received: by 2002:a17:903:2948:b0:298:485d:5576 with SMTP id d9443c01a7336-2986a6bd19dmr14108605ad.8.1763111033487; Fri, 14 Nov 2025 01:03:53 -0800 (PST) Received: from pengdl-pc.mioffice.cn ([43.224.245.249]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2985c2cca66sm48362605ad.99.2025.11.14.01.03.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Nov 2025 01:03:52 -0800 (PST) From: Donglin Peng To: ast@kernel.org Cc: eddyz87@gmail.com, andrii.nakryiko@gmail.com, zhangxiaoqin@xiaomi.com, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, Donglin Peng Subject: [RFC PATCH 0/2] Add btf__permute API Date: Fri, 14 Nov 2025 17:02:29 +0800 Message-Id: <20251114090231.2786984-1-dolinux.peng@gmail.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Donglin Peng This patch adds btf__permute() function that reorganizes BTF types according to a provided ID mapping array, updating all internal type references to maintain consistency after permutation. The API enables custom BTF type layouts for specialized use cases such as BTF sorting optimizations. This series is extracted from the previous patch set: https://lore.kernel.org/all/20251106131956.1222864-1-dolinux.peng@gmail.com/ Key difference: this implementation adopts the ID mapping approach suggested by Andrii Nakryiko. Link to v4: https://lore.kernel.org/all/20251104134033.344807-1-dolinux.peng@gmail.com/ Link to v3: https://lore.kernel.org/all/20251027135423.3098490-1-dolinux.peng@gmail.com/ Link to v2: https://lore.kernel.org/all/20251020093941.548058-1-dolinux.peng@gmail.com/ Link to v1: https://lore.kernel.org/all/20251013131537.1927035-1-dolinux.peng@gmail.com/ Donglin Peng (2): libbpf: Add BTF permutation support for type reordering selftests/bpf: Add test cases for btf__permute functionality tools/lib/bpf/btf.c | 186 ++++++ tools/lib/bpf/btf.h | 43 ++ tools/lib/bpf/libbpf.map | 1 + .../selftests/bpf/prog_tests/btf_permute.c | 626 ++++++++++++++++++ 4 files changed, 856 insertions(+) create mode 100644 tools/testing/selftests/bpf/prog_tests/btf_permute.c -- 2.34.1