* [PATCH] xen/notifier: simplify using notifier_[to|from]_errno()
@ 2022-10-28 11:41 Juergen Gross
2022-11-04 7:50 ` Dario Faggioli
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Juergen Gross @ 2022-10-28 11:41 UTC (permalink / raw)
To: xen-devel
Cc: Juergen Gross, Stefano Stabellini, Julien Grall,
Bertrand Marquis, Volodymyr Babchuk, Andrew Cooper,
George Dunlap, Jan Beulich, Wei Liu, Roger Pau Monné,
Dario Faggioli
Today all users of notifier_from_errno() and notifier_to_errno() are
Handling the success case the same way, by using
!rc ? NOTIFY_DONE : notifier_from_errno(rc)
or
(notifier_rc == NOTIFY_DONE) ? 0 : notifier_to_errno(notifier_rc);
Simplify the use cases by moving the handling of the success case into
the functions.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
xen/arch/arm/cpuerrata.c | 2 +-
xen/arch/arm/gic-v3-lpi.c | 2 +-
xen/arch/arm/irq.c | 2 +-
xen/arch/arm/percpu.c | 2 +-
xen/arch/arm/smpboot.c | 2 +-
xen/arch/x86/acpi/cpu_idle.c | 2 +-
xen/arch/x86/cpu/mcheck/mce.c | 2 +-
xen/arch/x86/cpu/mcheck/mce_intel.c | 2 +-
xen/arch/x86/cpu/mwait-idle.c | 2 +-
xen/arch/x86/genapic/x2apic.c | 2 +-
xen/arch/x86/hvm/hvm.c | 2 +-
xen/arch/x86/percpu.c | 2 +-
xen/arch/x86/psr.c | 2 +-
xen/arch/x86/smpboot.c | 2 +-
xen/common/cpu.c | 2 +-
xen/common/sched/core.c | 2 +-
xen/common/sched/cpupool.c | 2 +-
xen/include/xen/notifier.h | 4 ++--
18 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
index ae649d16ef..5952111b72 100644
--- a/xen/arch/arm/cpuerrata.c
+++ b/xen/arch/arm/cpuerrata.c
@@ -724,7 +724,7 @@ static int cpu_errata_callback(struct notifier_block *nfb,
break;
}
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_errata_nfb = {
diff --git a/xen/arch/arm/gic-v3-lpi.c b/xen/arch/arm/gic-v3-lpi.c
index 61d90eb386..f0b7ef17da 100644
--- a/xen/arch/arm/gic-v3-lpi.c
+++ b/xen/arch/arm/gic-v3-lpi.c
@@ -402,7 +402,7 @@ static int cpu_callback(struct notifier_block *nfb, unsigned long action,
break;
}
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_nfb = {
diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index fd0c15fffd..00fadbc354 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -148,7 +148,7 @@ static int cpu_callback(struct notifier_block *nfb, unsigned long action,
break;
}
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_nfb = {
diff --git a/xen/arch/arm/percpu.c b/xen/arch/arm/percpu.c
index 25442c48fe..67eb821ff6 100644
--- a/xen/arch/arm/percpu.c
+++ b/xen/arch/arm/percpu.c
@@ -68,7 +68,7 @@ static int cpu_percpu_callback(
break;
}
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_percpu_nfb = {
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index f7bda3a18b..bfa988c162 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -562,7 +562,7 @@ static int cpu_smpboot_callback(struct notifier_block *nfb,
break;
}
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_smpboot_nfb = {
diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index 557bc6ef86..427c8c89c5 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -1663,7 +1663,7 @@ static int cf_check cpu_callback(
break;
}
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_nfb = {
diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c
index f68e31b643..3e93bdd8da 100644
--- a/xen/arch/x86/cpu/mcheck/mce.c
+++ b/xen/arch/x86/cpu/mcheck/mce.c
@@ -757,7 +757,7 @@ static int cf_check cpu_callback(
break;
}
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_nfb = {
diff --git a/xen/arch/x86/cpu/mcheck/mce_intel.c b/xen/arch/x86/cpu/mcheck/mce_intel.c
index 28a605a5cb..301533722d 100644
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -951,7 +951,7 @@ static int cf_check cpu_callback(
break;
}
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_nfb = {
diff --git a/xen/arch/x86/cpu/mwait-idle.c b/xen/arch/x86/cpu/mwait-idle.c
index ffdc6fb2fc..9e981e7e26 100644
--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -1537,7 +1537,7 @@ static int cf_check mwait_idle_cpu_init(
dev = processor_powers[cpu];
if (!rc && cpuidle_current_governor->enable)
rc = cpuidle_current_governor->enable(dev);
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
case CPU_ONLINE:
if (!dev)
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index 7dfc793514..f73390cdb0 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -221,7 +221,7 @@ static int cf_check update_clusterinfo(
break;
}
- return !err ? NOTIFY_DONE : notifier_from_errno(err);
+ return notifier_from_errno(err);
}
static struct notifier_block x2apic_cpu_nfb = {
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 44b432ec5a..75ce37394d 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -142,7 +142,7 @@ static int cf_check cpu_callback(
break;
}
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_nfb = {
diff --git a/xen/arch/x86/percpu.c b/xen/arch/x86/percpu.c
index 46460689b7..288050cdba 100644
--- a/xen/arch/x86/percpu.c
+++ b/xen/arch/x86/percpu.c
@@ -86,7 +86,7 @@ static int cf_check cpu_percpu_callback(
break;
}
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_percpu_nfb = {
diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
index ccb761998f..a1e0af27c5 100644
--- a/xen/arch/x86/psr.c
+++ b/xen/arch/x86/psr.c
@@ -1663,7 +1663,7 @@ static int cf_check cpu_callback(
break;
}
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_nfb = {
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index b46fd9ab18..a238aa1f14 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1144,7 +1144,7 @@ static int cf_check cpu_smpboot_callback(
break;
}
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_smpboot_nfb = {
diff --git a/xen/common/cpu.c b/xen/common/cpu.c
index 778b6820b7..8709db4d29 100644
--- a/xen/common/cpu.c
+++ b/xen/common/cpu.c
@@ -82,7 +82,7 @@ static int cpu_notifier_call_chain(unsigned int cpu, unsigned long action,
{
void *hcpu = (void *)(long)cpu;
int notifier_rc = notifier_call_chain(&cpu_chain, action, hcpu, nb);
- int ret = (notifier_rc == NOTIFY_DONE) ? 0 : notifier_to_errno(notifier_rc);
+ int ret = notifier_to_errno(notifier_rc);
BUG_ON(ret && nofail);
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 23fa6845a8..44d60ac561 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -2874,7 +2874,7 @@ static int cf_check cpu_schedule_callback(
rcu_read_unlock(&sched_res_rculock);
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_schedule_nfb = {
diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c
index b2c6f520c3..ccb86ef283 100644
--- a/xen/common/sched/cpupool.c
+++ b/xen/common/sched/cpupool.c
@@ -1072,7 +1072,7 @@ static int cf_check cpu_callback(
break;
}
- return !rc ? NOTIFY_DONE : notifier_from_errno(rc);
+ return notifier_from_errno(rc);
}
static struct notifier_block cpu_nfb = {
diff --git a/xen/include/xen/notifier.h b/xen/include/xen/notifier.h
index 0921213298..3d6017d4f7 100644
--- a/xen/include/xen/notifier.h
+++ b/xen/include/xen/notifier.h
@@ -58,13 +58,13 @@ int notifier_call_chain(
/* Encapsulate (negative) errno value. */
static inline int notifier_from_errno(int err)
{
- return NOTIFY_STOP_MASK | -err;
+ return err ? (NOTIFY_STOP_MASK | -err) : NOTIFY_DONE;
}
/* Restore (negative) errno value from notify return value. */
static inline int notifier_to_errno(int ret)
{
- return -(ret & ~NOTIFY_STOP_MASK);
+ return (ret == NOTIFY_DONE) ? 0 : -(ret & ~NOTIFY_STOP_MASK);
}
#endif /* __XEN_NOTIFIER_H__ */
--
2.35.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] xen/notifier: simplify using notifier_[to|from]_errno()
2022-10-28 11:41 [PATCH] xen/notifier: simplify using notifier_[to|from]_errno() Juergen Gross
@ 2022-11-04 7:50 ` Dario Faggioli
2022-11-10 15:37 ` Jan Beulich
2022-11-15 22:56 ` Julien Grall
2 siblings, 0 replies; 4+ messages in thread
From: Dario Faggioli @ 2022-11-04 7:50 UTC (permalink / raw)
To: Juergen Gross, xen-devel
Cc: julien, Jan Beulich, bertrand.marquis, wl, sstabellini,
Volodymyr_Babchuk, roger.pau, george.dunlap, andrew.cooper3
[-- Attachment #1: Type: text/plain, Size: 941 bytes --]
On Fri, 2022-10-28 at 13:41 +0200, Juergen Gross wrote:
> Today all users of notifier_from_errno() and notifier_to_errno() are
> Handling the success case the same way, by using
>
> !rc ? NOTIFY_DONE : notifier_from_errno(rc)
>
> or
>
> (notifier_rc == NOTIFY_DONE) ? 0 : notifier_to_errno(notifier_rc);
>
> Simplify the use cases by moving the handling of the success case
> into
> the functions.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> ...
> xen/common/sched/core.c | 2 +-
> xen/common/sched/cpupool.c | 2 +-
>
Reviewed-by: Dario Faggioli <dfaggioli@suse.com>
Regards
--
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] xen/notifier: simplify using notifier_[to|from]_errno()
2022-10-28 11:41 [PATCH] xen/notifier: simplify using notifier_[to|from]_errno() Juergen Gross
2022-11-04 7:50 ` Dario Faggioli
@ 2022-11-10 15:37 ` Jan Beulich
2022-11-15 22:56 ` Julien Grall
2 siblings, 0 replies; 4+ messages in thread
From: Jan Beulich @ 2022-11-10 15:37 UTC (permalink / raw)
To: Juergen Gross
Cc: Stefano Stabellini, Julien Grall, Bertrand Marquis,
Volodymyr Babchuk, Andrew Cooper, George Dunlap, Wei Liu,
Roger Pau Monné,
Dario Faggioli, xen-devel
On 28.10.2022 13:41, Juergen Gross wrote:
> Today all users of notifier_from_errno() and notifier_to_errno() are
> Handling the success case the same way, by using
>
> !rc ? NOTIFY_DONE : notifier_from_errno(rc)
>
> or
>
> (notifier_rc == NOTIFY_DONE) ? 0 : notifier_to_errno(notifier_rc);
>
> Simplify the use cases by moving the handling of the success case into
> the functions.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] xen/notifier: simplify using notifier_[to|from]_errno()
2022-10-28 11:41 [PATCH] xen/notifier: simplify using notifier_[to|from]_errno() Juergen Gross
2022-11-04 7:50 ` Dario Faggioli
2022-11-10 15:37 ` Jan Beulich
@ 2022-11-15 22:56 ` Julien Grall
2 siblings, 0 replies; 4+ messages in thread
From: Julien Grall @ 2022-11-15 22:56 UTC (permalink / raw)
To: Juergen Gross, xen-devel
Cc: Stefano Stabellini, Bertrand Marquis, Volodymyr Babchuk,
Andrew Cooper, George Dunlap, Jan Beulich, Wei Liu,
Roger Pau Monné,
Dario Faggioli
Hi Juergen,
On 28/10/2022 12:41, Juergen Gross wrote:
> Today all users of notifier_from_errno() and notifier_to_errno() are
> Handling the success case the same way, by using
>
> !rc ? NOTIFY_DONE : notifier_from_errno(rc)
>
> or
>
> (notifier_rc == NOTIFY_DONE) ? 0 : notifier_to_errno(notifier_rc);
>
> Simplify the use cases by moving the handling of the success case into
> the functions.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
Cheers,
--
Julien Grall
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-11-15 22:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-28 11:41 [PATCH] xen/notifier: simplify using notifier_[to|from]_errno() Juergen Gross
2022-11-04 7:50 ` Dario Faggioli
2022-11-10 15:37 ` Jan Beulich
2022-11-15 22:56 ` Julien Grall
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.