• J
    x86/mm/cpa: Avoid wbinvd() for PREEMPT · 459fbe00
    John Ogness 提交于
    Although wbinvd() is faster than flushing many individual pages, it blocks
    the memory bus for "long" periods of time (>100us), thus directly causing
    unusually large latencies on all CPUs, regardless of any CPU isolation
    features that may be active. This is an unpriviledged operatation as it is
    exposed to user space via the graphics subsystem.
    
    For 1024 pages, flushing those pages individually can take up to 2200us,
    but the task remains fully preemptible during that time.
    Signed-off-by: NJohn Ogness <john.ogness@linutronix.de>
    Acked-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Sebastian Siewior <bigeasy@linutronix.de>
    Cc: linux-rt-users <linux-rt-users@vger.kernel.org>
    Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
    459fbe00
pageattr.c 48.0 KB