Re: [PATCH 2/10] x86: convert to generic helpers for IPI function calls

From: Jens Axboe
Date: Thu May 29 2008 - 08:17:19 EST


On Thu, May 29 2008, Jeremy Fitzhardinge wrote:
> Jens Axboe wrote:
> >@@ -122,6 +109,17 @@ static int xen_smp_intr_init(unsigned int cpu)
> > goto fail;
> > per_cpu(debug_irq, cpu) = rc;
> >
> >+ callfunc_name = kasprintf(GFP_KERNEL, "callfuncsingle%d",
> >cpu);
> >+ rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_SINGLE_VECTOR,
> >+ cpu,
> >+
> >xen_call_function_single_interrupt,
> >+
> >IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING,
> >+ callfunc_name,
> >+ NULL);
> >+ if (rc < 0)
> >+ goto fail;
> >+ per_cpu(callfuncsingle_irq, cpu) = rc;
> >
>
> Tiny nit: could you shift this up below the other callfunc
> registration, so they appear next to each other in /proc?

Certainly, will do.

> >+void xen_smp_send_call_function_ipi(cpumask_t mask)
> >+{
> >+ int cpu;
> >+
> >+ xen_send_IPI_mask(mask, XEN_CALL_FUNCTION_VECTOR);
> >+
> >+ /* Make sure other vcpus get a chance to run if they need to.
> >*/
> >+ for_each_cpu_mask(cpu, mask) {
> >+ if (xen_vcpu_stolen(cpu)) {
> >+ HYPERVISOR_sched_op(SCHEDOP_yield, 0);
> >+ break;
> >+ }
> >+ }
> >
>
> I think you should just drop this loop for now; I want to do some
> measurements before putting it in.

If you don't mind, I'd like to keep it as-is. Then the patch should
not have a functional change (there, at least), which I think is
important. I can add a later patch removing this stolen bit, it would
be even better if you send me such a patch :-)

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/