linux/arch/mips/mm
David Daney ce807d5f67 MIPS: Optimize uasm insn lookup.
Instead of doing a linear search through the insn_table for each
instruction, use the opcode as direct index into the table.  This will
give constant time lookup performance as the number of supported
opcodes increases.  Make the tables const as they are only ever read.
For uasm-mips.c sort the table alphabetically, and remove duplicate
entries, uasm-micromips.c was already sorted and duplicate free.
There is a small savings in object size as struct insn loses a field:

$ size arch/mips/mm/uasm-mips.o arch/mips/mm/uasm-mips.o.save
   text	   data	    bss	    dec	    hex	filename
  10040	      0	      0	  10040	   2738	arch/mips/mm/uasm-mips.o
   9240	   1120	      0	  10360	   2878	arch/mips/mm/uasm-mips.o.save

Signed-off-by: David Daney <david.daney@cavium.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Matt Redfearn <matt.redfearn@imgtec.com>
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/16365/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2017-06-28 12:22:38 +02:00
..
c-octeon.c MIPS: c-r4k: Split user/kernel flush_icache_range() 2016-10-04 16:13:57 +02:00
c-r3k.c MIPS: c-r4k: Split user/kernel flush_icache_range() 2016-10-04 16:13:57 +02:00
c-r4k.c MIPS: c-r4k: Fix Loongson-3's vcache/scache waysize calculation 2017-03-21 23:22:43 +01:00
c-tx39.c MIPS: c-r4k: Split user/kernel flush_icache_range() 2016-10-04 16:13:57 +02:00
cache.c KVM: MIPS/Emulate: Adapt T&E CACHE emulation for Octeon 2017-03-28 15:36:17 +01:00
cerr-sb1.c
cex-gen.S
cex-oct.S
cex-sb1.S mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
dma-default.c This is a tree wide change and has been kept separate for that reason. 2017-02-25 13:45:43 -08:00
extable.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
fault.c MIPS: Remove confusing else statement in __do_page_fault() 2017-04-13 00:47:04 +02:00
gup.c mm: replace get_user_pages_unlocked() write/force parameters with gup_flags 2016-10-18 14:13:37 -07:00
highmem.c MIPS: mm: Audit and remove any unnecessary uses of module.h 2016-10-05 01:31:20 +02:00
hugetlbpage.c mm/hugetlb: reduce arch dependent code about huge_pmd_unshare 2015-06-24 17:49:41 -07:00
init.c Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2017-05-12 09:56:30 -07:00
ioremap.c sched/headers: Prepare to remove the <linux/mm_types.h> dependency from <linux/sched.h> 2017-03-02 08:42:37 +01:00
Makefile MIPS: Move pgd_alloc() out of header 2017-02-02 15:06:26 +00:00
mmap.c mm: larger stack guard gap, between vmas 2017-06-19 21:50:20 +08:00
page-funcs.S MIPS: Export {copy, clear}_page functions alongside their definitions 2017-01-03 16:48:39 +01:00
page.c MIPS: Export {copy, clear}_page functions alongside their definitions 2017-01-03 16:48:39 +01:00
pgtable-32.c MIPS: mm: fixed mappings: correct initialisation 2017-06-08 14:51:58 +02:00
pgtable-64.c MIPS: Add 48-bit VA space (and 4-level page tables) for 4K pages. 2017-04-10 11:56:06 +02:00
pgtable.c MIPS: Move pgd_alloc() out of header 2017-02-02 15:06:26 +00:00
sc-debugfs.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
sc-ip22.c MIPS: IP22: Fix build error due to binutils 2.25 uselessnes. 2017-01-03 16:34:33 +01:00
sc-mips.c MIPS: sc-mips: L2 cache is inclusive of L1 dcache for CM3 2017-01-03 16:48:40 +01:00
sc-r5k.c MIPS: Remove useless parentheses 2014-11-24 07:44:49 +01:00
sc-rm7k.c MIPS: RM7000: Double locking bug in rm7k_tc_disable() 2016-07-21 10:59:46 +02:00
tlb-funcs.S MIPS: mm: Fix broken microMIPS kernel regression. 2014-05-14 18:11:06 +02:00
tlb-r3k.c MIPS: Retrieve ASID masks using function accepting struct cpuinfo_mips 2016-05-13 14:02:20 +02:00
tlb-r4k.c MIPS: Mask out limit field when calculating wired entry count 2016-11-24 16:44:16 +01:00
tlb-r8k.c MIPS: Retrieve ASID masks using function accepting struct cpuinfo_mips 2016-05-13 14:02:20 +02:00
tlbex-fault.S
tlbex.c MIPS: Add 48-bit VA space (and 4-level page tables) for 4K pages. 2017-04-10 11:56:06 +02:00
uasm-micromips.c MIPS: Optimize uasm insn lookup. 2017-06-28 12:22:38 +02:00
uasm-mips.c MIPS: Optimize uasm insn lookup. 2017-06-28 12:22:38 +02:00
uasm.c MIPS: Optimize uasm insn lookup. 2017-06-28 12:22:38 +02:00