[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160201210846.GC26637@redhat.com>
Date: Mon, 1 Feb 2016 16:08:46 -0500
From: Don Zickus <dzickus@...hat.com>
To: Jeffrey Merkey <jeffmerkey@...il.com>
Cc: akpm@...ux-foundation.org, atomlin@...hat.com, cmetcalf@...hip.com,
fweisbec@...il.com, hidehiro.kawai.ez@...achi.com,
linux-kernel@...r.kernel.org, mhocko@...e.cz, tj@...nel.org,
uobergfe@...hat.com
Subject: Re: [PATCH v2 4/4] Add WARN() function call to hard-soft lockup
On Mon, Feb 01, 2016 at 01:45:27PM -0700, Jeffrey Merkey wrote:
> This patch series adds config options which can be set during compile to
> direct the compiler to output a breakpoint instruction anywhere a BUG_XX()
> or WARN_XX() macro has been placed in the kernel to trigger the system to
> enter a debugger if a bug is detected by the system. Use of this compile
> time option also allows conditional breakpoints to be set in the kernel
> where these macros have been previously placed.
>
> This addition is extremely useful for debugging hard and soft lockups
> real time and quickly from a console debugger, and other areas of the
> kernel.
>
> Signed-off-by: Jeffrey Merkey <jeffmerkey@...il.com>
> ---
> kernel/watchdog.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/kernel/watchdog.c b/kernel/watchdog.c
> index b3ace6e..af07a83 100644
> --- a/kernel/watchdog.c
> +++ b/kernel/watchdog.c
> @@ -358,6 +358,8 @@ static void watchdog_overflow_callback(struct perf_event *event,
> else
> dump_stack();
>
> + WARN(1, "Watchdog detected hard LOCKUP on cpu %d", this_cpu);
> +
So we repeat the same exact print message and dump the same stack again as
we do a few lines above? That doesn't make any sense.
Cheers,
Don
> /*
> * Perform all-CPU dump only once to avoid multiple hardlockups
> * generating interleaving traces
> @@ -478,6 +480,9 @@ static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer)
> else
> dump_stack();
>
> + WARN(1, "Watchdog detected soft LOCKUP on cpu %d",
> + smp_processor_id());
> +
> if (softlockup_all_cpu_backtrace) {
> /* Avoid generating two back traces for current
> * given that one is already made above
> --
> 1.8.3.1
>
Powered by blists - more mailing lists