lkml.org 
[lkml]   [2011]   [Aug]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[patch v3 0/8] kdump: Patch series for s390 support (version 3)
Hello Vivek,

I updated the patch series according to our last discussions. As you requested,
I removed the "#if !defined(CONFIG_S390)" in the panic function.

The semantics is now as follows:

If kdump is loaded, kdump is always triggered for panic and PSW restart
(s390 NMI). If kdump is not loaded, the s390 shutdown actions defined
under /sys/firmware are executed as we are doing it already today.

I also added again patches for stand-alone dump integration:

For s390 we add a parameter to the purgatory entry point. When "0" is passed,
purgatory only returns the result of the checksum test. When "1" is passed,
purgatory triggers kdump. So we call purgatory twice. First for checking and
second time for execution. You can argue that it would be better to call
purgatory only once and it returns only, if checksums are invalid.
Unfortunately this would be very hard to implement for us, because we
switch to the boot CPU before kdump is finally triggered and after that
currently it is not possible to return from the called function.

panic --------+
+--- crash_kexec()
| call_s390_shutdown_actions() -> stand-alone dump
PSW restart --+
crash_kexec +--> kdump loaded? --> machine_kexec()
|
+--> kdump not loaded --> return
machine_kexec +-> purgatory(0)==0 -> switch to IPL cpu -> purgatory(1) -> kdump
|
+-> purgatory(0)!=0 -> return
See patches [6] and [8] for details.

Does that sound ok for you?

Michael

Patch overview:
---------------
[1-3] common code changes (could you please ACC patches [1] and [3]?)
[4] s390 kdump preparation patch
[5] s390 kdump backend
[6] s390 stand-alone dump/shutdown actions integration
[7] kexec-tools: s390 kdump backend for kexec-tools
[8] kexec-tools: s390 stand-alone dump/shutdown actions integration
History: v1->v2:
----------------
Main changes compared to version 1:
1. We use purgatory code
2. We use pre-allocated ELF core header
3. Registers are saved in old kernel
4. Removed meminfo

\
 
 \ /
  Last update: 2011-08-12 15:51    [from the cache]
©2003-2011 Jasper Spaans