On 2019-05-02 16:47, Daniel Borkmann wrote:
On 04/29/2019 09:16 PM, Jeff Kirsher wrote:
From: Björn Töpel <bjorn.to...@intel.com>
GCC will generate jump tables for switch-statements with more than 5
case statements. An entry into the jump table is an indirect call,
which means that for CONFIG_RETPOLINE builds, this is rather
expensive.
This commit replaces the switch-statement that acts on the XDP program
result with an if-clause.
The if-clause was also refactored into a common function that can be
used by AF_XDP zero-copy and non-zero-copy code.
Isn't it fixed upstream by now already (also in gcc)?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ce02ef06fcf7a399a6276adb83f37373d10cbbe1
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9d57ef15cbe327fe54416dd194ee0ea66ae53a4
Hmm, given that Daniel's work is upstream, this patch doesn't really
make sense any more. OTOH it can stay in the series, and be cleaned up
later.
I'll leave it for you to decide, Jeff!
Cheers,
Björn