Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp3369511pxv; Sun, 4 Jul 2021 17:01:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwCcdJxJ+lj/eefEoYy+pTcCixNFPfuOzda2WU/n6OFsL4DolMDx944F8RIrf5qn3iV9TTO X-Received: by 2002:a92:d482:: with SMTP id p2mr8636991ilg.79.1625443317239; Sun, 04 Jul 2021 17:01:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625443317; cv=none; d=google.com; s=arc-20160816; b=K70lmBTtXVx+K2XknML9jkcRRbZZEfStocCmHnVOnsHrKoKUomavysJL/AotHqJKie dnOwDDBT/lEBNB3M3CSIZd1DBHxUYlBIYC6XHgK/8/8JC+6fSlwER9ZYtvR2s2BazjBh Agj9f7wbX7SDBxedFIQIIe224LJDdPeR8EgMoMRM/FCUFsX45gHFiGZuS5FT3460JrHR 4VoxGZqaEPQ5kUyCsPpM/Q8TudUp0IL82muEKFUkINeH7xzGYBTzm3dnC7a4wvBzNpWh JJ+wJztpLMYJcQCAMye4vlClOIGJVMyG0C2AIqTM3pxAVrNPE0PQMgsO2hT/C6lUgstC kTeA== 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:subject:cc:to:from:date :dkim-signature; bh=noJBpfLvqpvvBmFk6zxo13KX8btKlMXZLoazZSbfBEg=; b=1EWD0GbNmQmD+cZ2KA4IJZ9iAJnVRw1aBYVV2yM5pAP59TbdEyUueJAD497J8JBKOh tQ4xG5SPplxioPhgBtQhiHBReqnPN++oSBOpq1gV6fA9NWnKoDiyvCXi08F+LO5U1M3x /zG02m/LY6r+sVqCPIcgSUEuT3M2e5XXyxbqdQZBsBSyvwH4LnbmDuxffiPBMDq1KiKd CW7g5DVodExNb+oESHOpe3Q3uf1UDTFowMSSof4IZUMVfQbgdASxPnaDBx1zcbNjHlvU 4UcChvSnXqFbZmVmjCcFucqBxXmAe25wlLWLYFpJBjuvbndxHxqj6rmTC1sKIr2Tgeo+ zWuw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=girBCqlU; 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 b7si14428426jat.31.2021.07.04.17.01.43; Sun, 04 Jul 2021 17:01:57 -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=@kernel.org header.s=k20201202 header.b=girBCqlU; 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 S229724AbhGEABl (ORCPT + 99 others); Sun, 4 Jul 2021 20:01:41 -0400 Received: from mail.kernel.org ([198.145.29.99]:46492 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229642AbhGEABk (ORCPT ); Sun, 4 Jul 2021 20:01:40 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 1789B613D0; Sun, 4 Jul 2021 23:59:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1625443144; bh=m0kblN6hNdNA8DEWQiP9DvAg6qs/MoaiNtlaCeBXXCU=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=girBCqlUzJ1ALojSFoaEjAnpjiM0ZUVo/d+gRBsS0bEJ12FYTjWSKkFhO86ezVtpt IcTkkyWgqcamzUVxDD2F/3gtca6YrudzGwlSxW+1IwR7UtO/l0bSAwXbomrEzeRnsI 8vtbtf1SUrafkWBev4lRqfqLzRP3djC/yuJ5tUHHTcxe0jm05KFjOnQ1M3FnGf2zbi ImLsb6R80aiozlW0qvbbp9yFY2CIgXZQWFNPMfrvycobcJzz1v34W01kYPEuWBvxi3 8JQWxjc3K4JlnbEQUk/Y22CakLGQEpsxgJar0SybPV1q2SYDR8fNcEvE8PCjGF0qgY sPvbmAI+aF5dA== Date: Mon, 5 Jul 2021 08:59:01 +0900 From: Masami Hiramatsu To: Christoph Hellwig Cc: "wuqiang.matt" , naveen.n.rao@linux.ibm.com, anil.s.keshavamurthy@intel.com, davem@davemloft.net, mhiramat@kernel.org, mingo@kernel.org, peterz@infradead.org, linux-kernel@vger.kernel.org, mattwu@163.com Subject: Re: [PATCH] kretprobe scalability improvement Message-Id: <20210705085901.20f97a48c37fdc533d554dc6@kernel.org> In-Reply-To: References: <20210703102818.20766-1-wuqiang.matt@bytedance.com> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 4 Jul 2021 10:16:47 +0100 Christoph Hellwig wrote: > Would it make sense to just reuse kernel/bpf/percpu_freelist.c for > kretprobes? Hmm, I don't think so. It seems that what Wuqiang proposed is more efficient than the percpu_freelist, and it will be less efficient from the viewpoint of memory usage because kretprobe freelist manages instance pool among all CPUs (which can be unbalanced, sometimes 95% used by one core, sometimes used evenly). Actually, the best solution is to have per-task fixed-size instance pool which is shared by all kretprobes (e.g. 4kb/task), because the instance makes a "shadow stack" for each task. This may consume more memory but is not increased by adding kretprobes, and should be scalable. Thank you, -- Masami Hiramatsu