[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-ia64-devel] [PATCH] Fix smp_processor_id for host SMP


  • To: <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
  • Date: Tue, 20 Dec 2005 12:41:48 +0800
  • Delivery-date: Tue, 20 Dec 2005 04:44:22 +0000
  • List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
  • Thread-index: AcYFH6igqPakxu+RRduO+3x01giu7g==
  • Thread-topic: [PATCH] Fix smp_processor_id for host SMP

Fix smp_processor_id to be linked to correct processor id under vcpu,
which is the exact one updated by scheduler. Or else easy to think how
things get messed under SMP environment. One phenomenon observed is
about softirq. Exit path on CPU1 checks pending indicator by
local_cpu_data, and then goto do_softirq if pending true. However
do_softirq uses cpu_data(cpu) to query pending bit again. Cpu index is
aquired from smp_processor_id, with thread_info->cpu not cared by
scheduler. Finally do_softirq on CPU1 tries to operate percpu data on
CPU0 then.

Also disable several prints within critical path, like sending IPI. Due
to slow serial speed, this will slow down overall performance heavily
since event channels among CPUs are in traffic.

This patch is critical for host SMP.

Signed-off-by Kevin Tian <kevin.tian@xxxxxxxxx>

Thanks,
Kevin

Attachment: smp_processor_id.patch
Description: smp_processor_id.patch

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.