2024-04-17 08:53:56

by Jinjie Ruan

[permalink] [raw]
Subject: [PATCH -next] genirq: Simplify the checks for irq_set_percpu_devid_partition()

Since whether desc is NULL or desc->percpu_enabled is true, it returns
-EINVAL, check them together, and assign desc->percpu_affinity
using "?:" to simplify the code.

Signed-off-by: Jinjie Ruan <[email protected]>
---
kernel/irq/irqdesc.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 23120e5a46a9..6b19c72db29a 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -911,10 +911,7 @@ int irq_set_percpu_devid_partition(unsigned int irq,
{
struct irq_desc *desc = irq_to_desc(irq);

- if (!desc)
- return -EINVAL;
-
- if (desc->percpu_enabled)
+ if (!desc || desc->percpu_enabled)
return -EINVAL;

desc->percpu_enabled = kzalloc(sizeof(*desc->percpu_enabled), GFP_KERNEL);
@@ -922,10 +919,7 @@ int irq_set_percpu_devid_partition(unsigned int irq,
if (!desc->percpu_enabled)
return -ENOMEM;

- if (affinity)
- desc->percpu_affinity = affinity;
- else
- desc->percpu_affinity = cpu_possible_mask;
+ desc->percpu_affinity = affinity ? affinity : cpu_possible_mask;

irq_set_percpu_devid_flags(irq);
return 0;
--
2.34.1



Subject: [tip: irq/core] genirq: Simplify the checks for irq_set_percpu_devid_partition()

The following commit has been merged into the irq/core branch of tip:

Commit-ID: bb58c1baa501e3d695d8e13a5bd955fd00e2e879
Gitweb: https://git.kernel.org/tip/bb58c1baa501e3d695d8e13a5bd955fd00e2e879
Author: Jinjie Ruan <[email protected]>
AuthorDate: Wed, 17 Apr 2024 16:53:56 +08:00
Committer: Thomas Gleixner <[email protected]>
CommitterDate: Tue, 23 Apr 2024 00:17:07 +02:00

genirq: Simplify the checks for irq_set_percpu_devid_partition()

Since whether desc is NULL or desc->percpu_enabled is true, it returns
-EINVAL, check them together, and assign desc->percpu_affinity using a
ternary to simplify the code.

Signed-off-by: Jinjie Ruan <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Link: https://lore.kernel.org/r/[email protected]

---
kernel/irq/irqdesc.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 3820931..f0d4b98 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -911,10 +911,7 @@ int irq_set_percpu_devid_partition(unsigned int irq,
{
struct irq_desc *desc = irq_to_desc(irq);

- if (!desc)
- return -EINVAL;
-
- if (desc->percpu_enabled)
+ if (!desc || desc->percpu_enabled)
return -EINVAL;

desc->percpu_enabled = kzalloc(sizeof(*desc->percpu_enabled), GFP_KERNEL);
@@ -922,10 +919,7 @@ int irq_set_percpu_devid_partition(unsigned int irq,
if (!desc->percpu_enabled)
return -ENOMEM;

- if (affinity)
- desc->percpu_affinity = affinity;
- else
- desc->percpu_affinity = cpu_possible_mask;
+ desc->percpu_affinity = affinity ? : cpu_possible_mask;

irq_set_percpu_devid_flags(irq);
return 0;