[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210226040708.GA1427525@yury-ThinkPad>
Date: Thu, 25 Feb 2021 20:07:08 -0800
From: Yury Norov <yury.norov@...il.com>
To: Huacai Chen <chenhuacai@...nel.org>
Cc: Will Deacon <will@...nel.org>,
Catalin Marinas <catalin.marinas@....com>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Alexander Lobakin <alobakin@...me>,
Alexey Klimov <aklimov@...hat.com>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
LKML <linux-kernel@...r.kernel.org>, linux-arch@...r.kernel.org,
"open list:MIPS" <linux-mips@...r.kernel.org>
Subject: Re: [PATCH 2/2] MIPS: enable GENERIC_FIND_FIRST_BIT
On Fri, Feb 26, 2021 at 09:22:18AM +0800, Huacai Chen wrote:
> Hi, Yury,
>
> On Thu, Feb 25, 2021 at 9:59 PM Yury Norov <yury.norov@...il.com> wrote:
> >
> > From: Alexander Lobakin <alobakin@...me>
> >
> > MIPS doesn't have architecture-optimized bitsearching functions,
> > like find_{first,next}_bit() etc.
> Emm, I think MIPS can use clo/clz to optimize bitsearching functions.
find_{first,next}_bit() is about manipulating the bitmaps bigger that
a single word, and some arches (arm) implement their own find_bit()
functions. find_bit() is not a replacement of __ffs() and ffz().
> Huacai
>
> > It's absolutely harmless to enable GENERIC_FIND_FIRST_BIT as this
> > functionality is not new at all and well-tested. It provides more
> > optimized code and saves some .text memory (32 R2):
> >
> > add/remove: 4/1 grow/shrink: 1/53 up/down: 216/-372 (-156)
> >
> > Users of for_each_set_bit() like hotpath gic_handle_shared_int()
> > will also benefit from this.
> >
> > Suggested-by: Yury Norov <yury.norov@...il.com>
> > Signed-off-by: Alexander Lobakin <alobakin@...me>
> > Signed-off-by: Yury Norov <yury.norov@...il.com>
> > ---
> > arch/mips/Kconfig | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> > index d89efba3d8a4..164bdd715d4b 100644
> > --- a/arch/mips/Kconfig
> > +++ b/arch/mips/Kconfig
> > @@ -26,6 +26,7 @@ config MIPS
> > select GENERIC_ATOMIC64 if !64BIT
> > select GENERIC_CMOS_UPDATE
> > select GENERIC_CPU_AUTOPROBE
> > + select GENERIC_FIND_FIRST_BIT
> > select GENERIC_GETTIMEOFDAY
> > select GENERIC_IOMAP
> > select GENERIC_IRQ_PROBE
> > --
> > 2.25.1
> >
Powered by blists - more mailing lists