Skip to content
  • Will Deacon's avatar
    ARM: cacheflush: split user cache-flushing into interruptible chunks · 28256d61
    Will Deacon authored
    
    
    Flushing a large, non-faulting VMA from userspace can potentially result
    in a long time spent flushing the cache line-by-line without preemption
    occurring (in the case of CONFIG_PREEMPT=n).
    
    Whilst this doesn't affect the stability of the system, it can certainly
    affect the responsiveness and CPU availability for other tasks.
    
    This patch splits up the user cacheflush code so that it flushes in
    chunks of a page. After each chunk has been flushed, we may reschedule
    if appropriate and, before processing the next chunk, we allow any
    pending signals to be handled before resuming from where we left off.
    
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    28256d61