All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yury Norov <yury.norov@gmail.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
	Andy Gross <agross@kernel.org>, David Airlie <airlied@linux.ie>,
	Alexey Klimov <aklimov@redhat.com>,
	Andi Kleen <ak@linux.intel.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Amitkumar Karwar <amitkarwar@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Andy Shevchenko <andy@infradead.org>,
	Anup Patel <anup.patel@wdc.com>, Ard Biesheuvel <ardb@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>, Jens Axboe <axboe@fb.com>,
	bcm-kernel-feedback-list@broadcom.com,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christoph Lameter <cl@linux.com>, Daniel Vetter <daniel@ffwll.ch>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Laight <David.Laight@ACULAB.COM>,
	Dennis Zhou <dennis@kernel.org>,
	Dinh Nguyen <dinguyen@kernel.org>,
	Geetha sowjanya <gakula@marvell.com>
Subject: Re: [PATCH 0/9] lib/bitmap: optimize bitmap_weight() usage
Date: Sun, 28 Nov 2021 15:36:27 -0800	[thread overview]
Message-ID: <20211128233627.GA323159@lapt> (raw)
In-Reply-To: <1638096766.3elxdzb8ly.astroid@bobo.none>

On Sun, Nov 28, 2021 at 09:08:41PM +1000, Nicholas Piggin wrote:
> Excerpts from Yury Norov's message of November 28, 2021 1:56 pm:
> > In many cases people use bitmap_weight()-based functions like this:
> > 
> > 	if (num_present_cpus() > 1)
> > 		do_something();
> > 
> > This may take considerable amount of time on many-cpus machines because
> > num_present_cpus() will traverse every word of underlying cpumask
> > unconditionally.
> > 
> > We can significantly improve on it for many real cases if stop traversing
> > the mask as soon as we count present cpus to any number greater than 1:
> > 
> > 	if (num_present_cpus_gt(1))
> > 		do_something();
> > 
> > To implement this idea, the series adds bitmap_weight_{eq,gt,le}
> > functions together with corresponding wrappers in cpumask and nodemask.
> 
> There would be no change to callers if you maintain counters like what
> is done for num_online_cpus() today. Maybe some fixes to arch code that
> does not use set_cpu_possible() etc APIs required, but AFAIKS it would
> be better to fix such cases anyway.

Thanks, Nick. I'll try to do this.

WARNING: multiple messages have this Message-ID (diff)
From: Yury Norov <yury.norov@gmail.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
	Andy Gross <agross@kernel.org>, David Airlie <airlied@linux.ie>,
	Alexey Klimov <aklimov@redhat.com>,
	Andi Kleen <ak@linux.intel.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Amitkumar Karwar <amitkarwar@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Andy Shevchenko <andy@infradead.org>,
	Anup Patel <anup.patel@wdc.com>, Ard Biesheuvel <ardb@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>, Jens Axboe <axboe@fb.com>,
	bcm-kernel-feedback-list@broadcom.com,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christoph Lameter <cl@linux.com>, Daniel Vetter <daniel@ffwll.ch>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Laight <David.Laight@ACULAB.COM>,
	Dennis Zhou <dennis@kernel.org>,
	Dinh Nguyen <dinguyen@kernel.org>,
	Geetha sowjanya <gakula@marvell.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Guo Ren <guoren@kernel.org>, Heiko Carstens <hca@linux.ibm.com>,
	Christoph Hellwig <hch@lst.de>,
	Hans de Goede <hdegoede@redhat.com>,
	Ian Rogers <irogers@google.com>,
	Jason Wessel <jason.wessel@windriver.com>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	Jonathan Cameron <jic23@kernel.org>, Jiri Olsa <jolsa@redhat.com>,
	Juri Lelli <juri.lelli@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Kalle Valo <kvalo@codeaurora.org>,
	kvm@vger.kernel.org, Lee Jones <lee.jones@linaro.org>,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Russell King <linux@armlinux.org.uk>,
	linux-crypto@vger.kernel.org, linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-mm@kvack.org,
	linux-perf-users@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-snps-arc@lists.infradead.org,
	Andy Lutomirski <luto@kernel.org>,
	Mark Gross <markgross@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Marc Zyngier <maz@kernel.org>,
	Matti Vaittinen <mazziesaccount@gmail.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Mel Gorman <mgorman@suse.de>,
	Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>,
	Ingo Molnar <mingo@redhat.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Marcin Wojtas <mw@semihalf.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Solomon Peachy <pizza@shaftnet.org>,
	Petr Mladek <pmladek@suse.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Roy Pledge <Roy.Pledge@nxp.com>,
	Saeed Mahameed <saeedm@nvidia.com>,
	Sagi Grimberg <sagi@grimberg.me>,
	Subbaraya Sundeep <sbhatta@marvell.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Sunil Goutham <sgoutham@marvell.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Tariq Toukan <tariqt@nvidia.com>,
	Thomas Gleixner <tglx@linutronix.de>, Tejun Heo <tj@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Vineet Gupta <vgupta@kernel.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Will Deacon <will@kernel.org>
Subject: Re: [PATCH 0/9] lib/bitmap: optimize bitmap_weight() usage
Date: Sun, 28 Nov 2021 15:36:27 -0800	[thread overview]
Message-ID: <20211128233627.GA323159@lapt> (raw)
In-Reply-To: <1638096766.3elxdzb8ly.astroid@bobo.none>

On Sun, Nov 28, 2021 at 09:08:41PM +1000, Nicholas Piggin wrote:
> Excerpts from Yury Norov's message of November 28, 2021 1:56 pm:
> > In many cases people use bitmap_weight()-based functions like this:
> > 
> > 	if (num_present_cpus() > 1)
> > 		do_something();
> > 
> > This may take considerable amount of time on many-cpus machines because
> > num_present_cpus() will traverse every word of underlying cpumask
> > unconditionally.
> > 
> > We can significantly improve on it for many real cases if stop traversing
> > the mask as soon as we count present cpus to any number greater than 1:
> > 
> > 	if (num_present_cpus_gt(1))
> > 		do_something();
> > 
> > To implement this idea, the series adds bitmap_weight_{eq,gt,le}
> > functions together with corresponding wrappers in cpumask and nodemask.
> 
> There would be no change to callers if you maintain counters like what
> is done for num_online_cpus() today. Maybe some fixes to arch code that
> does not use set_cpu_possible() etc APIs required, but AFAIKS it would
> be better to fix such cases anyway.

Thanks, Nick. I'll try to do this.

WARNING: multiple messages have this Message-ID (diff)
From: Yury Norov <yury.norov@gmail.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
	Andy Gross <agross@kernel.org>, David Airlie <airlied@linux.ie>,
	Alexey Klimov <aklimov@redhat.com>,
	Andi Kleen <ak@linux.intel.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Amitkumar Karwar <amitkarwar@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Andy Shevchenko <andy@infradead.org>,
	Anup Patel <anup.patel@wdc.com>, Ard Biesheuvel <ardb@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>, Jens Axboe <axboe@fb.com>,
	bcm-kernel-feedback-list@broadcom.com,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christoph Lameter <cl@linux.com>, Daniel Vetter <daniel@ffwll.ch>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Laight <David.Laight@ACULAB.COM>,
	Dennis Zhou <dennis@kernel.org>,
	Dinh Nguyen <dinguyen@kernel.org>,
	Geetha sowjanya <gakula@marvell.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Guo Ren <guoren@kernel.org>, Heiko Carstens <hca@linux.ibm.com>,
	Christoph Hellwig <hch@lst.de>,
	Hans de Goede <hdegoede@redhat.com>,
	Ian Rogers <irogers@google.com>,
	Jason Wessel <jason.wessel@windriver.com>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	Jonathan Cameron <jic23@kernel.org>, Jiri Olsa <jolsa@redhat.com>,
	Juri Lelli <juri.lelli@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Kalle Valo <kvalo@codeaurora.org>,
	kvm@vger.kernel.org, Lee Jones <lee.jones@linaro.org>,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Russell King <linux@armlinux.org.uk>,
	linux-crypto@vger.kernel.org, linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-mm@kvack.org,
	linux-perf-users@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-snps-arc@lists.infradead.org,
	Andy Lutomirski <luto@kernel.org>,
	Mark Gross <markgross@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Marc Zyngier <maz@kernel.org>,
	Matti Vaittinen <mazziesaccount@gmail.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Mel Gorman <mgorman@suse.de>,
	Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>,
	Ingo Molnar <mingo@redhat.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Marcin Wojtas <mw@semihalf.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Solomon Peachy <pizza@shaftnet.org>,
	Petr Mladek <pmladek@suse.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Roy Pledge <Roy.Pledge@nxp.com>,
	Saeed Mahameed <saeedm@nvidia.com>,
	Sagi Grimberg <sagi@grimberg.me>,
	Subbaraya Sundeep <sbhatta@marvell.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Sunil Goutham <sgoutham@marvell.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Tariq Toukan <tariqt@nvidia.com>,
	Thomas Gleixner <tglx@linutronix.de>, Tejun Heo <tj@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Vineet Gupta <vgupta@kernel.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Will Deacon <will@kernel.org>
Subject: Re: [PATCH 0/9] lib/bitmap: optimize bitmap_weight() usage
Date: Sun, 28 Nov 2021 23:36:27 +0000	[thread overview]
Message-ID: <20211128233627.GA323159@lapt> (raw)
In-Reply-To: <1638096766.3elxdzb8ly.astroid@bobo.none>

On Sun, Nov 28, 2021 at 09:08:41PM +1000, Nicholas Piggin wrote:
> Excerpts from Yury Norov's message of November 28, 2021 1:56 pm:
> > In many cases people use bitmap_weight()-based functions like this:
> > 
> > 	if (num_present_cpus() > 1)
> > 		do_something();
> > 
> > This may take considerable amount of time on many-cpus machines because
> > num_present_cpus() will traverse every word of underlying cpumask
> > unconditionally.
> > 
> > We can significantly improve on it for many real cases if stop traversing
> > the mask as soon as we count present cpus to any number greater than 1:
> > 
> > 	if (num_present_cpus_gt(1))
> > 		do_something();
> > 
> > To implement this idea, the series adds bitmap_weight_{eq,gt,le}
> > functions together with corresponding wrappers in cpumask and nodemask.
> 
> There would be no change to callers if you maintain counters like what
> is done for num_online_cpus() today. Maybe some fixes to arch code that
> does not use set_cpu_possible() etc APIs required, but AFAIKS it would
> be better to fix such cases anyway.

Thanks, Nick. I'll try to do this.

WARNING: multiple messages have this Message-ID (diff)
From: Yury Norov <yury.norov@gmail.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
	Andy Gross <agross@kernel.org>, David Airlie <airlied@linux.ie>,
	Alexey Klimov <aklimov@redhat.com>,
	Andi Kleen <ak@linux.intel.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Amitkumar Karwar <amitkarwar@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Andy Shevchenko <andy@infradead.org>,
	Anup Patel <anup.patel@wdc.com>, Ard Biesheuvel <ardb@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>, Jens Axboe <axboe@fb.com>,
	bcm-kernel-feedback-list@broadcom.com,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christoph Lameter <cl@linux.com>, Daniel Vetter <daniel@ffwll.ch>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Laight <David.Laight@ACULAB.COM>,
	Dennis Zhou <dennis@kernel.org>,
	Dinh Nguyen <dinguyen@kernel.org>,
	Geetha sowjanya <gakula@marvell.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Guo Ren <guoren@kernel.org>, Heiko Carstens <hca@linux.ibm.com>,
	Christoph Hellwig <hch@lst.de>,
	Hans de Goede <hdegoede@redhat.com>,
	Ian Rogers <irogers@google.com>,
	Jason Wessel <jason.wessel@windriver.com>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	Jonathan Cameron <jic23@kernel.org>, Jiri Olsa <jolsa@redhat.com>,
	Juri Lelli <juri.lelli@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Kalle Valo <kvalo@codeaurora.org>,
	kvm@vger.kernel.org, Lee Jones <lee.jones@linaro.org>,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Russell King <linux@armlinux.org.uk>,
	linux-crypto@vger.kernel.org, linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-mm@kvack.org,
	linux-perf-users@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-snps-arc@lists.infradead.org,
	Andy Lutomirski <luto@kernel.org>,
	Mark Gross <markgross@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Marc Zyngier <maz@kernel.org>,
	Matti Vaittinen <mazziesaccount@gmail.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Mel Gorman <mgorman@suse.de>,
	Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>,
	Ingo Molnar <mingo@redhat.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Marcin Wojtas <mw@semihalf.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Solomon Peachy <pizza@shaftnet.org>,
	Petr Mladek <pmladek@suse.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Roy Pledge <Roy.Pledge@nxp.com>,
	Saeed Mahameed <saeedm@nvidia.com>,
	Sagi Grimberg <sagi@grimberg.me>,
	Subbaraya Sundeep <sbhatta@marvell.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Sunil Goutham <sgoutham@marvell.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Tariq Toukan <tariqt@nvidia.com>,
	Thomas Gleixner <tglx@linutronix.de>, Tejun Heo <tj@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Vineet Gupta <vgupta@kernel.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Will Deacon <will@kernel.org>
Subject: Re: [PATCH 0/9] lib/bitmap: optimize bitmap_weight() usage
Date: Sun, 28 Nov 2021 15:36:27 -0800	[thread overview]
Message-ID: <20211128233627.GA323159@lapt> (raw)
In-Reply-To: <1638096766.3elxdzb8ly.astroid@bobo.none>

On Sun, Nov 28, 2021 at 09:08:41PM +1000, Nicholas Piggin wrote:
> Excerpts from Yury Norov's message of November 28, 2021 1:56 pm:
> > In many cases people use bitmap_weight()-based functions like this:
> > 
> > 	if (num_present_cpus() > 1)
> > 		do_something();
> > 
> > This may take considerable amount of time on many-cpus machines because
> > num_present_cpus() will traverse every word of underlying cpumask
> > unconditionally.
> > 
> > We can significantly improve on it for many real cases if stop traversing
> > the mask as soon as we count present cpus to any number greater than 1:
> > 
> > 	if (num_present_cpus_gt(1))
> > 		do_something();
> > 
> > To implement this idea, the series adds bitmap_weight_{eq,gt,le}
> > functions together with corresponding wrappers in cpumask and nodemask.
> 
> There would be no change to callers if you maintain counters like what
> is done for num_online_cpus() today. Maybe some fixes to arch code that
> does not use set_cpu_possible() etc APIs required, but AFAIKS it would
> be better to fix such cases anyway.

Thanks, Nick. I'll try to do this.

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Yury Norov <yury.norov@gmail.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
	Andy Gross <agross@kernel.org>, David Airlie <airlied@linux.ie>,
	Alexey Klimov <aklimov@redhat.com>,
	Andi Kleen <ak@linux.intel.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Amitkumar Karwar <amitkarwar@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Andy Shevchenko <andy@infradead.org>,
	Anup Patel <anup.patel@wdc.com>, Ard Biesheuvel <ardb@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>, Jens Axboe <axboe@fb.com>,
	bcm-kernel-feedback-list@broadcom.com,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christoph Lameter <cl@linux.com>, Daniel Vetter <daniel@ffwll.ch>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Laight <David.Laight@ACULAB.COM>,
	Dennis Zhou <dennis@kernel.org>,
	Dinh Nguyen <dinguyen@kernel.org>,
	Geetha sowjanya <gakula@marvell.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Guo Ren <guoren@kernel.org>, Heiko Carstens <hca@linux.ibm.com>,
	Christoph Hellwig <hch@lst.de>,
	Hans de Goede <hdegoede@redhat.com>,
	Ian Rogers <irogers@google.com>,
	Jason Wessel <jason.wessel@windriver.com>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	Jonathan Cameron <jic23@kernel.org>, Jiri Olsa <jolsa@redhat.com>,
	Juri Lelli <juri.lelli@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Kalle Valo <kvalo@codeaurora.org>,
	kvm@vger.kernel.org, Lee Jones <lee.jones@linaro.org>,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Russell King <linux@armlinux.org.uk>,
	linux-crypto@vger.kernel.org, linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-mm@kvack.org,
	linux-perf-users@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-snps-arc@lists.infradead.org,
	Andy Lutomirski <luto@kernel.org>,
	Mark Gross <markgross@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Marc Zyngier <maz@kernel.org>,
	Matti Vaittinen <mazziesaccount@gmail.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Mel Gorman <mgorman@suse.de>,
	Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>,
	Ingo Molnar <mingo@redhat.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Marcin Wojtas <mw@semihalf.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Solomon Peachy <pizza@shaftnet.org>,
	Petr Mladek <pmladek@suse.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Roy Pledge <Roy.Pledge@nxp.com>,
	Saeed Mahameed <saeedm@nvidia.com>,
	Sagi Grimberg <sagi@grimberg.me>,
	Subbaraya Sundeep <sbhatta@marvell.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Sunil Goutham <sgoutham@marvell.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Tariq Toukan <tariqt@nvidia.com>,
	Thomas Gleixner <tglx@linutronix.de>, Tejun Heo <tj@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Vineet Gupta <vgupta@kernel.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Will Deacon <will@kernel.org>
Subject: Re: [PATCH 0/9] lib/bitmap: optimize bitmap_weight() usage
Date: Sun, 28 Nov 2021 15:36:27 -0800	[thread overview]
Message-ID: <20211128233627.GA323159@lapt> (raw)
In-Reply-To: <1638096766.3elxdzb8ly.astroid@bobo.none>

On Sun, Nov 28, 2021 at 09:08:41PM +1000, Nicholas Piggin wrote:
> Excerpts from Yury Norov's message of November 28, 2021 1:56 pm:
> > In many cases people use bitmap_weight()-based functions like this:
> > 
> > 	if (num_present_cpus() > 1)
> > 		do_something();
> > 
> > This may take considerable amount of time on many-cpus machines because
> > num_present_cpus() will traverse every word of underlying cpumask
> > unconditionally.
> > 
> > We can significantly improve on it for many real cases if stop traversing
> > the mask as soon as we count present cpus to any number greater than 1:
> > 
> > 	if (num_present_cpus_gt(1))
> > 		do_something();
> > 
> > To implement this idea, the series adds bitmap_weight_{eq,gt,le}
> > functions together with corresponding wrappers in cpumask and nodemask.
> 
> There would be no change to callers if you maintain counters like what
> is done for num_online_cpus() today. Maybe some fixes to arch code that
> does not use set_cpu_possible() etc APIs required, but AFAIKS it would
> be better to fix such cases anyway.

Thanks, Nick. I'll try to do this.

_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc

WARNING: multiple messages have this Message-ID (diff)
From: Yury Norov <yury.norov@gmail.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: Juri Lelli <juri.lelli@redhat.com>, Andrew Lunn <andrew@lunn.ch>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Guo Ren <guoren@kernel.org>, Christoph Lameter <cl@linux.com>,
	Christoph Hellwig <hch@lst.de>, Andi Kleen <ak@linux.intel.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Andy Gross <agross@kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Mel Gorman <mgorman@suse.de>, Vineet Gupta <vgupta@kernel.org>,
	Petr Mladek <pmladek@suse.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Jens Axboe <axboe@fb.com>, Andy Lutomirski <luto@kernel.org>,
	Lee Jones <lee.jones@linaro.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-crypto@vger.kernel.org, Tejun Heo <tj@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Anup Patel <anup.patel@wdc.com>,
	linux-ia64@vger.kernel.org, David Airlie <airlied@linux.ie>,
	Roy Pledge <Roy.Pledge@nxp.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Solomon Peachy <pizza@shaftnet.org>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Dennis Zhou <dennis@kernel.org>,
	Matti Vaittinen <mazziesaccount@gmail.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	Stephen Boyd <sboyd@kernel.org>, Tariq Toukan <tariqt@nvidia.com>,
	Dinh Nguyen <dinguyen@kernel.org>,
	Jonathan Cameron <jic23@kernel.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Subbaraya Sundeep <sbhatta@marvell.com>,
	Will Deacon <will@kernel.org>, Sagi Grimberg <sagi@grimberg.me>,
	linux-csky@vger.kernel.org,
	bcm-kernel-feedback-list@broadcom.com,
	Kalle Valo <kvalo@codeaurora.org>,
	linux-snps-arc@lists.infradead.org,
	Kees Cook <keescook@chromium.org>, Arnd Bergmann <arnd@arndb.de>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Mark Gross <markgross@kernel.org>, Borislav Petkov <bp@alien8.de>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	David Laight <David.Laight@ACULAB.COM>,
	linux-alpha@vger.kernel.org, Geetha sowjanya <gakula@marvell.com>,
	Ian Rogers <irogers@google.com>,
	kvm@vger.kernel.org, Peter Zijlstra <peterz@infradead.org>,
	Amitkumar Karwar <amitkarwar@gmail.com>,
	linux-mm@kvack.org, linux-riscv@lists.infradead.org,
	Jiri Olsa <jolsa@redhat.com>, Ard Biesheuvel <ardb@kernel.org>,
	Marc Zyngier <maz@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Ingo Molnar <mingo@redhat.com>, Jakub Kicinski <kuba@kernel.org>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Sunil Goutham <sgoutham@marvell.com>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	linux-s390@vger.kernel.org, Alexey Klimov <aklimov@redhat.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Marcin Wojtas <mw@semihalf.com>, Vlastimil Babka <vbabka@suse.cz>,
	linuxppc-dev@lists.ozlabs.org, linux-mips@vger.kernel.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Daniel Vetter <daniel@ffwll.ch>,
	Jason Wessel <jason.wessel@windriver.com>,
	Saeed Mahameed <saeedm@nvidia.com>,
	Andy Shevchenko <andy@infradead.org>
Subject: Re: [PATCH 0/9] lib/bitmap: optimize bitmap_weight() usage
Date: Sun, 28 Nov 2021 15:36:27 -0800	[thread overview]
Message-ID: <20211128233627.GA323159@lapt> (raw)
In-Reply-To: <1638096766.3elxdzb8ly.astroid@bobo.none>

On Sun, Nov 28, 2021 at 09:08:41PM +1000, Nicholas Piggin wrote:
> Excerpts from Yury Norov's message of November 28, 2021 1:56 pm:
> > In many cases people use bitmap_weight()-based functions like this:
> > 
> > 	if (num_present_cpus() > 1)
> > 		do_something();
> > 
> > This may take considerable amount of time on many-cpus machines because
> > num_present_cpus() will traverse every word of underlying cpumask
> > unconditionally.
> > 
> > We can significantly improve on it for many real cases if stop traversing
> > the mask as soon as we count present cpus to any number greater than 1:
> > 
> > 	if (num_present_cpus_gt(1))
> > 		do_something();
> > 
> > To implement this idea, the series adds bitmap_weight_{eq,gt,le}
> > functions together with corresponding wrappers in cpumask and nodemask.
> 
> There would be no change to callers if you maintain counters like what
> is done for num_online_cpus() today. Maybe some fixes to arch code that
> does not use set_cpu_possible() etc APIs required, but AFAIKS it would
> be better to fix such cases anyway.

Thanks, Nick. I'll try to do this.

  reply	other threads:[~2021-11-28 23:36 UTC|newest]

Thread overview: 183+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-28  3:56 [PATCH 0/9] lib/bitmap: optimize bitmap_weight() usage Yury Norov
2021-11-28  3:56 ` Yury Norov
2021-11-28  3:56 ` Yury Norov
2021-11-28  3:56 ` Yury Norov
2021-11-28  3:56 ` [PATCH 1/9] lib/bitmap: add bitmap_weight_{eq,gt,le} Yury Norov
2021-11-28  3:56   ` Yury Norov
2021-11-28  3:56   ` Yury Norov
2021-11-28  3:56   ` Yury Norov
2021-11-28  3:56 ` Yury Norov
2021-11-28  3:56 ` [PATCH 2/9] lib/bitmap: implement bitmap_{empty,full} with bitmap_weight_eq() Yury Norov
2021-11-28  3:56 ` Yury Norov
2021-11-28  3:56   ` [PATCH 2/9] lib/bitmap: implement bitmap_{empty, full} " Yury Norov
2021-11-28  3:56   ` Yury Norov
2021-11-28  3:56   ` Yury Norov
2021-11-28  4:37   ` [PATCH 2/9] lib/bitmap: implement bitmap_{empty,full} " Michał Mirosław
2021-11-28  4:37     ` Michał Mirosław
2021-11-28  4:37     ` Michał Mirosław
2021-11-28  4:37     ` Michał Mirosław
2021-11-28  4:37     ` Michał Mirosław
2021-11-28  6:27     ` Yury Norov
2021-11-28  6:27       ` Yury Norov
2021-11-28  6:27       ` Yury Norov
2021-11-28  6:27       ` Yury Norov
2021-11-28  6:27       ` Yury Norov
2021-11-28 18:10   ` Michał Mirosław
2021-11-28 18:10     ` Michał Mirosław
2021-11-28 18:10     ` Michał Mirosław
2021-11-28 18:10     ` Michał Mirosław
2021-11-28 18:10     ` Michał Mirosław
2021-11-28 18:10     ` Michał Mirosław
2021-12-14 19:43     ` Yury Norov
2021-12-14 19:43       ` [PATCH 2/9] lib/bitmap: implement bitmap_{empty, full} " Yury Norov
2021-12-14 19:43       ` Yury Norov
2021-12-14 19:43       ` Yury Norov
2021-12-14 19:43       ` [PATCH 2/9] lib/bitmap: implement bitmap_{empty,full} " Yury Norov
2021-12-14 19:43       ` Yury Norov
2021-12-15  8:40       ` David Laight
2021-12-15  8:40         ` David Laight
2021-12-15  8:40         ` David Laight
2021-12-15  8:40         ` David Laight
2021-12-15  8:40         ` David Laight
2021-12-15  8:40         ` David Laight
2021-12-15 17:45         ` Yury Norov
2021-12-15 17:45           ` [PATCH 2/9] lib/bitmap: implement bitmap_{empty, full} " Yury Norov
2021-12-15 17:45           ` Yury Norov
2021-12-15 17:45           ` Yury Norov
2021-12-15 17:45           ` [PATCH 2/9] lib/bitmap: implement bitmap_{empty,full} " Yury Norov
2021-12-15 17:45           ` Yury Norov
2021-11-28  3:56 ` [PATCH 3/9] all: replace bitmap_weigth() with bitmap_{empty,full,eq,gt,le} Yury Norov
2021-11-28  3:56 ` Yury Norov
2021-11-28  3:56   ` [PATCH 3/9] all: replace bitmap_weigth() with bitmap_{empty, full, eq, gt, le} Yury Norov
2021-11-28  3:56   ` Yury Norov
2021-11-28  3:56   ` Yury Norov
2021-11-28  4:47   ` [PATCH 3/9] all: replace bitmap_weigth() with bitmap_{empty,full,eq,gt,le} Michał Mirosław
2021-11-28  4:47     ` Michał Mirosław
2021-11-28  4:47     ` Michał Mirosław
2021-11-28  4:47     ` Michał Mirosław
2021-11-28  4:47     ` Michał Mirosław
2021-11-28  4:47     ` Michał Mirosław
2021-11-28  8:01   ` Greg Kroah-Hartman
2021-11-28  8:01     ` Greg Kroah-Hartman
2021-11-28  8:01     ` Greg Kroah-Hartman
2021-11-28  8:01     ` Greg Kroah-Hartman
2021-11-28  8:01     ` Greg Kroah-Hartman
2021-11-28  8:01     ` Greg Kroah-Hartman
2021-11-28  3:56 ` [PATCH 4/9] tools: sync bitmap_weight() usage with the kernel Yury Norov
2021-11-28  3:56   ` Yury Norov
2021-11-28  3:56   ` Yury Norov
2021-11-28  3:56   ` Yury Norov
2021-11-28  3:56 ` Yury Norov
2021-11-28  3:57 ` [PATCH 5/9] lib/cpumask: add cpumask_weight_{eq,gt,le} Yury Norov
2021-11-28  3:57 ` Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  3:57 ` [PATCH 6/9] lib/nodemask: add nodemask_weight_{eq,gt,le} Yury Norov
2021-11-28  3:57 ` Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  3:57 ` [PATCH 7/9] lib/cpumask: add num_{possible,present,active}_cpus_{eq,gt,le} Yury Norov
2021-11-28  3:57   ` [PATCH 7/9] lib/cpumask: add num_{possible, present, active}_cpus_{eq, gt, le} Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  4:56   ` [PATCH 7/9] lib/cpumask: add num_{possible,present,active}_cpus_{eq,gt,le} Michał Mirosław
2021-11-28  4:56     ` Michał Mirosław
2021-11-28  4:56     ` Michał Mirosław
2021-11-28  4:56     ` Michał Mirosław
2021-11-28  4:56     ` Michał Mirosław
2021-11-28  4:56     ` Michał Mirosław
2021-11-28  5:09     ` Michał Mirosław
2021-11-28  5:09       ` Michał Mirosław
2021-11-28  5:09       ` Michał Mirosław
2021-11-28  5:09       ` Michał Mirosław
2021-11-28  5:09       ` Michał Mirosław
2021-11-28  5:09       ` Michał Mirosław
2021-11-28  6:34     ` Yury Norov
2021-11-28  6:34       ` Yury Norov
2021-11-28  6:34       ` Yury Norov
2021-11-28  6:34       ` Yury Norov
2021-11-28  6:34       ` Yury Norov
2021-11-28  6:34       ` Yury Norov
2021-11-28 17:07   ` Joe Perches
2021-11-28 17:07     ` Joe Perches
2021-11-28 17:07     ` Joe Perches
2021-11-28 17:07     ` Joe Perches
2021-11-28 17:43     ` Yury Norov
2021-11-28 17:43       ` Yury Norov
2021-11-28 17:43       ` Yury Norov
2021-11-28 17:43       ` Yury Norov
2021-11-28 17:43       ` Yury Norov
2021-11-28 17:43       ` Yury Norov
2021-11-28 17:54       ` Dennis Zhou
2021-11-28 17:54         ` Dennis Zhou
2021-11-28 17:54         ` Dennis Zhou
2021-11-28 17:54         ` Dennis Zhou
2021-11-28 17:54         ` Dennis Zhou
2021-11-28 18:47         ` Yury Norov
2021-11-28 18:47           ` Yury Norov
2021-11-28 18:47           ` Yury Norov
2021-11-28 18:47           ` Yury Norov
2021-11-28 18:47           ` Yury Norov
2021-11-28 18:47           ` Yury Norov
2021-11-28 17:56       ` Emil Renner Berthing
2021-11-28 17:56         ` [PATCH 7/9] lib/cpumask: add num_{possible, present, active}_cpus_{eq, gt, le} Emil Renner Berthing
2021-11-28 17:56         ` Emil Renner Berthing
2021-11-28 17:56         ` Emil Renner Berthing
2021-11-28 17:56         ` [PATCH 7/9] lib/cpumask: add num_{possible,present,active}_cpus_{eq,gt,le} Emil Renner Berthing
2021-11-28 17:56         ` Emil Renner Berthing
2021-11-28 17:57       ` Joe Perches
2021-11-28 17:57         ` Joe Perches
2021-11-28 17:57         ` Joe Perches
2021-11-28 17:57         ` Joe Perches
2021-11-28 17:57         ` Joe Perches
2021-11-28 17:57         ` Joe Perches
2021-11-28 17:07   ` Joe Perches
2021-11-28  3:57 ` Yury Norov
2021-11-28  3:57 ` [PATCH 8/9] lib/nodemask: add num_node_state_eq() Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  3:57 ` Yury Norov
2021-11-28  3:57 ` [PATCH 9/9] MAINTAINERS: add cpumask and nodemask files to BITMAP_API Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  3:57   ` Yury Norov
2021-11-28  3:57 ` Yury Norov
2021-11-28 11:08 ` [PATCH 0/9] lib/bitmap: optimize bitmap_weight() usage Nicholas Piggin
2021-11-28 11:08   ` Nicholas Piggin
2021-11-28 11:08   ` Nicholas Piggin
2021-11-28 23:36   ` Yury Norov [this message]
2021-11-28 23:36     ` Yury Norov
2021-11-28 23:36     ` Yury Norov
2021-11-28 23:36     ` Yury Norov
2021-11-28 23:36     ` Yury Norov
2021-11-28 23:36     ` Yury Norov
2021-11-28 11:08 ` Nicholas Piggin
2021-11-28 18:03 ` mirq-test
2021-11-28 18:05   ` Michał Mirosław
2021-11-28 18:05   ` Michał Mirosław
2021-11-28 18:05   ` Michał Mirosław
2021-11-28 18:03   ` mirq-test
2021-11-28 18:03   ` mirq-test
2021-11-28 18:03   ` mirq-test
2021-11-28 18:03   ` mirq-test
2021-11-29  6:38   ` Yury Norov
2021-11-29  6:38     ` Yury Norov
2021-11-29  6:38     ` Yury Norov
2021-11-29  6:38     ` Yury Norov
2021-11-29  6:38     ` Yury Norov
2021-11-29  6:38     ` Yury Norov
2021-11-29 16:34     ` Michał Mirosław
2021-11-29 16:34       ` Michał Mirosław
2021-11-29 16:34       ` Michał Mirosław
2021-11-29 16:34       ` Michał Mirosław
2021-11-29 16:34       ` Michał Mirosław
2021-12-02  0:31       ` Yury Norov
2021-12-02  0:31         ` Yury Norov
2021-12-02  0:31         ` Yury Norov
2021-12-02  0:31         ` Yury Norov
2021-12-02  0:31         ` Yury Norov
2021-12-02  0:31         ` Yury Norov
  -- strict thread matches above, loose matches on Subject: below --
2021-11-28  3:56 Yury Norov

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=20211128233627.GA323159@lapt \
    --to=yury.norov@gmail.com \
    --cc=David.Laight@ACULAB.COM \
    --cc=acme@kernel.org \
    --cc=agross@kernel.org \
    --cc=airlied@linux.ie \
    --cc=ak@linux.intel.com \
    --cc=aklimov@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=amitkarwar@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=andy@infradead.org \
    --cc=anup.patel@wdc.com \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=axboe@fb.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=cl@linux.com \
    --cc=daniel@ffwll.ch \
    --cc=dave.hansen@linux.intel.com \
    --cc=dennis@kernel.org \
    --cc=dinguyen@kernel.org \
    --cc=gakula@marvell.com \
    --cc=npiggin@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.