diff options
author | Ioana Ciocoi Radulescu <ruxandra.radulescu@nxp.com> | 2018-12-14 19:04:05 +0300 |
---|---|---|
committer | Li Yang <leoyang.li@nxp.com> | 2019-01-12 00:06:54 +0300 |
commit | f1e250bf365962519c96a1255b2fe34b6c0d6c60 (patch) | |
tree | dcb0aecc6a476ade4441825c84c00ebfc2d804af | |
parent | afb77422819ff60612e9b7d36461b9b2bc8e038e (diff) | |
download | linux-f1e250bf365962519c96a1255b2fe34b6c0d6c60.tar.xz |
soc: fsl: dpio: Add prefetch instruction
In dpaa2_io_store_next(), if the current dequeue entry is not
the last, prefetch the next one as most likely it will be
requested shortly by the consumer driver.
This brings a ~3% improvement for dpaa2 ethernet driver
IP forwarding with small size frames.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Signed-off-by: Li Yang <leoyang.li@nxp.com>
-rw-r--r-- | drivers/soc/fsl/dpio/dpio-service.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/soc/fsl/dpio/dpio-service.c b/drivers/soc/fsl/dpio/dpio-service.c index bc801934602a..5389336463c0 100644 --- a/drivers/soc/fsl/dpio/dpio-service.c +++ b/drivers/soc/fsl/dpio/dpio-service.c @@ -630,6 +630,7 @@ struct dpaa2_dq *dpaa2_io_store_next(struct dpaa2_io_store *s, int *is_last) if (!(dpaa2_dq_flags(ret) & DPAA2_DQ_STAT_VALIDFRAME)) ret = NULL; } else { + prefetch(&s->vaddr[s->idx]); *is_last = 0; } |