revert "cpumask: don't perform while loop in cpumask_next_and()"
Revert commit 534b483a86
("cpumask: don't perform while loop in
cpumask_next_and()").
This was a minor optimization, but it puts a `struct cpumask' on the
stack, which consumes too much stack space.
Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Reported-by: Peter Zijlstra <peterz@infradead.org>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Amir Vadai <amirv@mellanox.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
17fda38f15
Коммит
5ca62d6503
|
@ -16,11 +16,10 @@
|
|||
int cpumask_next_and(int n, const struct cpumask *src1p,
|
||||
const struct cpumask *src2p)
|
||||
{
|
||||
struct cpumask tmp;
|
||||
|
||||
if (cpumask_and(&tmp, src1p, src2p))
|
||||
return cpumask_next(n, &tmp);
|
||||
return nr_cpu_ids;
|
||||
while ((n = cpumask_next(n, src1p)) < nr_cpu_ids)
|
||||
if (cpumask_test_cpu(n, src2p))
|
||||
break;
|
||||
return n;
|
||||
}
|
||||
EXPORT_SYMBOL(cpumask_next_and);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче