diff options
| author | 2017-10-23 11:58:10 -0700 | |
|---|---|---|
| committer | 2017-10-24 17:38:37 +0900 | |
| commit | 9a90c83c09874a2fd03905ef0f73512c9de18799 (patch) | |
| tree | daa0ea3071024b29de93719e3357994588d99578 /include/linux/timerqueue.h | |
| parent | nfp: bpf: add stack read support (diff) | |
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>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
