linux-stable/drivers/net/ethernet/netronome/nfp
Jakub Kicinski 9a90c83c09 nfp: bpf: optimize the RMW for stack accesses
When we are performing unaligned stack accesses in the 32-64B window
we have to do a read-modify-write cycle.  E.g. for reading 8 bytes
from address 17:

0:  tmp    = stack[16]
1:  gprLo  = tmp >> 8
2:  tmp    = stack[20]
3:  gprLo |= tmp << 24
4:  tmp    = stack[20]
5:  gprHi  = tmp >> 8
6:  tmp    = stack[24]
7:  gprHi |= tmp << 24

The load on line 4 is unnecessary, because tmp already contains data
from stack[20].

For write we can optimize both loads and writebacks away.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-10-24 17:38:37 +09:00
..
bpf nfp: bpf: optimize the RMW for stack accesses 2017-10-24 17:38:37 +09:00
flower nfp: use struct fields for 8 bit-wide access 2017-10-22 03:09:32 +01:00
nfpcore nfp: wait for the NSP resource to appear on boot 2017-09-13 13:29:13 -07:00
nic nfp: separate app vNIC init/clean from alloc/free 2017-09-03 21:22:04 -07:00
Makefile nfp: bpf: move software reg helpers and cmd table out of translator 2017-10-09 09:51:02 -07:00
nfp_app.c nfp: Explicitly include linux/bug.h 2017-10-14 18:31:41 -07:00
nfp_app.h nfp: output control messages to trace_devlink_hwmsg() 2017-10-09 09:51:02 -07:00
nfp_app_nic.c nfp: separate app vNIC init/clean from alloc/free 2017-09-03 21:22:04 -07:00
nfp_asm.c nfp: bpf: direct packet access - write 2017-10-14 11:13:28 -07:00
nfp_asm.h nfp: Explicitly include linux/bug.h 2017-10-14 18:31:41 -07:00
nfp_devlink.c nfp: devlink add support for getting eswitch mode 2017-06-25 11:42:01 -04:00
nfp_hwmon.c
nfp_main.c nfp: wait for the NSP resource to appear on boot 2017-09-13 13:29:13 -07:00
nfp_main.h nfp: add basic SR-IOV ndo functions 2017-08-25 19:24:58 -07:00
nfp_net.h nfp: allow retreiving management FW logs on representors 2017-08-18 22:39:27 -07:00
nfp_net_common.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-22 13:39:14 +01:00
nfp_net_ctrl.h nfp: bpf: move to datapath ABI version 2 2017-10-09 09:51:03 -07:00
nfp_net_debugfs.c nfp: don't reuse pointers in ring dumping 2017-08-18 22:39:28 -07:00
nfp_net_ethtool.c nfp: fix ethtool stats gather retry 2017-10-10 13:18:33 -07:00
nfp_net_main.c nfp: wait for board state before talking to the NSP 2017-09-13 13:29:13 -07:00
nfp_net_repr.c nfp: add basic SR-IOV ndo functions to representors 2017-08-25 19:24:58 -07:00
nfp_net_repr.h nfp: extend flower matching capabilities 2017-07-01 08:51:32 -07:00
nfp_net_sriov.c nfp: add basic SR-IOV ndo functions 2017-08-25 19:24:58 -07:00
nfp_net_sriov.h nfp: add basic SR-IOV ndo functions 2017-08-25 19:24:58 -07:00
nfp_netvf_main.c nfp: advertise support for NFD ABI 0.5 2017-06-07 12:51:42 -04:00
nfp_port.c nfp: store pointer to MAC statistics in nfp_port 2017-08-18 22:39:28 -07:00
nfp_port.h nfp: add ethtool statistics for representors 2017-08-18 22:39:28 -07:00