On 2/24/23 11:41, Adrián Moreno wrote:
> From: Adrian Moreno <amore...@redhat.com>
> 
> This is basically a rewrite of the upcall_cost.py script moving some of
> it's functionality to the ebpf programs. These are the main changes:
> 
> * Correlation of kernel upcall <-> userspace recv upcall.
> The correlation was being done in python by comparing the packet
> contents.
> We still don't have a better way to do it but, instead of doing it
> at post-processing time, compute a hash in the ebpf program so
> correlation is little more than an indirection.
> For the hash library we use jhash.h from the linux-headers package.
> 
> * GSO packets
> We where attaching to the upcall tracepoint which is hit before
> fragmentation. Use a kprobe on kprobe__queue_userspace_packet to
> correlate upcalls to upcall queue events.
> 
> * Userspace operation batching.
> Also move the batc tracking implementation to the ebpf programs so each
> operation (e.g: PUT, EXEC) event  contains the id (hash) of the
> correspondent RECV.
> 
> As a result of this, it's no longer mandatory to send the packet or key
> bytes to userspace, leading to smaller events and less event drops.
> Also, accuracy is improved since we're now considering fragmentation.
> Additionally, there is no need for a time-consuming post-processing
> phase so the script is now much faster.
> 
> Signed-off-by: Adrian Moreno <amore...@redhat.com>

Hi, Adrian.  I'll leave the actual review to Eelco, but FYI this change
is failing builds due to PEP8 issues.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to