linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Suren Baghdasaryan <surenb@google.com>
To: Mike Rapoport <rppt@kernel.org>
Cc: David Hildenbrand <david@redhat.com>, Hao Ge <hao.ge@linux.dev>,
	 Andrew Morton <akpm@linux-foundation.org>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	 "Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Vlastimil Babka <vbabka@suse.cz>,
	 Richard Henderson <richard.henderson@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	 Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>,
	Christoph Lameter <cl@linux.com>,
	 Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	 Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	 Sven Schnelle <svens@linux.ibm.com>,
	Kent Overstreet <kent.overstreet@linux.dev>,
	linux-mm@kvack.org,  linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,  linux-s390@vger.kernel.org,
	Hao Ge <gehao@kylinos.cn>
Subject: Re: [PATCH v3 1/2] mm: Optimize the ARCH_NEEDS_WEAK_PER_CPU logic for s390/alpha architectures
Date: Mon, 16 Jun 2025 16:49:38 -0700	[thread overview]
Message-ID: <CAJuCfpFOw+b_U8CiBpjm-4ehm-mGY5fRO8M-YiQ2PqvShCV04A@mail.gmail.com> (raw)
In-Reply-To: <aE_b5X7NmOd5-SC5@kernel.org>

On Mon, Jun 16, 2025 at 1:55 AM Mike Rapoport <rppt@kernel.org> wrote:
>
> On Mon, Jun 16, 2025 at 09:59:09AM +0200, David Hildenbrand wrote:
> > On 16.06.25 04:29, Hao Ge wrote:
> > > From: Hao Ge <gehao@kylinos.cn>
> >
> > subject is misleading: we are not optimizing anything in this patch, do we?
> >
> > It should probably be called
> >
> > "mm/percpu: rename ARCH_NEEDS_WEAK_PER_CPU to MODULE_NEED_WEAK_PER_CPU" or
> > sth. like that.
> >
> >
> > > Add the ARCH_NEEDS_WEAK_PER_CPU option to the mm Kconfig file
> > > and enable it for the s390 and alpha architectures.
> > > And replace all instances of ARCH_NEEDS_WEAK_PER_CPU
> > > in the kernel code with MODULE_NEEDS_WEAK_PER_CPU.
> >
> > Most of the description here should likely go to patch #2. See below.
>
> ...
>
> > So what you could do is move the actual introduction of
> > CONFIG_ARCH_NEEDS_WEAK_PER_CPU to patch #2, where it is actually used, and
> > limit this patch to the rename.
> >
> > Similarly, teak the patch description to reflect only that.
>
> Right, if the patch only renames ARCH_NEEDS_WEAK_PER_CPU to
> MODULE_NEEDS_WEAK_PER_CPU the description can be as simple as
>
> mm/percpu: rename ARCH_NEEDS_WEAK_PER_CPU to MODULE_NEEDS_WEAK_PER_CPU
>
> as a preparation for introduction of CONFIG_ARCH_NEEDS_WEAK_PER_CPU.
> No functional changes.

Yeah, the title is misleading and the description is too complicated.

Mike's suggested title sounds better to me and for description I would
say something like:

ARCH_NEEDS_WEAK_PER_CPU is currently defined only for modules and
therefore fails to represent requirements of the architecture. This
prevents us using it for conditions which are applicable when building
both modules and the kernel. To handle such conditions, make it a
Kconfig option and add MODULE_NEEDS_WEAK_PER_CPU for the cases when
the condition applies only to modules.

And now that I'm looking at the change I realize that we probably
don't even need a separate MODULE_NEEDS_WEAK_PER_CPU. It will be used
only in one place and can be replaced with:

#if defined(CONFIG_ARCH_NEEDS_WEAK_PER_CPU) && defined(MODULE)

The code inside arch/{alpha|s390}/include/asm/percpu.h that defines
MODULE_NEEDS_WEAK_PER_CPU can be completely removed and in
arch/alpha/Kconfig you can have:

select ARCH_NEEDS_WEAK_PER_CPU if CONFIG_SMP

to preserve CONFIG_SMP dependency.
That seems to me like a nicer cleanup.

>
> > --
> > Cheers,
> >
> > David / dhildenb
> >
>
> --
> Sincerely yours,
> Mike.


  reply	other threads:[~2025-06-16 23:49 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-16  2:29 [PATCH v3 0/2] mm: Restrict the static definition of the per-CPU variable _shared_alloc_tag to s390 and alpha architectures only Hao Ge
2025-06-16  2:29 ` [PATCH v3 1/2] mm: Optimize the ARCH_NEEDS_WEAK_PER_CPU logic for s390/alpha architectures Hao Ge
2025-06-16  3:13   ` Matthew Wilcox
2025-06-16  3:40     ` Kent Overstreet
2025-06-16  7:59   ` David Hildenbrand
2025-06-16  8:55     ` Mike Rapoport
2025-06-16 23:49       ` Suren Baghdasaryan [this message]
2025-06-16  2:29 ` [PATCH v3 2/2] mm/alloc_tag: add the CONFIG_ARCH_NEEDS_WEAK_PER_CPU macro when statically defining the percpu variable _shared_alloc_tag Hao Ge

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJuCfpFOw+b_U8CiBpjm-4ehm-mGY5fRO8M-YiQ2PqvShCV04A@mail.gmail.com \
    --to=surenb@google.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=agordeev@linux.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=borntraeger@linux.ibm.com \
    --cc=cl@linux.com \
    --cc=david@redhat.com \
    --cc=dennis@kernel.org \
    --cc=gehao@kylinos.cn \
    --cc=gor@linux.ibm.com \
    --cc=hao.ge@linux.dev \
    --cc=hca@linux.ibm.com \
    --cc=kent.overstreet@linux.dev \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=mattst88@gmail.com \
    --cc=richard.henderson@linaro.org \
    --cc=rppt@kernel.org \
    --cc=svens@linux.ibm.com \
    --cc=tj@kernel.org \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox