Received: by 2002:a05:6a10:2785:0:0:0:0 with SMTP id ia5csp2153743pxb; Mon, 11 Jan 2021 02:17:53 -0800 (PST) X-Google-Smtp-Source: ABdhPJwgTMD5rNHUpGs17OQRlxX5QauXvwc8ZK0Z6jwyJSwA708gInKY6Pm0lIkEoVfRa/Bj0nbf X-Received: by 2002:a17:906:c097:: with SMTP id f23mr10712655ejz.136.1610360272959; Mon, 11 Jan 2021 02:17:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1610360272; cv=none; d=google.com; s=arc-20160816; b=O24Pf6lFJzjYjrPXEUoSpYLdb2DeT5lR6gKqRHQt338dalQQoUOfjbPEw7FuapA0v+ K+ooPWzyCV2v/Vo5NertaQjzAcRfRG3EJDPwsyExrYDoXZ9eK9Ra+01+2/uWDOGWZeaV f/Sc40v27DrlCe+/vdaFt85pqAztUmO/90Fii8VTWhsvUpqM/NHy42544jqStrTLxKG/ LDzogXWcdonTUFCeoAYMRGVKpQ2A8BD6zn/5tdcGU9ZUS3y3qRTfEHEKuEeRFZcwu+Xt tSVEydxYu6SdgC6z4rnk5y2V/IqpncuEUqlqP9KJ8XCQr3AIylgkXR6lMVfVO00m3iOT nyMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=SVewTV+VD3I22g21o6sovo5joeFZITlpCr6davT5Ngo=; b=YWRBa6lMpui2o9H36pAScJz7dJmtAqz5oWntD4Zivb62belL/JbMTKzXSUI/ldOxON xXsU8J8Y36aySCBOPHD1emrfcwNedw8AZyaNEqilgIVdyOmbUbDDSjTeq2qmDK0AgBub ocRmhcDY809q2p/6NRp0smdmmlUwMS9D+KP3b0N6+P03V+Bf7FvWvPFB9Kd+FD/0XqYb QFjSjEFVa3NZVXl4ayqr89ZE+liMLaOIKEvo5Yszf92pSms82HIAy0FbXOHFqRJi7QzZ JGiB8y9sCOmMkz/a3eTLAPvo3wyGfhGZydykiltQ9W0DDnGjtSyMwcLNWvEUOlq9wsTh cfYg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=EIknoTTU; 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=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a3si6845839edn.541.2021.01.11.02.17.29; Mon, 11 Jan 2021 02:17:52 -0800 (PST) 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=@kernel.org header.s=k20201202 header.b=EIknoTTU; 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=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729024AbhAKKPg (ORCPT + 99 others); Mon, 11 Jan 2021 05:15:36 -0500 Received: from mail.kernel.org ([198.145.29.99]:45486 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725843AbhAKKPg (ORCPT ); Mon, 11 Jan 2021 05:15:36 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id C85D2225AC for ; Mon, 11 Jan 2021 10:14:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1610360095; bh=d3oM9Oo6bVko7We/EPWu4QxmYIbJ4zJH2EUzv0RJwUI=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=EIknoTTUOA5JOVqZp5FFk/YV11pg/k+grAQhZ9jHYbC7VQ38q+Y2mwEfXoSO+CDwr z4zF6OWN0h94MaPePDFjVC95uGuEcrvkM6BX/INH4LdeJNv7iR47la14Fwc7jhklAq ovujKqNyz8ZpnzBzYfqWvTMnk+AsZp7c7T49+vbN8R07R1VMRhvxThhYSAZIFuNPqy qUBqp91LUrw6YySXszXeWBupXhVW+9X0r3pIckKnHcZzYwmuJAeEhgeUo65nm2pVPz ltXHN345ZslUel2sb4CRG9xC26Y3C4JfVodZPtjfbetEmjtAlR/AbGSHSQhRCqqxn2 gq16UzrTIVo2w== Received: by mail-lj1-f178.google.com with SMTP id b10so2896339ljp.6 for ; Mon, 11 Jan 2021 02:14:54 -0800 (PST) X-Gm-Message-State: AOAM531rXvKpQ4iHAYFPanJmr4RmhPpHpIHEu+fW2CE4c/ZpBx+HfIk5 HH0KU09U8hotLR6YN9SgJXDApqciFJDYETPeJ/XyYg== X-Received: by 2002:a2e:5018:: with SMTP id e24mr7428302ljb.425.1610360093047; Mon, 11 Jan 2021 02:14:53 -0800 (PST) MIME-Version: 1.0 References: <20210108231950.3844417-1-songliubraving@fb.com> <20210108231950.3844417-2-songliubraving@fb.com> In-Reply-To: <20210108231950.3844417-2-songliubraving@fb.com> From: KP Singh Date: Mon, 11 Jan 2021 11:14:42 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH bpf-next 1/4] bpf: enable task local storage for tracing programs To: Song Liu Cc: bpf , Networking , open list , mingo@redhat.com, Peter Zijlstra , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , John Fastabend , Kernel Team , Hao Luo , kernel test robot Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Jan 9, 2021 at 12:35 AM Song Liu wrote: > > To access per-task data, BPF program typically creates a hash table with > pid as the key. This is not ideal because: > 1. The use need to estimate requires size of the hash table, with may be > inaccurate; > 2. Big hash tables are slow; > 3. To clean up the data properly during task terminations, the user need > to write code. > > Task local storage overcomes these issues and becomes a better option for > these per-task data. Task local storage is only available to BPF_LSM. Now > enable it for tracing programs. Also mention here that you change the pointer from being a security blob to a dedicated member in the task struct. I assume this is because you want to use it without CONFIG_BPF_LSM? > Can you also mention the reasons for changing the raw_spin_lock_bh to raw_spin_lock_irqsave in the commit log? > Reported-by: kernel test robot > Signed-off-by: Song Liu > --- > include/linux/bpf.h | 7 +++++++ > include/linux/bpf_lsm.h | 22 ---------------------- > include/linux/bpf_types.h | 2 +- > include/linux/sched.h | 5 +++++ > kernel/bpf/Makefile | 3 +-- > kernel/bpf/bpf_local_storage.c | 28 +++++++++++++++++----------- > kernel/bpf/bpf_lsm.c | 4 ---- > kernel/bpf/bpf_task_storage.c | 26 ++++++-------------------- > kernel/fork.c | 5 +++++ > kernel/trace/bpf_trace.c | 4 ++++ > 10 files changed, 46 insertions(+), 60 deletions(-) > [...]