Re: [PATCH] powerpc/xmon: Fix an unexpected xmon onoff state change
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-02-20 04:46:16
Also in:
lkml
Pan Xinhui [off-list ref] writes:
=E5=9C=A8 2017/2/17 14:05, Michael Ellerman =E5=86=99=E9=81=93:quoted
Pan Xinhui [off-list ref] writes:quoted
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index 9c0e17c..f6e5c3d 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c@@ -76,6 +76,7 @@ static int xmon_gate; #endif /* CONFIG_SMP */ static unsigned long in_xmon __read_mostly =3D 0; +static int xmon_off =3D !IS_ENABLED(CONFIG_XMON_DEFAULT);I think the logic would probably clearer if we invert this to become xmon_on.yep, make sense.quoted
quoted
@@ -3266,16 +3269,16 @@ static int __init setup_xmon_sysrq(void) __initcall(setup_xmon_sysrq); #endif /* CONFIG_MAGIC_SYSRQ */ -static int __initdata xmon_early, xmon_off; +static int __initdata xmon_early; static int __init early_parse_xmon(char *p) { if (!p || strncmp(p, "early", 5) =3D=3D 0) { /* just "xmon" is equivalent to "xmon=3Dearly" */ - xmon_init(1); xmon_early =3D 1; + xmon_off =3D 0; } else if (strncmp(p, "on", 2) =3D=3D 0) - xmon_init(1); + xmon_off =3D 0;You've just changed the timing of when xmon gets enabled for the above two cases, from here which is called very early, to xmon_setup() which is called much later in boot. That effectively disables xmon for most of the boot, which we do not want to do.Although it is not often that kernel got stucked during boot.
I hope you're joking! :) cheers