Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2380446pxb; Mon, 12 Apr 2021 23:58:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyw4lfATGumbP2NXrSk91+zxHwEkdOzF40N9WQQXTDOcrpL3xAhHzmRPube18QkQ17TyWpB X-Received: by 2002:a17:902:b94c:b029:e6:98b9:c15b with SMTP id h12-20020a170902b94cb02900e698b9c15bmr30987944pls.60.1618297099045; Mon, 12 Apr 2021 23:58:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618297099; cv=none; d=google.com; s=arc-20160816; b=qGWf6d1ScJuyRjg4FxM3zbJv2nXHOtFWlVuucheNvGzQ8Au4GLOGbZLpfwuzxEncCs XiWHw9cos0Ug7i47CZOoQwIt3Wtw7sGqZBas0pSmIq6iNdsi6JK9wLQ9BYFcOWCBkwI/ VoSXbxcALZodjpOduMx3v8aGvaSnNKr236F/xC/x8h+1+BiEMo7E6LIVMvX+O73uJVAs 6k8quBt7Dt9m3lcW0oPoSoiE3qj4ZZko4cKAI7+Qw9DUPqXiNgyiNAEb6KDIKBS1gyDJ uxP2X2QDbuXiD7riIz5ELCFxPHZuwCtzSNgSiU3oTyBt30cl715nQPKhFBDGGkU/NO7S 8Q1w== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=3DUapBlFjGRDJpFp34wiWQN/kbUJN43b6f1p6IDIwe8=; b=Gr/E3c15qGnZn5zJF3fPtp9UM7yVx9ocY5LEm8nCMcKNS4u2b/r2tJ/OzGzYUYp/AE r7IXjebfpkv3ZG4/7XQJoLWBsE++QThZQHkbrTt3MBA08DJ/KZeopjioUE0uhs/wgpAG yarveLLT3A7kj95kJBVkzbicGGBQ6dJDUD80axki4Dm3o1hjjb34yig7oXnkP2IRAMyl iVWrxv4Spf8/ix20U1vZipSuoZZyEa28Zckw0OeRKIeC752fRYduRh+YtsPkhUAB5n0o /WuMW76+Ej9FVzo9Te3PBl/ykU6U8deU/7mxeQ4+XKBOwuVCLJTNIONg1W7NPaq4pjfX gy7w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=mp3KqjNw; 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 c1si16772107pgl.447.2021.04.12.23.58.07; Mon, 12 Apr 2021 23:58:19 -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=mp3KqjNw; 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 S245321AbhDLTkw (ORCPT + 99 others); Mon, 12 Apr 2021 15:40:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38560 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237899AbhDLTkl (ORCPT ); Mon, 12 Apr 2021 15:40:41 -0400 Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com [IPv6:2607:f8b0:4864:20::734]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EFADEC061574; Mon, 12 Apr 2021 12:40:22 -0700 (PDT) Received: by mail-qk1-x734.google.com with SMTP id d15so2537293qkc.9; Mon, 12 Apr 2021 12:40:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3DUapBlFjGRDJpFp34wiWQN/kbUJN43b6f1p6IDIwe8=; b=mp3KqjNw0LQd0I2bqTPG/fQL1YlviiYT6IUiZ5Y1MfutWISnWh0azZQJJika+jDBs8 fivRC3j2ToPcjtg9+eAsn0KAKPKcpgn3wEsDFPbMdtd8vMetlIg6c3NcB904z4eUOMVM r1+WPqjxarzvWAvSLFLuJldvUHMQM8bnovM27v4kp0qqjC2PpOQWJlF5dGEPGOgqbZwv 5MdRhnEXgFxs0BOZJHVoWDuv6iE7sjgmqYVx1kHLT5Uj1NP7X5ohUeLjFAtIxHCM4lIq Xzcdjyw5YBpfzvzsNlNk99Ke4DgNJU5GR5IWWHb6CNO+dLQb0NoGmK363FHGz+9MnNOI Xo+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3DUapBlFjGRDJpFp34wiWQN/kbUJN43b6f1p6IDIwe8=; b=HVIzeQJOrCtYjcR9jDJpKpioHsAzZJW4JxE2BlEKgwQjC7/UTBOLNZ9Xcbts8FiVpL ZrVdUbhFYngeThXkuhsI33glEuhctWjV10Lh4miG/0g6roppPcMGOYwP1SSImA7gRE0I nfFhyg+00NXQrDizzXXMg/wAR0weg4azpZ03jk0W4yfwdhA6heDnFjLz4nI52NBHYttV q0N05pfLNJeUZt1kPVbJwySvVafTH5HqaHK5Cba84G2SbTPoZDLoEw41bFxM2gcVCull cbYd5EmDCcZ86UeBf9vX886ZF6ZC+FiywiBzysLZBY3Y+3+6KHk/5qFJF9OlNBiIMkki qtbg== X-Gm-Message-State: AOAM5301wsKEgo2ckFhmeRDifcut6Za7hrExnuAI94yELKFN8d7c6w0Q peVYHE+dkR6E5Kc+RVm/FjY= X-Received: by 2002:a37:9385:: with SMTP id v127mr17251561qkd.45.1618256422279; Mon, 12 Apr 2021 12:40:22 -0700 (PDT) Received: from localhost.localdomain ([179.218.4.27]) by smtp.gmail.com with ESMTPSA id j30sm8407911qka.57.2021.04.12.12.40.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Apr 2021 12:40:21 -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) Cc: Jamal Hadi Salim Subject: [PATCH bpf-next v3 1/3] bpf: add batched ops support for percpu array Date: Mon, 12 Apr 2021 16:39:59 -0300 Message-Id: <20210412194001.946213-2-pctammela@mojatatu.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210412194001.946213-1-pctammela@mojatatu.com> References: <20210412194001.946213-1-pctammela@mojatatu.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Uses the already in-place infrastructure provided by the 'generic_map_*_batch' functions. No tweak was needed as it transparently handles the percpu variant. As arrays don't have delete operations, let it return a error to user space (default behaviour). Suggested-by: Jamal Hadi Salim Signed-off-by: Pedro Tammela --- kernel/bpf/arraymap.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/bpf/arraymap.c b/kernel/bpf/arraymap.c index 463d25e1e67e..3c4105603f9d 100644 --- a/kernel/bpf/arraymap.c +++ b/kernel/bpf/arraymap.c @@ -698,6 +698,8 @@ const struct bpf_map_ops percpu_array_map_ops = { .map_delete_elem = array_map_delete_elem, .map_seq_show_elem = percpu_array_map_seq_show_elem, .map_check_btf = array_map_check_btf, + .map_lookup_batch = generic_map_lookup_batch, + .map_update_batch = generic_map_update_batch, .map_set_for_each_callback_args = map_set_for_each_callback_args, .map_for_each_callback = bpf_for_each_array_elem, .map_btf_name = "bpf_array", -- 2.25.1