Thread (1 message) 1 message, 1 author, 2016-03-21

Re: [Xen-devel] [PATCH v2 5/6] virt, sched: add cpu pinning to smp_call_sync_on_phys_cpu()

From: Juergen Gross <jgross@suse.com>
Date: 2016-03-21 14:21:18
Also in: lkml

On 21/03/16 14:42, Jan Beulich wrote:
quoted
quoted
quoted
On 21.03.16 at 13:24, [off-list ref] wrote:
@@ -758,9 +759,14 @@ struct smp_sync_call_struct {
 static void smp_call_sync_callback(struct work_struct *work)
 {
 	struct smp_sync_call_struct *sscs;
+	unsigned int cpu = smp_processor_id();
So this obtains the vCPU number, yet ...
quoted
 	sscs = container_of(work, struct smp_sync_call_struct, work);
+	preempt_disable();
+	hypervisor_pin_vcpu(cpu);
... here you're supposed to pass a pCPU number.

Also don't you need to call smp_processor_id() after preempt_disable()?
No, I'm running on the workqueue bound to the specific (v)cpu and I'm
expecting this vcpu to be pinned to the same numbered pcpu.

preempt_disable() is just called to avoid scheduling of another thread
while the override pinning is active.


Juergen
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help