On Thu, 2019-05-02 at 22:56 +0200, Björn Töpel wrote: > On 2019-05-02 22:40, Jeff Kirsher wrote: > > On Thu, 2019-05-02 at 22:29 +0200, Björn Töpel wrote: > > > 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! > > > > I am already making revisions to the series due to another patch, so if > > these changes are no longer needed to improve performance in RETPOLINE > > builds, then lets drop it. > > > > Björn, can you confirm that with or without these changes, XDP > > performance > > stays the same for RETPOLINE builds? > > > > Confirmed (on i40e using xdp1 and xdpsock samples); Same performance > with/without this patch. > > IOW, please drop this from your next spin.
Ok, dropped.
signature.asc
Description: This is a digitally signed message part