mirror of
https://github.com/torvalds/linux.git
synced 2024-11-07 20:51:47 +00:00
s390/smp: save timestamp on external calls
This is supposed to make debugging easier: if within a dump we can see that an external call or emergency signal IPI is pending but all cpus are idle, we have no idea for how long the interrupt is outstanding. Therefore save a timestamp into the per cpu pcpu array of the target cpu whenever such an IPI is sent. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
e527aec434
commit
3dbc78d3a1
@ -66,6 +66,7 @@ static DEFINE_PER_CPU(struct cpu *, cpu_device);
|
||||
struct pcpu {
|
||||
struct _lowcore *lowcore; /* lowcore page(s) for the cpu */
|
||||
unsigned long ec_mask; /* bit mask for ec_xxx functions */
|
||||
unsigned long ec_clk; /* sigp timestamp for ec_xxx */
|
||||
signed char state; /* physical cpu state */
|
||||
signed char polarization; /* physical polarization */
|
||||
u16 address; /* physical cpu address */
|
||||
@ -174,6 +175,7 @@ static void pcpu_ec_call(struct pcpu *pcpu, int ec_bit)
|
||||
if (test_and_set_bit(ec_bit, &pcpu->ec_mask))
|
||||
return;
|
||||
order = pcpu_running(pcpu) ? SIGP_EXTERNAL_CALL : SIGP_EMERGENCY_SIGNAL;
|
||||
pcpu->ec_clk = get_tod_clock_fast();
|
||||
pcpu_sigp_retry(pcpu, order, 0);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user