remarkable-linux/arch/mips
Markos Chandras c6610de353 MIPS: net: Add BPF JIT
This adds initial support for BPF-JIT on MIPS

Tested on mips32 LE/BE and mips64 BE/n64 using
dhcp, ping and various tcpdump filters.

Benchmarking:

Assuming the remote MIPS target uses 192.168.154.181
as its IP address, and the local host uses 192.168.154.136,
the following results can be obtained using the following
tcpdump filter (catches no frames) and a simple
'time ping -f -c 1000000' command.

[root@(none) ~]# tcpdump -p -n -s 0 -i eth0 net 10.0.0.0/24 -d
(000) ldh      [12]
(001) jeq      #0x800           jt 2	jf 8
(002) ld       [26]
(003) and      #0xffffff00
(004) jeq      #0xa000000       jt 16	jf 5
(005) ld       [30]
(006) and      #0xffffff00
(007) jeq      #0xa000000       jt 16	jf 17
(008) jeq      #0x806           jt 10	jf 9
(009) jeq      #0x8035          jt 10	jf 17
(010) ld       [28]
(011) and      #0xffffff00
(012) jeq      #0xa000000       jt 16	jf 13
(013) ld       [38]
(014) and      #0xffffff00
(015) jeq      #0xa000000       jt 16	jf 17
(016) ret      #65535

- BPF-JIT Disabled

real    1m38.005s
user    0m1.510s
sys     0m6.710s

- BPF-JIT Enabled

real    1m35.215s
user    0m1.200s
sys     0m4.140s

[ralf@linux-mips.org: Resolved conflict.]

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
2014-05-30 16:10:20 +02:00
..
alchemy MIPS: Alchemy: Default to noncoherent IO on Au1200 AB 2014-05-28 11:04:48 +02:00
ar7 MIPS: Restore init.h usage to arch/mips/ar7/time.c 2014-03-26 23:09:23 +01:00
ath79
bcm47xx MIPS: BCM47XX: Slightly clean memory detection 2014-05-30 11:00:21 +02:00
bcm63xx MIPS: Use current_cpu_type() instead of c->cputype 2014-03-31 18:17:12 +02:00
boot
cavium-octeon MIPS: octeon: Add interface mode detection for Octeon II 2014-05-29 23:02:42 +02:00
cobalt
configs Merge branch 'wip-mips-pm' of https://github.com/paulburton/linux into mips-for-linux-next 2014-05-29 15:08:23 +02:00
dec MIPS: DEC/SNI: O32 wrapper stack switching fixes 2014-05-13 00:29:35 +02:00
emma
fw MIPS: DEC/SNI: O32 wrapper stack switching fixes 2014-05-13 00:29:35 +02:00
include MIPS: uasm: Add lb uasm instruction 2014-05-30 16:10:19 +02:00
jazz
jz4740
kernel Merge branch 'wip-mips-pm' of https://github.com/paulburton/linux into mips-for-linux-next 2014-05-29 15:08:23 +02:00
kvm
lantiq MIPS: DTS: Fix missing device_type="memory" property in memory nodes 2014-05-26 16:15:38 +02:00
lasat MIPS: Lasat: Replace del_timer by del_timer_sync 2014-03-31 18:17:12 +02:00
lib MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
loongson MIPS: Lemote 2F: cs5536: mfgpt: depend on !highres 2014-05-28 10:49:24 +02:00
loongson1 MIPS: Disable MIPS16/microMIPS crap for platforms not supporting these ASEs. 2014-05-23 15:12:37 +02:00
math-emu MIPS: math-emu: Add IEEE754 exception statistics to debugfs 2014-05-30 11:55:23 +02:00
mm MIPS: uasm: Add lb uasm instruction 2014-05-30 16:10:19 +02:00
mti-malta MIPS: malta: Remove 'maybe_unused' attribute from ememsize{, _str} 2014-05-25 14:29:05 +02:00
mti-sead3 MIPS: SEAD3: Introduce the use of the managed version of kzalloc 2014-05-26 16:06:35 +02:00
net MIPS: net: Add BPF JIT 2014-05-30 16:10:20 +02:00
netlogic MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
oprofile MIPS: Add support for the M5150 processor 2014-03-26 23:09:22 +01:00
pci MIPS: Octeon: Add PCIe2 support in arch_setup_msi_irq() 2014-05-28 11:03:39 +02:00
pmcs-msp71xx MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
pnx833x MIPS: PNX833x: Remove checks for CONFIG_I2C_PNX0105 2014-05-23 15:12:39 +02:00
power MIPS: Hibernate: Flush TLB entries in swsusp_arch_resume() 2014-03-31 10:16:53 +02:00
ralink MIPS: DTS: Fix missing device_type="memory" property in memory nodes 2014-05-26 16:15:38 +02:00
rb532
sgi-ip22
sgi-ip27 MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
sgi-ip32
sibyte MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
sni
txx9
vr41xx
Kbuild MIPS: net: Add BPF JIT 2014-05-30 16:10:20 +02:00
Kbuild.platforms
Kconfig Merge branch 'wip-mips-pm' of https://github.com/paulburton/linux into mips-for-linux-next 2014-05-29 15:08:23 +02:00
Kconfig.debug MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
Makefile MIPS: math-emu: Move various objects into an ar library. 2014-05-23 15:11:14 +02:00