[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e0bc19d6-4a15-faa4-c8e1-163904276d5b@huawei.com>
Date: Tue, 14 May 2024 20:51:39 +0800
From: Jinjie Ruan <ruanjinjie@...wei.com>
To: Yury Norov <yury.norov@...il.com>, <linux-kernel@...r.kernel.org>, Greg
Kroah-Hartman <gregkh@...uxfoundation.org>, "Paul E. McKenney"
<paulmck@...nel.org>, "Rafael J. Wysocki" <rafael@...nel.org>, Anna-Maria
Behnsen <anna-maria@...utronix.de>, Ben Segall <bsegall@...gle.com>, Daniel
Bristot de Oliveira <bristot@...hat.com>, Dietmar Eggemann
<dietmar.eggemann@....com>, Frederic Weisbecker <frederic@...nel.org>, Imran
Khan <imran.f.khan@...cle.com>, Ingo Molnar <mingo@...hat.com>, Johannes
Weiner <hannes@...xchg.org>, Juri Lelli <juri.lelli@...hat.com>, Leonardo
Bras <leobras@...hat.com>, Mel Gorman <mgorman@...e.de>, Peter Zijlstra
<peterz@...radead.org>, Rik van Riel <riel@...riel.com>, Steven Rostedt
<rostedt@...dmis.org>, Tejun Heo <tj@...nel.org>, Thomas Gleixner
<tglx@...utronix.de>, Valentin Schneider <vschneid@...hat.com>, Vincent
Guittot <vincent.guittot@...aro.org>, Waiman Long <longman@...hat.com>, Zefan
Li <lizefan.x@...edance.com>, <cgroups@...r.kernel.org>
Subject: Re: [PATCH 4/6] genirq: optimize irq_do_set_affinity()
On 2024/5/14 6:01, Yury Norov wrote:
> If mask == desc->irq_common_data.affinity, copying one to another is
> useless, and we can just skip it.
>
> Signed-off-by: Yury Norov <yury.norov@...il.com>
> ---
> kernel/irq/manage.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
> index bf9ae8a8686f..ad9ed9fdf919 100644
> --- a/kernel/irq/manage.c
> +++ b/kernel/irq/manage.c
> @@ -285,7 +285,8 @@ int irq_do_set_affinity(struct irq_data *data, const struct cpumask *mask,
> switch (ret) {
> case IRQ_SET_MASK_OK:
> case IRQ_SET_MASK_OK_DONE:
> - cpumask_copy(desc->irq_common_data.affinity, mask);
> + if (desc->irq_common_data.affinity != mask)
> + cpumask_copy(desc->irq_common_data.affinity, mask);
It seems that mask is a pointer, shouldn't use "cpumask_equal"?
> fallthrough;
> case IRQ_SET_MASK_OK_NOCOPY:
> irq_validate_effective_affinity(data);
Powered by blists - more mailing lists