[Crash-utility] [RFC/PATCH] s390x: Add live dump detection

Dave Anderson anderson at redhat.com
Mon Apr 23 12:50:02 UTC 2012



----- Original Message -----
> Hi Dave,
> 
> On Fri, 20 Apr 2012 10:03:23 -0400 (EDT)
> Dave Anderson <anderson at redhat.com> wrote:
> 
> > > Sounds good. So what about introducing a new macro LIVE() that
> > > indicates that the dump or live system is inconsistent.
> > 
> > Good idea -- queued for crash-6.0.6.
> 
> There is another ACTIVE() call in s390x.c that should be changed to
> LIVE(). When issuing "bt" on a running task on a live system, we
> currently write "(active)".
> 
> This should also be done for live dumps:

Question: how does that code path ever get run?  

If you try a "bt" on an active task on a live system, it would 
print the "(active)" here in back_trace(), prior to calling into
the machine-specific backtrace function:

        if (ACTIVE() && !(bt->flags & BT_EFRAME_SEARCH) &&
            ((bt->task == tt->this_task) || is_task_active(bt->task))) {

                if (BT_REFERENCE_CHECK(bt) ||
                    bt->flags & (BT_TEXT_SYMBOLS_PRINT|BT_TEXT_SYMBOLS_NOPRINT))
                        return;

                if (!(bt->flags &
                    (BT_KSTACKP|BT_TEXT_SYMBOLS|BT_TEXT_SYMBOLS_ALL)))
                        fprintf(fp, "(active)\n");

                if (!(bt->flags & (BT_TEXT_SYMBOLS|BT_TEXT_SYMBOLS_ALL)))
                        return;
        }

Note the "bt -[tT]" options should be allowed even if the task is active.

Dave

> ---
>  s390x.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- a/s390x.c
> +++ b/s390x.c
> @@ -1092,7 +1092,7 @@ static void s390x_back_trace_cmd(struct
>  	 * Print lowcore and print interrupt stacks when task has cpu
>  	 */
>  	if (s390x_has_cpu(bt)) {
> -		if (ACTIVE()) {
> +		if (LIVE()) {
>  			fprintf(fp,"(active)\n");
>  			return;
>  		}
> 
> 




More information about the Crash-utility mailing list