1. 28 Aug, 2013 2 commits
  2. 20 Aug, 2013 3 commits
    • Will Deacon's avatar
      ARM: cacheflush: don't bother rounding to nearest vma · 97c72d89
      Will Deacon authored
      do_cache_op finds the lowest VMA contained in the specified address
      range and rounds the range to cover only the mapped addresses.
      
      Since commit 4542b6a0 ("ARM: 7365/1: drop unused parameter from
      flush_cache_user_range") the VMA is not used for anything else in this
      code and seeing as the low-level cache flushing routines return -EFAULT
      if the address is not valid, there is no need for this range truncation.
      
      This patch removes the VMA handling code from the cacheflushing syscall.
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      97c72d89
    • Will Deacon's avatar
      ARM: cacheflush: don't round address range up to nearest page · d9524dc3
      Will Deacon authored
      The flush_cache_user_range macro takes a pair of addresses describing
      the start and end of the virtual address range to flush. Due to an
      accidental oversight when flush_cache_range_user was introduced, the
      address range was rounded up so that the start and end addresses were
      page-aligned.
      
      For historical reference, the interesting commits in history.git are:
      
      10eacf17 ("[ARM] Clean up ARM cache handling interfaces (part 1)")
      71432e79 ("[ARM] Add flush_cache_user_page() for sys_cacheflush()")
      
      This patch removes the alignment code, reducing the amount of flushing
      required for ranges that are not an exact multiple of PAGE_SIZE.
      Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Reported-by: default avatarJonathan Austin <jonathan.austin@arm.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      d9524dc3
    • 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
  3. 12 Aug, 2013 12 commits
  4. 04 Aug, 2013 6 commits
  5. 03 Aug, 2013 17 commits