On 2/24/23 11:41, Adrián Moreno wrote: > From: Adrian Moreno <[email protected]> > > 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 <[email protected]>
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 [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
