Commit 0cb39c97 authored by Heiko Carstens's avatar Heiko Carstens Committed by Alexander Gordeev
Browse files

s390/smp: Remove conditional emergency signal order code usage



pcpu_ec_call() uses either the external call or emergency signal order
code to signal (aka send an IPI) to a remote CPU. If the remote CPU is
not running the emergency signal order is used.

Measurements show that always using the external order code is at least
as good, and sometimes even better, than the existing code.

Therefore remove emergency signal order code usage from pcpu_ec_call().

Suggested-by: default avatarChristian Borntraeger <borntraeger@linux.ibm.com>
Acked-by: default avatarChristian Borntraeger <borntraeger@linux.ibm.com>
Reviewed-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
parent a3d0b7a1
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -175,13 +175,10 @@ static struct pcpu *pcpu_find_address(const struct cpumask *mask, u16 address)

static void pcpu_ec_call(struct pcpu *pcpu, int ec_bit)
{
	int order;

	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);
	pcpu_sigp_retry(pcpu, SIGP_EXTERNAL_CALL, 0);
}

static int pcpu_alloc_lowcore(struct pcpu *pcpu, int cpu)