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 D2DDEE77188 for ; Fri, 27 Dec 2024 01:07:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 493976B007B; Thu, 26 Dec 2024 20:07:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 442086B0082; Thu, 26 Dec 2024 20:07:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 30A236B0083; Thu, 26 Dec 2024 20:07:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 0DC1B6B007B for ; Thu, 26 Dec 2024 20:07:25 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id B11E51A027C for ; Fri, 27 Dec 2024 01:07:24 +0000 (UTC) X-FDA: 82938950346.28.B070D9A Received: from mail-qt1-f175.google.com (mail-qt1-f175.google.com [209.85.160.175]) by imf14.hostedemail.com (Postfix) with ESMTP id 060A8100012 for ; Fri, 27 Dec 2024 01:06:35 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=gAPMHenD; spf=pass (imf14.hostedemail.com: domain of surenb@google.com designates 209.85.160.175 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=1735261603; a=rsa-sha256; cv=none; b=Hndpz7XEuxPULh4N67Yba3ZAezmPEprUS+c9erfV7J2phO8jnUpUvTmYl2xJ4/Kz1PA5YU LsrIMdBxw6ulDVZGC/cU1X5qvm7LCZIjehSrftLTICl7IskImj7z2w37uatWUb0pLa59aY OOgnKG0gC8G8XJfNrjUdaaOCXgQJHiM= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=gAPMHenD; spf=pass (imf14.hostedemail.com: domain of surenb@google.com designates 209.85.160.175 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=1735261603; 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=st3/bns3WYTDrd0GGEQPTUGbHFXt16zLAdKuDAnBvV8=; b=rPG+Rz3pKxlNAHsp6MFLDdHSfeMIB6QrIr1ecqXdoQjGgjNwx+OyI2j/zD0ixiHrJ8PGVd xiOy8oERuNR8Tj4ofgv5ZRqdE+KMBm8lsvn+I4A1h2h1i7rW9wpN1nC/iUz1KDdDwRxl0E wa4eHT6CS+loEO3zJnJlOTEJf8J7R+o= Received: by mail-qt1-f175.google.com with SMTP id d75a77b69052e-467abce2ef9so1778221cf.0 for ; Thu, 26 Dec 2024 17:07:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1735261642; x=1735866442; 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=st3/bns3WYTDrd0GGEQPTUGbHFXt16zLAdKuDAnBvV8=; b=gAPMHenD977GtsxWZpNEgahQbyewfH8dJCGd0gHQDTwRJ0fpHbFyFkV3iBWfnyoq28 Dvbnj+LboGrWycqqIwuJDXMhKLV7iiP0hnyjL8X74MYvRDGJPTbAoUxIaa7h5L9nnKEj CkryKMPiyzE+1zWjbLSvJhtRsDgyHtmyTK+XYuv043csVcSaN1E1n81dSapPgGpWm7W+ US7kPR1HTTjpUqMnL64SmYJ7QjRU1xCOEo8aQVBpL18Kyz8YF4XiKZ50QbxJFB0M7z6R zT1Hyo8FThZIenpSylXfIwrNbCNQKomtET17FKnSYVToFKl7eMppReXZuSVd/8CVQwlF ussA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735261642; x=1735866442; 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=st3/bns3WYTDrd0GGEQPTUGbHFXt16zLAdKuDAnBvV8=; b=geKq2LQN+xhPN9UREMyX7gTYb7oIPeL77PC0i+w82QvvT7y+VmZ6mquHAnLX0yPiw2 wZthA/rZjME7OycBDVFXrvfa7B/aJNDLE7n6ZOZkI2sQwt99BePBwVUQ1u8MBoHRYJmZ GAytNDrvIsNMbz3KjVmo6GgGotrmcllo8qj3GF4mNw8uVsMexCq+cMKE3zvf8iwpkhk/ HIlFIMGhaRMzEfTq/QEaV9WVDpR0lWTszOyjMRg0M9+SY8linJDrCIAtHZDcPTPke3eL nJ5xEdDxTvkBHUSnjbOECprXABriJq7zoDcoPxZQQXS2weDyeZqYhgljFTZTTF+av1fW 2KkQ== X-Forwarded-Encrypted: i=1; AJvYcCVBB//uhUfjaaP6+ePS8Y1GvpmwmKw/n8+ugdj8mZhzt5Zwq2zd/pg5CnugryOAZMW19tjF5TiguQ==@kvack.org X-Gm-Message-State: AOJu0YwYUtqA8AS1pYnm55nODu3MmQtVFtAxdAAf7B/dWlsIrzBcIBdb FHliFIyC+8EnoHfGjSkZIQZ3+tA6AyYE6DiVuvWBmVPli5aXVhEt70JYeCkRobMDJUbnrjfarbr WcJIuD+/4i3J6zZ9URyFFfAmZrYrbtHYbIQGa X-Gm-Gg: ASbGncuKFtQiKXVDUB45bZGl6vM8cy8fqxzRn812qFV2qzZX2F5/2das2D0SuFEos2h iBZOjOkPT+4rFodS7Gs50rENfKXM0i4c2m3ix8A== X-Google-Smtp-Source: AGHT+IFuKDIpf2iayr88l8W8TD9fETDSZSKIHR0ROgVNCDFGcuGsDjkgjuuGUrrYMWn8pxC6Qy5h1DCbwmX+653/AnA= X-Received: by 2002:a05:622a:130a:b0:466:975f:b219 with SMTP id d75a77b69052e-46a4a8d36b5mr19947121cf.8.1735261641820; Thu, 26 Dec 2024 17:07:21 -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:07:10 -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: 060A8100012 X-Stat-Signature: 9ry7r8qsmtd7bix5ock9ag3n5a6j148s X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1735261595-448013 X-HE-Meta: U2FsdGVkX19P1aC9tdsIhj/YtzQexECrgKqJXPuWEYzLq5GLIQhQ4b4B+akzL6NQALYguJtQhj9Dv+jpin65lxLBgNyvX0bdXGoXgDkBCff6qpipejxt6pkVyiyC++BThStefiyMNyRw2koPWuQY/dWft+whKC4kjtU84fy5ANOficUE7Da+JT0OsQFf/stqQGo/Tk+bMKK0gUGCTkd+AsgTGj/KjBkmwZufJ7+8hiQeZ7ZRlGs43i8xEuIK+Iok7Xdhqf3BAYhWcpnNeXRXxi2CycoVkiGTVvGj2+87W73RENCl1PoUG6UKp0KOLiKdRIVPAm4QyZkBUdguYfKwrHfnG4rDmcyck+SxTV8QyD32LNntRiTQukV79r35YorGkOyP5AJnGUlC18Ii13gKIda6Uja9RrbCfbbniRCN4A3cOM1bxGHE39WLloQO+7XB2loIE/B0qwt6YOaYiYRpe1jZr9O5olM/5O350vfI2tvgOA3HjbWWhjSBmD3divUPKDlsJALxEXeQ7+Ek/q7nqhsnvDg6iUT3v102prKPlUKdqbDd5/8tRr+jsoOD1emT2DDnzBmF4hN8oVZVzrYlttZlQ8Hn9uhlKbUz6P2G1VlN4npVykoIlVUKGol+Ja3U6wnYxdujg+srFfWKcKrxtTFwT1/KmS71j2GTGaoa6OjFoCbuLBAY+9d8S7Fu37V0+ka6r8IkFfsij/7uHDiAo83RiveIF1Xb2KwpL3jsctw+ZcgwD/P0vyG7v9KZGMnGj2kD2HYO2W7Yh2ehxiWJWhuvdfFyeLJ4GWuU1x84in2J/2PAUIeJq5NVrCiDnLDZ+hiqXX5gs2HZ8bX53ws3GIIcfipI6RlVDYxP/ajuhyuPZGgIS/XZEZ1BbFY98C6HMNm61RpKk1SdQjfS/o+GEEKPkIlE45ygiGvC0QpdjJX4PdzCYwc7cUzWmBMgYM7joWff3q1esDYOrri7vW+ 29op5uYI XqGdeWnMqh7oKGxPWU/9EiieFuwv2/QL4X7zF5JvJv49jlGvQT+sJgDgzpsUGgXHLs9XKuU59JsWM774+aD6Jg+M06YJG3sY+gK8K2nBT4cDOKlBvpSh6i3aCL7FsvP5aM1X3eYcOzeDAZvXkL9s1bKqFMjz4XI70YrWxbUaJJdC0iO3aoKwzha6S5mRqPnIJsyAKJi0b/4Ahf3pmYf/z5TigMmQuADLgUIGmsfHVex4iQU3iOu9ZcPoXt0so6bPvppyYQONVzpMDF+KSpmM7/nc3m1+sqlYeDhN0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.012372, 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 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 update > > current->alloc_tag and these manipulations add unnecessary overhead. Fi= x > > 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 > > > > > 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(_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_DEFAULT, > > 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 > >