Re: [RFC PATCH v2 tip 0/7] 64-bit BPF insn set and tracing filters

From: Alexei Starovoitov
Date: Fri Feb 14 2014 - 12:55:50 EST


On Fri, Feb 14, 2014 at 9:02 AM, Daniel Borkmann <dborkman@xxxxxxxxxx> wrote:
> On 02/14/2014 01:59 AM, Alexei Starovoitov wrote:
> ...
>>>
>>> I'm very curious, do you also have any performance numbers, e.g. for
>>>
>>> networking by taking JIT'ed/non-JIT'ed BPF filters and compare them
>>> against
>>> JIT'ed/non-JIT'ed eBPF filters to see how many pps we gain or loose e.g.
>>> for a scenario with a middle box running cls_bpf .. or some other macro/
>>> micro benchmark just to get a picture where both stand in terms of
>>> performance? Who knows, maybe it would outperform nftables engine as
>>> well? ;-) How would that look on a 32bit arch with eBPF that is 64bit?
>>
>>
>> I don't have jited/non-jited numbers, but I suspect for micro-benchmarks
>> the gap should be big. I was shooting for near native performance after
>> JIT.
>
>
> Ohh, I meant it would be interesting to see a comparison of e.g. common
> libpcap
> high-level filters that are in 32bit BPF + JIT (current code) vs 64bit BPF +
> JIT
> (new code). I'm wondering how 32bit-only archs should be handled to not
> regress
> in evaluation performance to the current code.

Agreed. If we want to rip off old bpf interpreter and replace it with old->new
converter + new bpf interpreter, the performance of it should be very close.
In grand scheme some differences are ok, since libpcap bpf filters are not hot.
So much is happening before and after that tcpdump won't notice whether
filter was jited or not. cls_bpf is a different story, though I don't know what
specific use case you have there.
Could you define a bpf micro benchmark ? cls_bpf with pktgen?

Thanks
Alexei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/