Re: [PATCH 2/3] stacktrace: add save_stack_trace_tsk_safe()

From: Jiri Kosina
Date: Fri Feb 20 2015 - 04:32:52 EST


On Tue, 17 Feb 2015, Andrew Morton wrote:

> > It isn't possible to get the stack of a running task (other than
> > current) because we don't have the stack pointer and the stack can be
> > inconsistent anyway. Add a safe stack saving facility which only saves
> > the stack of the task if it's sleeping or if it's the current task.
>
> Can you send the task an IPI and get it to save its stack for you?
>
> There's probably some (messy, arch-dependent) way of trimming away the
> interrupt-related stuff off the stack, if that's really needed.

I am afraid that you need to send broadcast IPI to all CPUs and only dump
stack then to avoid races with reschedule and make it really consistent.

If that is agreed to be a reasonable price to pay for consistent stack
dump for a single process is of course a question.

--
Jiri Kosina
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/