From patchwork Tue Sep 29 21:56:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Song Liu X-Patchwork-Id: 11807243 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9F11A618 for ; Tue, 29 Sep 2020 21:57:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 77B02207F7 for ; Tue, 29 Sep 2020 21:57:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=fb.com header.i=@fb.com header.b="GWrFkYxy" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728169AbgI2V5J (ORCPT ); Tue, 29 Sep 2020 17:57:09 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:14684 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728041AbgI2V5I (ORCPT ); Tue, 29 Sep 2020 17:57:08 -0400 Received: from pps.filterd (m0044012.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 08TLucqg014970 for ; Tue, 29 Sep 2020 14:57:08 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=facebook; bh=q8DOaP2zNVDpf7BaUv2l0Ns1Xl6nLR1DxSk9kMxN8hc=; b=GWrFkYxy5jUWZUtmh2mnvfvrwG42g4pOXbChj0eiFIfiM/utWto4AyDtd3OWBn+Mj3Pv SechmFxZzrLfrmlK2CpKoDqvF+PjbYEXe8DfNDQ5rsEFGQXaWW5mSXBUNg1XenbvysBm 7Vi9MH1sIKIj/iKLNhjsJdt4vz9bEiI0zZs= Received: from maileast.thefacebook.com ([163.114.130.16]) by mx0a-00082601.pphosted.com with ESMTP id 33v3vtu8tn-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 29 Sep 2020 14:57:08 -0700 Received: from intmgw002.08.frc2.facebook.com (2620:10d:c0a8:1b::d) by mail.thefacebook.com (2620:10d:c0a8:82::e) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Tue, 29 Sep 2020 14:57:05 -0700 Received: by devbig006.ftw2.facebook.com (Postfix, from userid 4523) id 4E0F062E55BF; Tue, 29 Sep 2020 14:57:01 -0700 (PDT) From: Song Liu To: , CC: , , , , , Song Liu Subject: [PATCH v2 bpf-next 0/2] introduce BPF_F_PRESERVE_ELEMS Date: Tue, 29 Sep 2020 14:56:57 -0700 Message-ID: <20200929215659.3938706-1-songliubraving@fb.com> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235,18.0.687 definitions=2020-09-29_14:2020-09-29,2020-09-29 signatures=0 X-Proofpoint-Spam-Details: rule=fb_default_notspam policy=fb_default score=0 lowpriorityscore=0 suspectscore=0 phishscore=0 mlxlogscore=905 clxscore=1015 bulkscore=0 impostorscore=0 adultscore=0 priorityscore=1501 spamscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2009290188 X-FB-Internal: deliver Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org This set introduces BPF_F_PRESERVE_ELEMS to perf event array for better sharing of perf event. By default, perf event array removes the perf event when the map fd used to add the event is closed. With BPF_F_PRESERVE_ELEMS set, however, the perf event will stay in the array until it is removed, or the map is closed. --- Changes v1 => v2: 1. Rename the flag as BPF_F_PRESERVE_ELEMS. (Alexei, Daniel) 2. Simplify the code and selftest. (Daniel, Alexei) Song Liu (2): bpf: introduce BPF_F_PRESERVE_ELEMS for perf event array selftests/bpf: add tests for BPF_F_PRESERVE_ELEMS include/uapi/linux/bpf.h | 3 + kernel/bpf/arraymap.c | 21 +++++- tools/include/uapi/linux/bpf.h | 3 + .../bpf/prog_tests/pe_preserve_elems.c | 66 +++++++++++++++++++ .../bpf/progs/test_pe_preserve_elems.c | 44 +++++++++++++ 5 files changed, 135 insertions(+), 2 deletions(-) create mode 100644 tools/testing/selftests/bpf/prog_tests/pe_preserve_elems.c create mode 100644 tools/testing/selftests/bpf/progs/test_pe_preserve_elems.c -- 2.24.1