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 C12D8E77188 for ; Fri, 27 Dec 2024 01:46:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E75C36B007B; Thu, 26 Dec 2024 20:46:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E250A6B0082; Thu, 26 Dec 2024 20:46:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CC5B76B0083; Thu, 26 Dec 2024 20:46:58 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id AD4126B007B for ; Thu, 26 Dec 2024 20:46:58 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 07E8A817D1 for ; Fri, 27 Dec 2024 01:46:58 +0000 (UTC) X-FDA: 82939050012.28.1EB5918 Received: from mail-qt1-f173.google.com (mail-qt1-f173.google.com [209.85.160.173]) by imf09.hostedemail.com (Postfix) with ESMTP id 3347D140010 for ; Fri, 27 Dec 2024 01:46:27 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=UINd698v; spf=pass (imf09.hostedemail.com: domain of surenb@google.com designates 209.85.160.173 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735263976; a=rsa-sha256; cv=none; b=0T50D6swq9iQMHIBygO5TjVEsaq5E3ovipIPV+Ewsdrry416Hua7yAv9ExJ7T5/L08y0V+ 28pCmZ21GiIliVylfqrQkyURad+t3S4yMk8RisF4qI+rcaRun9/1UL0udYSRzGl89P+RS/ qjrXJJVWpByTrXZJxh0lswdbC3pA+rY= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=UINd698v; spf=pass (imf09.hostedemail.com: domain of surenb@google.com designates 209.85.160.173 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=1735263976; 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=cj958brXk80Kh7/Z6yVmIROdSN39RgeOriwd3YqENak=; b=s5KPKecFrIZ3vtWMullMQO6ah//5yPpfGMz5rHPtn92ijUxjNbkDDDtFS4ZJrNKl12so+n bdn2PP90QTRrUCDcnVAC5hL1N3EifP82CI0PNKxgYsvhx23Z+tNCf8T02iLDHXFyNQvwiL 5hbNMtt7qfVGralsg0z1Ih2QcM+WHHg= Received: by mail-qt1-f173.google.com with SMTP id d75a77b69052e-467abce2ef9so1785351cf.0 for ; Thu, 26 Dec 2024 17:46:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1735264015; x=1735868815; 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=cj958brXk80Kh7/Z6yVmIROdSN39RgeOriwd3YqENak=; b=UINd698vhxLU/sg1+YAfp1IgvPV8ZsVtvW3xq7O1RrUMd8w41n8bigkkvZnye5BaeS FUAO01AlZzeAyIw/X1aUpxM8p8IWdUGckMexnntHXKSK5/BmLhP/bPC1TQ8NjeQOAdQe HvObMTyNqnCdKc1CjvxPelVUnjDgy/kwdFNFWGiw/rv96RKyh2+3ZdpJXQBvwUi1A2VM 6cSUsBhG6GmArY1NR+3hT3bgEzo++6frjP9R8l++4N1TQbAlddYm6tO7nH4Er1rRHURY D1xMEhzNgrF0d5XweOqILkWM8Au50x06v/SrVY/PFriwO1Kv+DNezFIX5OLEpaGkpcKC MYzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735264015; x=1735868815; 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=cj958brXk80Kh7/Z6yVmIROdSN39RgeOriwd3YqENak=; b=bFHcRz2dklnEwlu33jawc4+vlUjmw2qtyPBDIUnUBZqGGi7pPozrtKQjHACicFrkIa L0BAfsYZk160HDqCA0OD9aoTwbKmqZ4jccE12Gjb8zXJFknEQtHTSTZbsh3zpAbb8D5h RMUMdKZeJI7Gxl1LJstFiFGuBGr9471hEcAlZNLTQYi/KcRYHvX2WohcpqJQ2CQcgD3N 5OSEIGVXdbf/NgPvmJhOwPPqI1LEDPSjpIqLQczYrbsbQTbdD8b+ushSjs/cYLetVXsI FIk6KuF2IO64j9sx+QmrbDbxrBsVtRuWh2tlYDbbNed008Ugp5E0cGopNeftFSAGHpi6 82cg== X-Forwarded-Encrypted: i=1; AJvYcCVU3Et1FegvKo/ZWlR27g20rtRL8ci4thD4TYx2mCz62w77BN63TmUITWwCbFEguu81nEi41uvwpQ==@kvack.org X-Gm-Message-State: AOJu0YyRRm6UjaeETkJTjUOu3X5wH5LjABdSkeasfpkB8BNUF89v5sLf snyGLX+SwBpPrehWBxL/H3op00n2lqSzeEHM2rcVGgyZAutHqG049fP2SUlCCgrniXrIBP//lPZ HWVkFxlac1yPlF/vP1T+o3SK7coDGTfDA71ii X-Gm-Gg: ASbGncuiaXec/ygJG258NAJZUxriFBROqujkLmoj3RtKS7KA12OE0JpGdw8P3LxE72r 4j8EVgYm0UZAV/kjM9KUlGvqYkE2ZW0TlJFpFBw== X-Google-Smtp-Source: AGHT+IHlbssmCh7lXI2kFApHOjBqOWqRNYeWvudAvWhdof7w+w/uoBJgwpYzKVs99ZpFyli3p7UHaqd3xn+DlwZyE9Q= X-Received: by 2002:ac8:5e51:0:b0:467:5fea:d4c4 with SMTP id d75a77b69052e-46a4c01caa7mr20125561cf.27.1735264015028; Thu, 26 Dec 2024 17:46:55 -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:46:43 -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: 3347D140010 X-Stat-Signature: xwiqodpuee15czoegu9mzq6etjrwk891 X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1735263987-337645 X-HE-Meta: U2FsdGVkX19zgqIGfd0eHjLrcz7RKhEFzId/57hk8RfnXw2b+vhChKcmOjgHtfdz3aNwahvuJtzE3OyBSmIMw6ML14jvDKaMwGlw+7xMZPmh+7CNurlV8xeFa4TWATnSjnddE7Ak9Ytwfr8Z2PV+Z5TArodoEp++ntlfpJofSD3Ou9KafNcwn2rFmb/PKiDQBCNoHoJZpfZ/14g9myMMuBJziBiypWOZZoLszLjJUvJEie2QY424ekdlFuDXIy2ujwK2N3YSbK4NJ8sAMcNaRo9aWAdGsZVk5THZn0BhuwhQstfv06JfLz8xXO0qx2HJwFqRpBl3vbhiCuJq1xXiGRx49lMsN4NvM34ufcrwgmF0M+Q+QAkudjnpV8sZ0jzoSvQxJY7k0sUIRg6/U9CqzFoxhTUMcFPupo4olg9dzS9q1hRs5805r/PiApn/GJwVdXA7TKXIZd21HuTm4NwMq57W63Ys+nh1ehbNL/xXyzCz4JMLA1P59Ex7iUSq845omA0FbrepCC2R5SHaWBjf/hJB8CVlEbC4AJw1ataNkYFZWgxh9Yi4sU4tFjwr0kAT1jyk22sVVhYCAgbigKEu972XAlZmIIPxBgI3KZAvli3ATtcUrFKbkU+pNWXh2Vs0lbiGq3l38dCwbp/iFSMCFvrfrp+ltigGZoLfKxx8BkHAC2VtWC3OKLfiHC0DUDwj6wajji8rc6vTJRQVL3Au0qzx7ONE4BSi6vXSHVrMH+j8oRp2MNoe6sd4AEaQsPTHNCzmyNhM6r9DKGzcK5rk9JJvAtT/3oE1H7T5MgzqABj76YI149hLOiBpaFLftVdSdqw/xITNtZtg55QTlaSw7gaHUzt0r6VoOcp3Kfpr3J9asvx9WPRQbzSvlmZx569dP/TZ+/vGqMonzxdTY+SzF1tOXmfsl2vJsEFhGEg9eE9PPkPrmJkxkDO+mkaQFoSi1sJYMydnRcCv1laQFDg f1OhoQm/ kYNqMDTMrgfNUNqBddr67RuCnQC7XBJZDCw/dK2VAcy8JCGKAf+LX0XppSALMawgFuZG64ZOg3cpj5jjA4suv+2f6c77etQ9r8lpq/xxSFzWi9YuGkPP5ZeDKcCx5ZD4qtlRYKA1WJWeDQE5sdhuSkHbN2SgDoLkIRpz9EZQL9bfT8soDyf4wsqWZP0aGD5OsKcXyOTuN/gW2QPIkdW+vSuZXoJWqWqO5Tjo/+8+06Aj0EIy6E7dIVMQaYcmWruQwSp2DF/6vHJSX3EuKzd8107RQcVC2pDiNb+gQ X-Bogosity: Ham, tests=bogofilter, spamicity=0.000018, 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:09=E2=80=AFPM Suren Baghdasaryan wrote: > > 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 up= date > > > > 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 = key > > > 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? Or maybe you meant the NoOp/Jump generated for a static_branch ? > > > > > > > > > > > > > > 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= _ref *ref, size_t bytes) {} > > > > > > > > #define alloc_hooks_tag(_tag, _do_alloc) = \ > > > > ({ = \ > > > > - struct alloc_tag * __maybe_unused _old =3D alloc_tag_save(_ta= g); \ > > > > - 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_DEFA= ULT, > > > > 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 > > > >