Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59a0a8aa authored by Dean Nelson's avatar Dean Nelson Committed by Tony Luck
Browse files

[IA64] fix call of smp_processor_id() by XPC while



XPC calls smp_processor_id() twice from xpc_setup_infrastructure() with
preemption enabled, which gets flagged if 'DEBUG_PREEMPT=y'. This patch
replaces the two calls to smp_processor_id() by a single call to
raw_smp_processor_id() since any CPU within the partition will do.

Signed-off-by: default avatarDean Nelson <dcn@sgi.com>
Acked-by: default avatarChristoph Hellwig <hch@infradead.org>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent 7c2a6c62
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ xpc_initialize_channels(struct xpc_partition *part, partid_t partid)
enum xpc_retval
xpc_setup_infrastructure(struct xpc_partition *part)
{
	int ret;
	int ret, cpuid;
	struct timer_list *timer;
	partid_t partid = XPC_PARTID(part);

@@ -223,9 +223,9 @@ xpc_setup_infrastructure(struct xpc_partition *part)
	xpc_vars_part[partid].openclose_args_pa =
					__pa(part->local_openclose_args);
	xpc_vars_part[partid].IPI_amo_pa = __pa(part->local_IPI_amo_va);
	xpc_vars_part[partid].IPI_nasid = cpuid_to_nasid(smp_processor_id());
	xpc_vars_part[partid].IPI_phys_cpuid =
					cpu_physical_id(smp_processor_id());
	cpuid = raw_smp_processor_id();	/* any CPU in this partition will do */
	xpc_vars_part[partid].IPI_nasid = cpuid_to_nasid(cpuid);
	xpc_vars_part[partid].IPI_phys_cpuid = cpu_physical_id(cpuid);
	xpc_vars_part[partid].nchannels = part->nchannels;
	xpc_vars_part[partid].magic = XPC_VP_MAGIC1;