Re: [RFC PATCH 18/18] x86: request TLB flush to slave CPU using NMI

From: Avi Kivity
Date: Thu Jun 28 2012 - 12:39:15 EST


On 06/28/2012 09:08 AM, Tomoki Sekiyama wrote:
> For slave CPUs, it is inapropriate to request TLB flush using IPI.
> because the IPI may be sent to a KVM guest when the slave CPU is running
> the guest with direct interrupt routing.
>
> Instead, it registers a TLB flush request in per-cpu bitmask and send a NMI
> to interrupt execution of the guest. Then, NMI handler will check the
> requests and handles the requests.


Currently x86's get_user_pages_fast() depends on TLB flushes being held
up by local_irq_disable(). With this patch, this is no longer true and
get_user_pages_fast() can race with page table freeing. There are
patches from Peter Zijlstra to remove this dependency though. NMIs are
still slow and fragile when compared to normal interrupts, so this patch
is somewhat problematic.


--
error compiling committee.c: too many arguments to function


--
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/