Red Hat Bugzilla – Bug 155926
[RHEL4-U2][Diskdump] OS_INIT dump function is broken
Last modified: 2010-10-21 22:55:34 EDT
Description of Problem:
When crashdump is executed via OS_INIT on IPF machine, backtrace
command, which is a subcommand of crash, does not work correctly.
Two problems were found in the OS_INIT code.
(1) OS_INIT handler has two stages.
stage1: handler written by assembler
stage2: handler written by C
The former is ia64_monarch_init_handler and ia64_slave_init_handler.
The latter is ia64_init_handler. ia64_init_handler is called only by
When INIT interrupt is asserted, one cpu calls
ia64_monarch_init_handler and the others call
ia64_slave_init_handler. It means that ia64_init_handler is called
by only one cpu. In that case, backtrace command fails. To make
backtrace succeed, all cpus need to call ia64_monarch_init_handler.
(2) The second problem occurs by correcting the first problem.
When OS_INIT handler is called, SAL hands the handler some
information through registers. The handler preserves this information
in ia64_sal_to_os_handoff_state. (Please see
SAL_TO_OS_MCA_HANDOFF_STATE_SAVE macro in the
arch/ia64/kernel/mca_asm.S.) If all cpus call
ia64_monarch_init_handler at the same time, they write their own
information to the ia64_sal_to_os_handoff_state simultaneously and
break their contents.
Steps to Reproduce:
1. Enable Diskdump
2. Push OS_INIT switch
3. bt with crash command
Backtrace command does not work
Backtrace command works correctly
The patch was posted to rhkernel-list ML
I posted the updated patch to rhkernel-list ML on 6/16. The patch was updated to
reflect the comments which are made on the patch for RHEL3.
I posted correct patch again to rhkernel-list ML
Hi Tachino-San, due to concern over wether or not this patch has been accepted
upstream, we are unable to take this patch in U2. Once we know the status of
the patch with upstream kernel, we will then be able to put it in U3. Many thanks.
The upstream solves this problem in a different way, This part of upstream
source already becomes very different from the one of RHEL4 and simple backport
will produce the big patch. I need more time to investigate the upstream source
to decide which patch is better to be included in RHEL4.
The patch was posted to rhkernel-list. It is the same as the previous patch. I
tried to port the upstream fix to RHEL4, but it makes big patch over 1kstep. So
I think the original patch is better to be included in RHEL4.
committed in stream U4 build 34.25. A test kernel with this patch is available
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.