Squash and port to 3.14 of five changes by Rich Wiley <rwiley@nvidia.com>
from the 3.10 Android kernel to improve TLB flushing performance. The end
result is two main improvements:
- Do a single flush_tlb_all if calls are made to flush_tlb_range with a
size greater than FLUSH_TLB_ALL_THRESHOLD.
- Only do a local TLB flush if a process has only run on the current CPU.
BUG=chrome-os-partner:33355,chrome-os-partner:33868
TEST=check 'perf top' and ensure tlb_flush_mmu does not appear while running
'while true; do cat /tmp/t > /dev/null; done'
Signed-off-by: David Riley <davidriley@chromium.org>
Change-Id: Idd3e64f891fd35cc6361cf6bd37727cdbac2f85f
Reviewed-on: https://chromium-review.googlesource.com/231383
Reviewed-by: Anatol Pomazau <anatol@google.com>
Tested-by: Anatol Pomazau <anatol@google.com>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Queue: David Riley <davidriley@chromium.org>