Uploaded image for project: 'Network Observability'
  1. Network Observability
  2. NETOBSERV-559

Improve map reading in userspace

    • Icon: Story Story
    • Resolution: Done
    • Icon: Major Major
    • None
    • None
    • None
    • Improvement
    • 3
    • False
    • None
    • False
    • OCPSTRAT-1207 - Improve Network Observability Operator performance with latest eBPF enhancements (bpfman, Tcx hook latest kernel & RHEL9.4)
    • NetObserv - Sprint 248, NetObserv - Sprint 249, NetObserv - Sprint 250, NetObserv - Sprint 251

      lookupAndDeleteMapKeysValues function (tracer.go) now iterates the map and removes each read entry individually.

      This could lead to a race condition (improbable, though) and we might loose few information. Newer versions of the kernel support other methods that could improve the process:

      • LookupAndDelete (Kernel>=4.20)
      • BatchLookupAndDelete (Kernel >= 5.6)

      Detect at runtime whether these functions are available and use them when possible. (E.g. they should be available on rhel9 / ocp4.13+)

      They could also greatly improve performances (this part LookupAndDeleteMap was identified as a bottleneck in user space profiling)

              jtakvori Joel Takvorian
              mmaciasl@redhat.com Mario Macias (Inactive)
              Nathan Weinberg Nathan Weinberg
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: