OpenCloudOS-Kernel/drivers/net/ethernet/marvell/mvpp2
Matteo Croce 2f128eb330 mvpp2: prefetch page
Most of the time during the RX is caused by the compound_head() call
done at the end of the RX loop:

       │     build_skb():
       [...]
       │     static inline struct page *compound_head(struct page *page)
       │     {
       │     unsigned long head = READ_ONCE(page->compound_head);
 65.23 │       ldr  x2, [x1, #8]

Prefetch the page struct as soon as possible, to speedup the RX path
noticeabily by a ~3-4% packet rate in a drop test.

       │     build_skb():
       [...]
       │     static inline struct page *compound_head(struct page *page)
       │     {
       │     unsigned long head = READ_ONCE(page->compound_head);
 17.92 │       ldr  x2, [x1, #8]

Signed-off-by: Matteo Croce <mcroce@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-06-09 15:26:50 -07:00
..
Makefile net: mvpp2: ptp: add TAI support 2020-09-09 14:22:42 -07:00
mvpp2.h net: mvpp2: add buffer header handling in RX 2021-05-25 15:49:04 -07:00
mvpp2_cls.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mvpp2_cls.h net: marvell: Fixed two spellings,controling to controlling and oen to one 2021-01-12 19:02:01 -08:00
mvpp2_debugfs.c mvpp2: no need to check return value of debugfs_create functions 2019-08-10 15:25:48 -07:00
mvpp2_main.c mvpp2: prefetch page 2021-06-09 15:26:50 -07:00
mvpp2_prs.c mvpp2: suppress warning 2021-05-10 15:00:23 -07:00
mvpp2_prs.h net: mvpp2: Add parsing support for different IPv4 IHL values 2021-04-16 15:29:40 -07:00
mvpp2_tai.c net: mvpp2: ptp: add support for receive timestamping 2020-09-09 14:22:42 -07:00