Skip to content
  • John Ogness's avatar
    x86/mm/cpa: Avoid wbinvd() for PREEMPT · 459fbe00
    John Ogness authored
    
    
    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: default avatarJohn Ogness <john.ogness@linutronix.de>
    Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Sebastian Siewior <bigeasy@linutronix.de>
    Cc: linux-rt-users <linux-rt-users@vger.kernel.org>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    459fbe00