Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp496467pxf; Wed, 7 Apr 2021 04:57:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxzaj3qXCuvWm033wuf/XiVgzy2s0qdwp+Rna/33+f20uUbcl9DALLUZsvH5bP2ctyx5o9j X-Received: by 2002:a92:c043:: with SMTP id o3mr2437915ilf.74.1617796659497; Wed, 07 Apr 2021 04:57:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617796659; cv=none; d=google.com; s=arc-20160816; b=pwy8khztFSbnWW3Y76nIG89rMQGiqqkfRnjup0CSfuTTp+whdb6QJ9pyWj9KbT6zvK nTS8uwUGqdQYp2wXTQTWmJj0ozXNsGKRAEi57dS9TheZMhUAW7u6rOsNevpFksDlACU0 UW4AXAxBMxkEsXX8tJQaYBL3Wru05z3ApL2ZcPdJu1iEa6FsrIgd8osmC3XXjKVwiGlo CDjlnRE1dZ4sbINAoP1CrgOduzfOcsN0OzWauRKv8guaKjbwpsLA2tZFoFi4eIUWOyAk cVY5WYu3BpKQ+A3OQXTIxxh6oZcdQLzNDQr1cTazULzmKcKp1HjryTw5p4C4XTICbvDh z18g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:to:from:dkim-signature; bh=Mq4zboVwgG7RX/zWtMqfC1lbGCW4ytsyD+Jtu8rxp4Q=; b=opZckmKQW9yDK/UqsOSoSWD1hSsEmMmBNPtP8/AAaO7/g5UmkI/c4Y+fViJt+LKQ0b pBZTO5jPODJS0akoQDB7iLFKC+1h4c7/OwYJyuyqz5ta/hlMpCIWErtW6Mv5TNGlUmOS 1xifcF3Zk5RML/u7bQV+dtPRJFPtTQvToIIgLmZOB+yDx74ezUchrvKHUYbe75vPQWMJ ESoAZWfXGvTk6KBKtwQUyrVmAadaZ6ehnwej1N4rkHERm/zUcnyWLRQY7asYCW9h9KOY SWmd06+ejuacMzIzaS6wPtg5dsxZiaA8iv9IlYrRg7xs8XH76uI2PIiYLGT+xDjjZCxg z0oQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=KGb3I7tY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l21si20438217jak.117.2021.04.07.04.57.24; Wed, 07 Apr 2021 04:57:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=KGb3I7tY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240567AbhDFSzB (ORCPT + 99 others); Tue, 6 Apr 2021 14:55:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45380 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238551AbhDFSyu (ORCPT ); Tue, 6 Apr 2021 14:54:50 -0400 Received: from mail-qv1-xf33.google.com (mail-qv1-xf33.google.com [IPv6:2607:f8b0:4864:20::f33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8F160C06174A; Tue, 6 Apr 2021 11:54:40 -0700 (PDT) Received: by mail-qv1-xf33.google.com with SMTP id n44so2671827qvg.12; Tue, 06 Apr 2021 11:54:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=Mq4zboVwgG7RX/zWtMqfC1lbGCW4ytsyD+Jtu8rxp4Q=; b=KGb3I7tY0ieqRMPjgNri6Kauk+AB1DD1L3RI6yu19lY/UE457TaZa9bANwsYVmFLB+ FJRQuO9LYk681h1UOsfQYVx2cbsvwb4xdT7hh4kpjDP1ZiZ1tVjtnjtRW8ZUp8/YRc5d vct/it8nQUTBSRI8wSbToLT5+wLw40SkWwDRnKjodTKkI/kkPzZNbPUsnf2lN51wdRxC bqOcSpfWUi2PrB10K3mXLaxCyZ9gv50pLR96eWq601lKi9UgAU36PQVpczp5O1Dp8oDD 61WMwDZo77O6YIiDDD8rqmTjYt4q3+grZN3fW2xHXD+BG6Y+eG3Ypn0eKwthq5iszdRa v4+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=Mq4zboVwgG7RX/zWtMqfC1lbGCW4ytsyD+Jtu8rxp4Q=; b=UKrg9/psFBAuxR7XN5bdjLgtaRgUkj6rjQbT6S/QTyHBP6okGzCDD4Aw2XaUO8vDqC Zw1/ieaq1P3CBlzHjVc1l8tmpmBFjU2hD1mnk3FlarI7gIEk4ekYNOassywDjMzyiW83 ksC+ZJ8qldigaZBnEP7pTXXRHmuaV9I+iSb69+THqLCVfLrVge3+v2BqUHUP4VzvVzPT WtK2L2LbGWjECC9IjbssQ79E+8Dy/d6grQkfJ660WBjtfZqlvjg1e1qm6bVAlS2qzHEU 8hV/fkSuc3EakGLHIT0FjZ1ILF64R2LQO4gXSwqr/5SKhhpj3V/2KLkQOQM/9DDlyggr zSNg== X-Gm-Message-State: AOAM531k+TZUvgpueSWNzVkeqTaGAjy13CGAixQfLuMRjBpLSXrdDKYg eYU1fth0i04RbqZKxG1rTpQ= X-Received: by 2002:a0c:8b12:: with SMTP id q18mr30398917qva.51.1617735279536; Tue, 06 Apr 2021 11:54:39 -0700 (PDT) Received: from localhost.localdomain ([179.218.4.27]) by smtp.gmail.com with ESMTPSA id a19sm16581652qkl.126.2021.04.06.11.54.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Apr 2021 11:54:39 -0700 (PDT) From: Pedro Tammela X-Google-Original-From: Pedro Tammela To: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , Shuah Khan , Pedro Tammela , Matthieu Baerts , David Verbeiren , netdev@vger.kernel.org (open list:BPF (Safe dynamic programs and tools)), bpf@vger.kernel.org (open list:BPF (Safe dynamic programs and tools)), linux-kernel@vger.kernel.org (open list), linux-kselftest@vger.kernel.org (open list:KERNEL SELFTEST FRAMEWORK) Subject: [PATCH bpf-next v2 0/3] add batched ops support for percpu Date: Tue, 6 Apr 2021 15:53:51 -0300 Message-Id: <20210406185400.377293-1-pctammela@mojatatu.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset introduces batched operations for the per-cpu variant of the array map. It also introduces a standard way to define per-cpu values via the 'BPF_PERCPU_TYPE()' macro, which handles the alignment transparently. This was already implemented in the selftests and was merely refactored out to libbpf, with some simplifications for reuse. The tests were updated to reflect all the new changes. v1 -> v2: - Amended a more descriptive commit message Pedro Tammela (3): bpf: add batched ops support for percpu array libbpf: selftests: refactor 'BPF_PERCPU_TYPE()' and 'bpf_percpu()' macros bpf: selftests: update array map tests for per-cpu batched ops kernel/bpf/arraymap.c | 2 + tools/lib/bpf/bpf.h | 10 ++ tools/testing/selftests/bpf/bpf_util.h | 7 -- .../bpf/map_tests/array_map_batch_ops.c | 114 +++++++++++++----- .../bpf/map_tests/htab_map_batch_ops.c | 48 ++++---- .../selftests/bpf/prog_tests/map_init.c | 5 +- tools/testing/selftests/bpf/test_maps.c | 16 +-- 7 files changed, 133 insertions(+), 69 deletions(-) -- 2.25.1