Merge remote-tracking branch 'rorsc/gtp-optim' into integration_2026_w29
Optimize syscalls in GTP receiver/sender, GTP F1 UL callback optimization (#280)
Use different syscalls to send data in GTP paths:
- sender: use sendmsg() to pass both header and packet buffers in kernel
instead of a temporary buffer + memcpy()
- receiver: use recvmmsg() to receive multiple packets at once, reducing
syscall overhead in high load scenarios.
Further, for the UL transmission in F1-U, remove a useless malloc() that
was done for each packet.
on my laptop, this can reduce losses in high throughput scenarios,
tested with the CU-UP load tester:
./tests/nr-cuup/nr-cuup-load-test -t 20 -d 1400 -n 1 -u 200
./nr-cuup -O ../tests/nr-cuup/load-test.conf
the real numbers are platform specific, i.e., one would need to find a
maximum value (before/after) to show a change in losses of packets.
Reviewed-by:
Laurent THOMAS <laurent.thomas@open-cells.com>
Showing
Please register or sign in to comment