Thread (9 messages) flat view 9 messages, 4 authors, 2017-02-20

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help