android_kernel_motorola_sm6225/arch/arm/mm
Will Deacon a7a0410506 ARM: 7925/1: mm: keep track of last ASID allocation to improve bitmap searching
Since we only clear entries in the ASID bitmap on a rollover event, the
bitmap tends to consist of a block of consecutive set bits followed by
a block of consecutive clear bits. The exception to this rule is for
ASIDs which have been carried over from a previous generation, but
these are bound by the number of CPUs.

This patch optimises our bitmap searching strategy, so that we search
from the last successful allocation, rather than search from index 1
each time we allocate a new ASID.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-12-29 12:46:48 +00:00
..
abort-ev4.S
abort-ev4t.S
abort-ev5t.S
abort-ev5tj.S
abort-ev6.S ARM: asm: Add ARM_BE8() assembly helper 2013-10-19 20:46:33 +01:00
abort-ev7.S
abort-lv4t.S
abort-macro.S
abort-nommu.S
alignment.c ARM: alignment: correctly decode instructions in BE8 mode. 2013-10-19 20:46:34 +01:00
cache-aurora-l2.h ARM: 7547/4: cache-l2x0: add support for Aurora L2 cache ctrl 2012-11-06 19:47:35 +00:00
cache-fa.S
cache-feroceon-l2.c ARM: 7696/1: Fix kexec by setting outer_cache.inv_all for Feroceon 2013-04-17 16:53:27 +01:00
cache-l2x0.c ARM: 7922/1: l2x0: add Marvell Tauros3 support 2013-12-29 12:32:47 +00:00
cache-nop.S ARM: Add base support for ARMv7-M 2013-04-17 21:38:10 +02:00
cache-tauros2.c
cache-tauros3.h ARM: 7922/1: l2x0: add Marvell Tauros3 support 2013-12-29 12:32:47 +00:00
cache-v4.S ARM: mm: remove broken condition check for v4 flushing 2013-03-26 09:55:34 +00:00
cache-v4wb.S
cache-v4wt.S
cache-v6.S
cache-v7.S ARM: 7919/1: mm: refactor v7 cache cleaning ops to use way/index sequence 2013-12-29 12:32:40 +00:00
cache-xsc3l2.c
context.c ARM: 7925/1: mm: keep track of last ASID allocation to improve bitmap searching 2013-12-29 12:46:48 +00:00
copypage-fa.c
copypage-feroceon.c
copypage-v4mc.c
copypage-v4wb.c
copypage-v4wt.c
copypage-v6.c
copypage-xsc3.c
copypage-xscale.c
dma-mapping.c ARM: another fix for the DMA mapping checks 2013-12-09 23:24:26 +00:00
extable.c ARM: 7876/1: clear Thumb-2 IT state on exception handling 2013-11-07 00:15:49 +00:00
fault-armv.c mm: rename USE_SPLIT_PTLOCKS to USE_SPLIT_PTE_PTLOCKS 2013-11-15 09:32:14 +09:00
fault.c arch: mm: pass userspace fault flag to generic fault handler 2013-09-12 15:38:01 -07:00
fault.h
flush.c Merge branch 'devel-stable' into for-next 2013-06-29 11:44:43 +01:00
fsr-2level.c
fsr-3level.c ARM: mm: Transparent huge page support for LPAE systems. 2013-06-04 16:52:38 +01:00
highmem.c
hugetlbpage.c mm: migrate: check movability of hugepage in unmap_and_move_huge_page() 2013-09-11 15:57:49 -07:00
idmap.c ARM: mm: Move the idmap print to appropriate place in the code 2013-10-10 20:25:06 -04:00
init.c ARM: 7908/1: mm: Fix the arm_dma_limit calculation 2013-12-09 23:24:28 +00:00
iomap.c
ioremap.c ARM: 7728/1: mm: Use phys_addr_t properly for ioremap functions 2013-05-23 00:09:44 +01:00
Kconfig ARM: fix ARCH_IXP4xx usage of ARCH_SUPPORTS_BIG_ENDIAN 2013-10-19 20:46:32 +01:00
Makefile Merge branch 'for-rmk/hugepages' of git://git.linaro.org/people/stevecapper/linux into devel-stable 2013-06-18 20:05:48 +01:00
mm.h ARM: DMA-API: better handing of DMA masks for coherent allocations 2013-10-31 14:49:21 +00:00
mmap.c ARM: fix booting low-vectors machines 2013-11-30 14:45:31 +00:00
mmu.c ARM: 7884/1: mm: Fix ECC mem policy printk 2013-11-14 11:13:10 +00:00
nommu.c ARM: Fix nommu.c build warning 2013-11-14 10:59:50 +00:00
pabort-legacy.S
pabort-v6.S
pabort-v7.S
pgd.c ARM: pgd allocation: retry on failure 2013-12-29 12:36:20 +00:00
proc-arm7tdmi.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-arm9tdmi.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-arm720.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-arm740.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-arm920.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-arm922.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-arm925.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-arm926.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-arm940.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-arm946.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-arm1020.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-arm1020e.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-arm1022.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-arm1026.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-fa526.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-feroceon.S ARM: 7818/1: feroceon: Add suspend/resume operation 2013-08-20 00:12:52 +01:00
proc-macros.S ARM: 7773/1: PJ4B: Add support for errata 4742 2013-06-24 14:28:46 +01:00
proc-mohawk.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-sa110.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-sa1100.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-syms.c ARM: modules: don't export cpu_set_pte_ext when !MMU 2013-03-26 09:55:34 +00:00
proc-v6.S ARM: asm: Add ARM_BE8() assembly helper 2013-10-19 20:46:33 +01:00
proc-v7-2level.S ARM: 7784/1: mm: ensure SMP alternates assemble to exactly 4 bytes with Thumb-2 2013-07-22 14:29:09 +01:00
proc-v7-3level.S ARM: 7784/1: mm: ensure SMP alternates assemble to exactly 4 bytes with Thumb-2 2013-07-22 14:29:09 +01:00
proc-v7.S ARM: 7885/1: Save/Restore 64-bit TTBR registers on LPAE suspend/resume 2013-11-14 11:13:11 +00:00
proc-v7m.S ARM: ARMv7-M: implement read_cpuid_ext 2013-05-17 11:44:40 +02:00
proc-xsc3.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
proc-xscale.S arm: delete __cpuinit/__CPUINIT usage from all ARM users 2013-07-14 19:36:52 -04:00
tcm.h ARM: 7694/1: ARM, TCM: initialize TCM in paging_init(), instead of setup_arch() 2013-04-17 16:53:24 +01:00
tlb-fa.S
tlb-v4.S
tlb-v4wb.S
tlb-v4wbi.S
tlb-v6.S
tlb-v7.S ARM: mm: use inner-shareable barriers for TLB and user cache operations 2013-08-12 12:25:45 +01:00