[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ZH2K0wdL3YAOUaTf@dhcp22.suse.cz>
Date: Mon, 5 Jun 2023 09:12:19 +0200
From: Michal Hocko <mhocko@...e.com>
To: Marcelo Tosatti <mtosatti@...hat.com>
Cc: Christoph Lameter <cl@...ux.com>,
Aaron Tomlin <atomlin@...mlin.com>,
Frederic Weisbecker <frederic@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
Vlastimil Babka <vbabka@...e.cz>, Tejun Heo <tj@...nel.org>,
Lai Jiangshan <jiangshanlai@...il.com>
Subject: Re: [PATCH 3/4] workqueue: add schedule_on_each_cpumask helper
On Fri 02-06-23 14:04:28, Marcelo Tosatti wrote:
> On Fri, Jun 02, 2023 at 12:48:23PM +0200, Michal Hocko wrote:
[...]
> > > + if (!alloc_cpumask_var(&effmask, GFP_KERNEL)) {
> > > + free_percpu(works);
> > > + return -ENOMEM;
> > > + }
> > > +
> > > + cpumask_and(effmask, cpumask, cpu_online_mask);
> > > +
> > > + cpus_read_lock();
> > > +
> > > + for_each_cpu(cpu, effmask) {
> >
> > Is the cpu_online_mask dance really necessary?
>
> > Why cannot you simply do for_each_online_cpu here?
>
> Are you suggesting to do:
>
> for_each_online_cpu(cpu) {
> if cpu is not in cpumask
> continue;
> ...
> }
>
> This does not seem efficient.
Are you sure this is less sufficient than a memory allocation?
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists