[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] [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 _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |