Message ID | 1352382158-3928-1-git-send-email-amwang@redhat.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On 11/08/2012 05:42 AM, Cong Wang wrote: > Some people wants to log only oops messages via netconsole, > (this is also why netoops was invented) > so add a module option for netconsole. This can be tuned > via /sys/module/netconsole/parameters/oops_only at run time > as well. > Hi, What does this do with panics? Do they set oops_in_progress? thanks. > Cc: David Miller <davem@davemloft.net> > Signed-off-by: Cong Wang <amwang@redhat.com> > > --- > diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c > index b332112..6989ebe 100644 > --- a/drivers/net/netconsole.c > +++ b/drivers/net/netconsole.c > @@ -56,6 +56,10 @@ static char config[MAX_PARAM_LENGTH]; > module_param_string(netconsole, config, MAX_PARAM_LENGTH, 0); > MODULE_PARM_DESC(netconsole, " netconsole=[src-port]@[src-ip]/[dev],[tgt-port]@<tgt-ip>/[tgt-macaddr]"); > > +static bool oops_only = false; > +module_param(oops_only, bool, 0600); > +MODULE_PARM_DESC(oops_only, "Only log oops messages"); > + > #ifndef MODULE > static int __init option_setup(char *opt) > { > @@ -683,6 +687,8 @@ static void write_msg(struct console *con, const char *msg, unsigned int len) > struct netconsole_target *nt; > const char *tmp; > > + if (oops_only && !oops_in_progress) > + return; > /* Avoid taking lock and disabling interrupts unnecessarily */ > if (list_empty(&target_list)) > return; > --
On Thu, 2012-11-08 at 11:49 -0800, Randy Dunlap wrote: > On 11/08/2012 05:42 AM, Cong Wang wrote: > > > Some people wants to log only oops messages via netconsole, > > (this is also why netoops was invented) > > so add a module option for netconsole. This can be tuned > > via /sys/module/netconsole/parameters/oops_only at run time > > as well. > > > > > Hi, > > What does this do with panics? > Do they set oops_in_progress? Yes, panic() calls bust_spinlocks(1). -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Cong Wang <amwang@redhat.com> Date: Thu, 8 Nov 2012 21:42:38 +0800 > Some people wants to log only oops messages via netconsole, > (this is also why netoops was invented) > so add a module option for netconsole. This can be tuned > via /sys/module/netconsole/parameters/oops_only at run time > as well. > > Cc: David Miller <davem@davemloft.net> > Signed-off-by: Cong Wang <amwang@redhat.com> Seems reasonable, applied, thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index b332112..6989ebe 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -56,6 +56,10 @@ static char config[MAX_PARAM_LENGTH]; module_param_string(netconsole, config, MAX_PARAM_LENGTH, 0); MODULE_PARM_DESC(netconsole, " netconsole=[src-port]@[src-ip]/[dev],[tgt-port]@<tgt-ip>/[tgt-macaddr]"); +static bool oops_only = false; +module_param(oops_only, bool, 0600); +MODULE_PARM_DESC(oops_only, "Only log oops messages"); + #ifndef MODULE static int __init option_setup(char *opt) { @@ -683,6 +687,8 @@ static void write_msg(struct console *con, const char *msg, unsigned int len) struct netconsole_target *nt; const char *tmp; + if (oops_only && !oops_in_progress) + return; /* Avoid taking lock and disabling interrupts unnecessarily */ if (list_empty(&target_list)) return;
Some people wants to log only oops messages via netconsole, (this is also why netoops was invented) so add a module option for netconsole. This can be tuned via /sys/module/netconsole/parameters/oops_only at run time as well. Cc: David Miller <davem@davemloft.net> Signed-off-by: Cong Wang <amwang@redhat.com> --- -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html