From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6CC8BC4828D for ; Thu, 8 Feb 2024 01:59:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 062A46B0075; Wed, 7 Feb 2024 20:59:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0132E6B0078; Wed, 7 Feb 2024 20:59:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E1DA06B007D; Wed, 7 Feb 2024 20:59:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id D4C706B0075 for ; Wed, 7 Feb 2024 20:59:04 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 99295120C73 for ; Thu, 8 Feb 2024 01:59:04 +0000 (UTC) X-FDA: 81766978608.07.32E79BD Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by imf21.hostedemail.com (Postfix) with ESMTP id C683D1C0004 for ; Thu, 8 Feb 2024 01:59:02 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Zkil9po1; spf=pass (imf21.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707357542; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=pw2DG9D22iPvPnBNWQtqEQ8bb/c7ENmGt4tgaUKDf+Q=; b=3q44xuDxU2XnI1PZnv3dD3rnA2Gfwvzns0gVr0vjLPF7eyfoSbPizMdWoYwiPMKm7NNopA SM7V/rq3c9L7Jrh5u0XuPHRAeRqwl9p5Tr3fHFKOjZP/s6fT0mASUGj6xj6QPDDlGejj/F p8Vh4ZFjttTz8RGsuGuqOQVtlYLbAYk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707357542; a=rsa-sha256; cv=none; b=FGXIW0oObgw883PWcBm09n8pMRhdpr3d7eGhUbk3ZmY3azMIs2whXfs3fnpoqUEBD0jg5S 8a/m1xA3kn3R4No/RN2G5Skd6FKbw37rDSDEFc1GNrhigpdgCWtn3gd+MH5DiyGPdlTLRY Axm+b44G8ukoEBDkdIttJU2oMWVIWag= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Zkil9po1; spf=pass (imf21.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-3394bec856fso240632f8f.0 for ; Wed, 07 Feb 2024 17:59:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1707357541; x=1707962341; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=pw2DG9D22iPvPnBNWQtqEQ8bb/c7ENmGt4tgaUKDf+Q=; b=Zkil9po1xQZcKI4v89XiiaCfFVEASQEeItpYJpOKmS5pG8MsbMgWmsbaqTbszpcI5t X771K9JsHZI0nFX+moQsDBbia7GC4P9h9bmjm/TFKjeuVZY4RpK70WX25yiqwW9ERviv NoAiBJKsuek/gvhE8x6p57QydKBVB19A1bBFZm4nOM1vlzd2T2Pzz1AL9xGXP8qgr/jH KGoPyOXkpA1HUpl3Dg7PX8sgEWjamp342SxbVTQ8uZiYuu3oVrsopdCuavA9RMMLYDPh gek9igNGkmbhGWPU7Xm2l+FBZFBsZZ1CIJbVbjZdLGDeD0P3sPFzUdnOrOh50ZfGQI2c z8PQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707357541; x=1707962341; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pw2DG9D22iPvPnBNWQtqEQ8bb/c7ENmGt4tgaUKDf+Q=; b=au4PGpw/yZidnlptM/zk4wvOvPmTEzKkXxP+RsK8fIC7zrmWp1wRbyq5nsrZyHnDRd L913na0ysEr36ReFDuK53mZA12a6/DYJhmCPZ7nleYxuc3/Yxj50Yg9LHmC8og3Wad/y GzgdeqI75/0iY3WTGPJjFrflTz6FpYrfuz1S7eCk4kOxVwdE9OOmM900q/RF8M3j6YX6 6KkAz12Q0M9C2b4poL7VpWGUsQOZxEmRQOoNvagwmCnNSsuUcHYQNF7VS8zKtvDCxKVZ k61ECwRCHewBWB4kq+4ZvB5x0OEtklF2LykRQRFMxymA68kwUaf/RJFWaQU9GtDNJwZd oOrg== X-Forwarded-Encrypted: i=1; AJvYcCUqPiOLgr9O0wZgrx3HpXtVHq+0/iUBcKmiP4n7ZFvm13eXEMlir6KvdJ4bhCuQFLhCFZe+q9IT8MKcfbx1UBsadcE= X-Gm-Message-State: AOJu0YzRaa8qJWN+mdo8QnGnQ9Iu++nErvU5TijSKi5KNiLXTP4F21OD TXcmAkZDX0GEGKSYQz5nnnpsjZ1CL56mZAOdj7hZ2V8hoRyc5r5WQCDiN00O6nm0ZKZZlabf1+S gga3vJitr/2xEcSsrm7W1Of5nFig= X-Google-Smtp-Source: AGHT+IEhUIADTS41xKPaZ38J9Vvk8cZXp1t+WvDYRjY+jJ+5HqZDRA4h74rLcPVpC7ofzBNLTQhRnPsNXGw5ZQyyjG4= X-Received: by 2002:adf:ab1c:0:b0:33b:5815:d51d with SMTP id q28-20020adfab1c000000b0033b5815d51dmr363632wrc.18.1707357541040; Wed, 07 Feb 2024 17:59:01 -0800 (PST) MIME-Version: 1.0 References: <20240206220441.38311-1-alexei.starovoitov@gmail.com> <20240206220441.38311-13-alexei.starovoitov@gmail.com> In-Reply-To: From: Alexei Starovoitov Date: Wed, 7 Feb 2024 17:58:49 -0800 Message-ID: Subject: Re: [PATCH bpf-next 12/16] libbpf: Allow specifying 64-bit integers in map BTF. To: Andrii Nakryiko Cc: bpf , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Kumar Kartikeya Dwivedi , Eddy Z , Tejun Heo , Barret Rhoden , Johannes Weiner , linux-mm , Kernel Team Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: C683D1C0004 X-Rspam-User: X-Stat-Signature: wsy1qb534a3tgz3t1ebsjyhoz7rem36g X-Rspamd-Server: rspam03 X-HE-Tag: 1707357542-668210 X-HE-Meta: U2FsdGVkX18gNokJVbY3Ah3ec76B8S/3E58h+8VnIGQ07ArYHe5pLUBVZ03ZWEkNN1sAlLiGYCarYTF65LUDqLAQILEz0SRzc1UVkngukRbOd9weK5oZWIuNXeMGpP2C0oGQElpMLzk7ipOL+5LNQLTc2D0PYbHkymTD9mo8fvTZyd/6FkbhMeiePc3DlUrfVSJ22R4F/3UNrTZRM+VrOyJAY8HGBX5DcecfoWRtUSEO0yQmgfqCW0eVuiP3IaFxs4KarIDq9iBUO+L0SLPa42XNATPYH88dSF8H77yDhvdmwu+UoMDsFlZIn6hXcIvf1DywwXsgjSUuMcIDUnrrh7cJD6pbBiqG4S4Jvmcfe9rFduQ99vDQBdyqw7OXLO/5U7hnruWd03OCXZLUJS5qqH0dvcOrBRRqQqslCWQWtYmERPc5Q3k4/Jw9Cl32F4Fi/6Y3W23ivO2NtxYkoupBrYaUx0TS3HLey73TwQBkz2tu7iNY3IPsyoshHD+39hlHYZKZILi6UAja65ZV2FTJ2kPMaxOs7L2OvGQiYfSoI0lW/K8kiyrn+sJVW4NuwH41Bhos43+kPImNcuYi6sfnzGZ/J0XtemV+z2Z22j+p1s6djsvGjHPkkkzUnh4z5pA4lMkSbzGZLKIG99WiHmixxbD63tR8pvuZR/lHh0C3D/sRW65dE3msdBA6XNfq/oNsGIUE1w+Aa1hcxVE2iZAwpI62udkaEM1635qEvfTCLiSkfVnXfV8K8aDq4eRjXaoh2/iQZekW5BAfk6xNc8jpZgUYvS2QKIsV1M3EZqAMBDGxFGdVI8TYIZ730Op7DPFEwDsDF+Ee2qX54NRGlBcXphb1+7muWgJX0aZEbzCPxyY/HCCEskNl41k7CA5n+8HAVp/wiE9aTrRogV9Wdt5XEWUh5+gRZw/yw0Rpv/y3GMzDLZZLr5WLOQkYe/dvaAjf1JOc0BZEjXxw9mBvbBJ 84TRLMOA KULv1qu11Fg71GP1tV3y5nnK6C8PryFrLI96up7exQ9COChp2IRQZPLSIpKLX6fn6q83+BtwFGIgmc3ZXj0rbJs03M8uWNK/N1T2+kg9li1jyj7wWgrQw5xx3hDD0LodvFSFwRv7FifpcBVhyCLKioOQym+sN0XkSkxZAqrZ4FDhYB1UsKFMlLEFI+YEf/40aE0fLCvfeOnEmCraHALVZZ1hFVVoXbHwgLkF4r2vzwSxoXy2HqmFs5KLq5mbqpcQvBYWSDdrtKrBtFgSJRlTYHHnyS6A/At2d+YLyR4gNrNcxobHbVoa2j1wqGuN0tkav5Am1M4ep7nUaXnrbyffG49LOamm/eMT9Ntt26Qe8Zq97J4V3XQDNr0vq/TUQ0nDIlq5t5JoJZ+uFuwWW+FFz559AjQqql2S2AySKA43eSmSNWeAR4lDh31hr/jHKZXOGLA9Uu05RSENbtLwsjkHNQPdcT2woOulRvdprOFTgsbRLPfFg/dq8ACaJnTCfEqZ2CSkjCAbC5foFaEP4rTP/PgC1rbGpZuiLTCb1 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed, Feb 7, 2024 at 5:17=E2=80=AFPM Andrii Nakryiko wrote: > > On Tue, Feb 6, 2024 at 2:05=E2=80=AFPM Alexei Starovoitov > wrote: > > > > From: Alexei Starovoitov > > > > __uint() macro that is used to specify map attributes like: > > __uint(type, BPF_MAP_TYPE_ARRAY); > > __uint(map_flags, BPF_F_MMAPABLE); > > is limited to 32-bit, since BTF_KIND_ARRAY has u32 "number of elements"= field. > > > > Introduce __ulong() macro that allows specifying values bigger than 32-= bit. > > In map definition "map_extra" is the only u64 field. > > > > Signed-off-by: Alexei Starovoitov > > --- > > tools/lib/bpf/bpf_helpers.h | 1 + > > tools/lib/bpf/libbpf.c | 44 ++++++++++++++++++++++++++++++++++--- > > 2 files changed, 42 insertions(+), 3 deletions(-) > > > > diff --git a/tools/lib/bpf/bpf_helpers.h b/tools/lib/bpf/bpf_helpers.h > > index 9c777c21da28..fb909fc6866d 100644 > > --- a/tools/lib/bpf/bpf_helpers.h > > +++ b/tools/lib/bpf/bpf_helpers.h > > @@ -13,6 +13,7 @@ > > #define __uint(name, val) int (*name)[val] > > #define __type(name, val) typeof(val) *name > > #define __array(name, val) typeof(val) *name[] > > +#define __ulong(name, val) enum name##__enum { name##__value =3D val }= name > > Can you try using __ulong() twice in the same file? enum type and > value names have global visibility, so I suspect second use with the > same field name would cause compilation error Good point will change it to: #define __ulong(name, val) enum { __PASTE(__unique_value,__COUNTER__) =3D val } name