[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20170426.222339.1486764869366311464.davem@davemloft.net>
Date: Wed, 26 Apr 2017 22:23:39 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: ast@...com
Cc: daniel@...earbox.net, netdev@...r.kernel.org
Subject: Re: more test_progs...
From: Alexei Starovoitov <ast@...com>
Date: Wed, 26 Apr 2017 16:49:35 -0700
> It's only needed for test_pkt_access.c test,
> since it's being fancy and doing iph->ihl * 4.
It is going to be a common idiom in anything looking at
transport headers, no?
> Also such tcp->urg_ptr access into packed struct is more efficient
> after JITing then sparc's own load_half_unaligned in asm, since it's
> done inline and doesn't need a call.
>
> Note that such tcphdr workaround is not necessary for more
> real programs: test_l4lb.c and test_xdp.c, since they do:
> if (iph->ihl != 5)
> return drop;
Hmmm...
> Does sparc64 have some special instructions like that?
Unfortunately not.
I think we need to seriously consider tracking "Pointer
incremented by power of 2 N" and stuff like that.
I know it's not easy, but it is necessary.
Having stuff like the packed thing above is just a completely
unnecessary detail to expose to users writing these programs.
Powered by blists - more mailing lists