Commit 700f11e
lan966x: Don't use xdp_frame when action is XDP_TX
When the action of an xdp program was XDP_TX, lan966x was creating
a xdp_frame and use this one to send the frame back. But it is also
possible to send back the frame without needing a xdp_frame, because
it is possible to send it back using the page.
And then once the frame is transmitted is possible to use directly
page_pool_recycle_direct as lan966x is using page pools.
This would save some CPU usage on this path, which results in higher
number of transmitted frames. Bellow are the statistics:
Frame size: Improvement:
64 ~8%
256 ~11%
512 ~8%
1000 ~0%
1500 ~0%
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Link: https://lore.kernel.org/r/20230422142344.3630602-1-horatiu.vultur@microchip.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>1 parent ee3392e commit 700f11e
3 files changed
Lines changed: 28 additions & 23 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
390 | 390 | | |
391 | 391 | | |
392 | 392 | | |
| 393 | + | |
393 | 394 | | |
394 | 395 | | |
395 | 396 | | |
| |||
432 | 433 | | |
433 | 434 | | |
434 | 435 | | |
435 | | - | |
| 436 | + | |
| 437 | + | |
436 | 438 | | |
437 | 439 | | |
438 | 440 | | |
| |||
699 | 701 | | |
700 | 702 | | |
701 | 703 | | |
702 | | - | |
703 | | - | |
704 | | - | |
705 | | - | |
| 704 | + | |
706 | 705 | | |
707 | 706 | | |
708 | 707 | | |
709 | 708 | | |
| 709 | + | |
710 | 710 | | |
| 711 | + | |
711 | 712 | | |
712 | 713 | | |
713 | 714 | | |
| |||
722 | 723 | | |
723 | 724 | | |
724 | 725 | | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
725 | 729 | | |
726 | | - | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
727 | 733 | | |
728 | 734 | | |
729 | 735 | | |
| |||
743 | 749 | | |
744 | 750 | | |
745 | 751 | | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
746 | 755 | | |
747 | 756 | | |
748 | 757 | | |
749 | 758 | | |
750 | 759 | | |
| 760 | + | |
| 761 | + | |
751 | 762 | | |
752 | 763 | | |
753 | 764 | | |
| |||
756 | 767 | | |
757 | 768 | | |
758 | 769 | | |
759 | | - | |
| 770 | + | |
760 | 771 | | |
761 | 772 | | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
762 | 776 | | |
763 | 777 | | |
764 | | - | |
| 778 | + | |
765 | 779 | | |
766 | 780 | | |
767 | 781 | | |
768 | 782 | | |
769 | | - | |
770 | 783 | | |
771 | | - | |
772 | | - | |
773 | | - | |
| 784 | + | |
774 | 785 | | |
775 | 786 | | |
776 | 787 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
| 246 | + | |
246 | 247 | | |
247 | 248 | | |
248 | 249 | | |
| |||
541 | 542 | | |
542 | 543 | | |
543 | 544 | | |
544 | | - | |
545 | | - | |
546 | | - | |
547 | | - | |
| 545 | + | |
548 | 546 | | |
549 | 547 | | |
550 | 548 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
80 | 79 | | |
81 | 80 | | |
82 | 81 | | |
| |||
90 | 89 | | |
91 | 90 | | |
92 | 91 | | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
| 92 | + | |
| 93 | + | |
98 | 94 | | |
99 | 95 | | |
100 | 96 | | |
| |||
0 commit comments