From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 524F2E77188 for ; Fri, 27 Dec 2024 01:09:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D6EA26B0083; Thu, 26 Dec 2024 20:09:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D1D9D6B0085; Thu, 26 Dec 2024 20:09:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BE54D6B0088; Thu, 26 Dec 2024 20:09:44 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A19C46B0083 for ; Thu, 26 Dec 2024 20:09:44 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4DBBD4749D for ; Fri, 27 Dec 2024 01:09:44 +0000 (UTC) X-FDA: 82938955764.18.A742449 Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178]) by imf04.hostedemail.com (Postfix) with ESMTP id 7E63D40008 for ; Fri, 27 Dec 2024 01:08:58 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=HmfOKYNz; spf=pass (imf04.hostedemail.com: domain of surenb@google.com designates 209.85.160.178 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1735261733; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=3E6wt8HlxBnw3ET83ugW/EugxKxuLhdbTQuA3jyOBfI=; b=WL4NttGWZghvN+NFvikbMx7ozuUkBnAMJygESmOLlNW5foPFU+Ftp4tEuorwJVHNdO8590 RAU/msfzu+Wt77Ue5JOmLiiCQaTFdieCogr1wWgvD5p980kTICvZBo5B9PjPZOKo2r/lNi nj2UMjAFNhayex8gNwlypJi8L1skxYg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735261733; a=rsa-sha256; cv=none; b=I/8V72vRAm03zjpeduzyrMiG9UKZR0OyhQ4JKtStl+JMUXUXgzQLvc/Eem3fzs5H1wvuZC r0Gj+G0USc0+cBWuhTycYHr6Ff2By6SCOmLZq2iuPY+R6wnMzy/2bX+Jx/NrQovz+6E/AB Z0qrN2kRFmgTwzihhmVBPk4A8/00lrc= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=HmfOKYNz; spf=pass (imf04.hostedemail.com: domain of surenb@google.com designates 209.85.160.178 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-qt1-f178.google.com with SMTP id d75a77b69052e-4678c9310afso1737431cf.1 for ; Thu, 26 Dec 2024 17:09:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1735261781; x=1735866581; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=3E6wt8HlxBnw3ET83ugW/EugxKxuLhdbTQuA3jyOBfI=; b=HmfOKYNzLgRALyzWKOe/urCgesA0+vLW358ZQ+xNg91S2V/+4uDz+FWkPlSJCKR8pl Wno+Q0+mzM2TlvZxuOvEyqv0Vn1L7CYuZATyOn1DmF8/M7IA3WFSzHylzsy9vzl27wdD 359YtMzGI0yc5LWiU956EvwsyN9zSGOcIDpyO7HFGacaP4w3fSsJe5Fq9VjpGxVJ3Qaj 5hZFLSlW1s74iRV6VKyCPoTB5u0vo/N/yxgUFNHP3sJgZjwY2dLKdKLdpswef0baTXFg SAVcJdJlVu84DHSHOKxO6IX/5MuzyVrkCAc+aj4QDgpysyBalshIfKZiCDiLnX7d/Zxt dMnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735261781; x=1735866581; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3E6wt8HlxBnw3ET83ugW/EugxKxuLhdbTQuA3jyOBfI=; b=Cfgm2a7cg9EA2ccjhXZKLtEDSqC9wsFRoPO+4dCuBKDuI/xJktQqUYeWcSCThOM/x3 cNQhWvXtk6ABfiu4wPDW6rpoMxNuv3hOnEnSai5FWrcsiAjFFriFu3BvLrGV5ZuHKmXj 4ZjcTqfnN4wvm8QlqJXMxZTiGDt/qwo74Kll0bPYy9pojjhxPmOuTsGkm9IEG3fHsemx +DQ9cC80Xe+HAUfTLfzSG5hHL0DQDGqWbdEG0z+P5VPIR2X2bIFUFF/0EAoc/jSdrwOc BXBBJ4dKeda/UlbTebfLHO3NGqlIS3pvDjYR2eB3o7O69OjZwqkH4QmSF6ZSiwK44pdJ XV8Q== X-Forwarded-Encrypted: i=1; AJvYcCWeQVjvGJaOx4ql0kHeBQ+i2irgx9sp89qgQhAllNxmXAH+/mmrNOTxBF4ND/6OvH+WHPB+YWuVdQ==@kvack.org X-Gm-Message-State: AOJu0YzvhiF36owKgZQ4Vm/DsL6G3uwctGuSyM4hsg3u8ou3vqO7b88L z6dejBxORFe29VsEWvLy1MofxB30SYmPPOAy9vw2l+PjQFRSOw0aXWFBV8NSbz4Y1V4UV2h1zlL RKwkMTAYb3xqRwXEBnnKnjEz+zFEdqbslrfE4 X-Gm-Gg: ASbGncv2w0cugZzBY8iVNdpPJuKR9YDa8LZp21Uj2mYjznkGYOQEHn6yvVuAb2lxBZ+ AcPWg9QT6mdZALDrCvDH0JpTJaovDM1lDynEpzg== X-Google-Smtp-Source: AGHT+IE2P9e8pBJfKJwgnh0PKZYfZDFnVOksblA6iIK6nqQgmKa21JPhsZf5iRj8Ha0+nGuwGqdNyxewdmEvA340cs4= X-Received: by 2002:ac8:5992:0:b0:466:91fd:74c4 with SMTP id d75a77b69052e-46a4a6c3802mr19103811cf.0.1735261781453; Thu, 26 Dec 2024 17:09:41 -0800 (PST) MIME-Version: 1.0 References: <20241226211639.1357704-1-surenb@google.com> In-Reply-To: From: Suren Baghdasaryan Date: Thu, 26 Dec 2024 17:09:30 -0800 Message-ID: Subject: Re: [PATCH 1/2] alloc_tag: avoid current->alloc_tag manipulations when profiling is disabled To: Kent Overstreet Cc: akpm@linux-foundation.org, yuzhao@google.com, 00107082@163.com, quic_zhenhuah@quicinc.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 7E63D40008 X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: pywow6s9egb576mskir4zqgm1933r5ub X-HE-Tag: 1735261738-624927 X-HE-Meta: U2FsdGVkX19XXXvoABoBJBEg07qkMwzisQIA06B8XgImL7nwHhKE4Ix2IEb+5mKY5PrDE2ym8NyxD/sUufv5cR78osFNqHBl+HuZqMIcAWtW+kAnTTItIyGEZs53/CBJuyw/A0lzELGlu5l2NQDNchjz9uhjEeZcOesR63kW/KUIKD/NcDRWHXjNWwnVSGibrSTbXI1FwL1WGlXkQXI6LTTuX3gEauSvXurzddTKzucHQIwpGAEm+23a6iuahwMdSUtpEmPVUHefsrfiUDbE4Ue08ROaFZWtmb8fJ5PnLFg3Ekv++fsw2nEZOFymiEzPrEgCZ/zNoCLKo8w/aKdPpL1/mZyXU/+W+QfGAEjZeig1YyyuosFoSHDw43wygWQNb6KwrV+ODoqZjyXRtQoTFGaTYaqQJLP2u0OuqDjxDAfVGuAD09WOo72hmwtCks3DFLYIMGpsxt0AZzLH6mxglW9KEFOz/x5ZIPylET6hkqjXLVUBpYn1drgqiEcCQn1WhgYDHKkKUg0UqJmyrin0NHXUUvYg9jqfHiv+dPpUCi2yPEhB1FSZTtVZx39B2+UJ10yHv0LMiEnQzwjRXS7ZTuzftqldHJDlkAk3dcfQhYUPBqB1yWS8Ktl38i8RRC3MIdP+Jl53QDGemYFAooDt6RPlKL2zCD+mMDjjMwyhjjo6YMBJ5NkhDPzVuOMe96lk45uQc7ou3xIscybcrmS0CwMOmaP/hLUGJoY64S5oQwCyO0HDQY1DBOZlCQtojYNfdizXmln2kfBQDckLpNfJI+5K/+N6L42nV0wqdglU6Q7jGTkQZ3I6+pKE6WJBEUTmMzNsUhkRvK5fvMTu9bFzr7TJDxQxKbDibiaNwHzBEHQgCTVO0yewkbTB58dPRagpc9RNNlWxkElHn3F4baUsO3UEBV5dZ2l9teVrV+WtZ1DPuCiJzvCcd4OXPvLX7Z/JV7SjjaDPf2kisOAG7ss G6UyG61Q CAQgz6eztD+AemJlGqzeeydIzDfAdsFIswrBk8YF8JlGx3IIMTd7koL7AP0xre/R1HDqGoumhekoNGhQttKzL7uejbckahiCIIGR11/MGgOH+iiTP8LieU5hh4Q7+INGMtXvMHu6hXPyYTu6t9bQ50nMhoO1jcyl1HE/YXOoGPYj+hb2zjpFAghA5Mz7idbYT83JZSt95yA3AMQ0mu4AReyML++9bVdocChAZRxgasNfngQbSVN5dDw7SxqqrI+zpVba/3uBU2X27LkN3CdCsvhGxqal5TXh2stjw X-Bogosity: Ham, tests=bogofilter, spamicity=0.034882, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, Dec 26, 2024 at 5:07=E2=80=AFPM Suren Baghdasaryan wrote: > > On Thu, Dec 26, 2024 at 4:43=E2=80=AFPM Kent Overstreet > wrote: > > > > On Thu, Dec 26, 2024 at 01:16:38PM -0800, Suren Baghdasaryan wrote: > > > When memory allocation profiling is disabled there is no need to upda= te > > > current->alloc_tag and these manipulations add unnecessary overhead. = Fix > > > the overhead by skipping these extra updates. > > > > I did it the other way because I was concerned about the overhead of > > adding a huge number of static keys. But on further thought a static ke= y > > probably isn't any bigger than an alloc tag, no? > > Hmm but a call Sorry, I pressed enter before finishing typing. Is a call to static_branch_maybe() generate a new static key? I thought mem_alloc_profiling_key would be used everywhere but maybe I'm missing something? > > > > > > > > > Fixes: b951aaff5035 ("mm: enable page allocation tagging") > > > Signed-off-by: Suren Baghdasaryan > > > Cc: stable@vger.kernel.org > > > --- > > > include/linux/alloc_tag.h | 11 ++++++++--- > > > lib/alloc_tag.c | 2 ++ > > > 2 files changed, 10 insertions(+), 3 deletions(-) > > > > > > diff --git a/include/linux/alloc_tag.h b/include/linux/alloc_tag.h > > > index 0bbbe537c5f9..a946e0203e6d 100644 > > > --- a/include/linux/alloc_tag.h > > > +++ b/include/linux/alloc_tag.h > > > @@ -224,9 +224,14 @@ static inline void alloc_tag_sub(union codetag_r= ef *ref, size_t bytes) {} > > > > > > #define alloc_hooks_tag(_tag, _do_alloc) = \ > > > ({ = \ > > > - struct alloc_tag * __maybe_unused _old =3D alloc_tag_save(_tag)= ; \ > > > - typeof(_do_alloc) _res =3D _do_alloc; = \ > > > - alloc_tag_restore(_tag, _old); = \ > > > + typeof(_do_alloc) _res; = \ > > > + if (mem_alloc_profiling_enabled()) { = \ > > > + struct alloc_tag * __maybe_unused _old; = \ > > > + _old =3D alloc_tag_save(_tag); = \ > > > + _res =3D _do_alloc; = \ > > > + alloc_tag_restore(_tag, _old); = \ > > > + } else = \ > > > + _res =3D _do_alloc; = \ > > > _res; = \ > > > }) > > > > > > diff --git a/lib/alloc_tag.c b/lib/alloc_tag.c > > > index 7dcebf118a3e..4c373f444eb1 100644 > > > --- a/lib/alloc_tag.c > > > +++ b/lib/alloc_tag.c > > > @@ -29,6 +29,8 @@ EXPORT_SYMBOL(_shared_alloc_tag); > > > > > > DEFINE_STATIC_KEY_MAYBE(CONFIG_MEM_ALLOC_PROFILING_ENABLED_BY_DEFAUL= T, > > > mem_alloc_profiling_key); > > > +EXPORT_SYMBOL(mem_alloc_profiling_key); > > > + > > > DEFINE_STATIC_KEY_FALSE(mem_profiling_compressed); > > > > > > struct alloc_tag_kernel_section kernel_tags =3D { NULL, 0 }; > > > > > > base-commit: 431614f1580a03c1a653340c55ea76bd12a9403f > > > -- > > > 2.47.1.613.gc27f4b7a9f-goog > > >