s390/smp: only send external call ipi if needed

If the per cpu ec_mask bit of the receiving cpu is already set there is
no need to send an ipi, since a different cpu has already sent an ipi
and the receiving cpu has not yet executed the external call ipi handler.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Bu işleme şunda yer alıyor:
Heiko Carstens
2013-12-03 10:06:29 +01:00
işlemeyi yapan: Martin Schwidefsky
ebeveyn e6b2551425
işleme dea24190fb

Dosyayı Görüntüle

@@ -159,9 +159,9 @@ static void pcpu_ec_call(struct pcpu *pcpu, int ec_bit)
{
int order;
set_bit(ec_bit, &pcpu->ec_mask);
order = pcpu_running(pcpu) ?
SIGP_EXTERNAL_CALL : SIGP_EMERGENCY_SIGNAL;
if (test_and_set_bit(ec_bit, &pcpu->ec_mask))
return;
order = pcpu_running(pcpu) ? SIGP_EXTERNAL_CALL : SIGP_EMERGENCY_SIGNAL;
pcpu_sigp_retry(pcpu, order, 0);
}