[Bug 772841] udpsrc: high CPU usage at high packet rate

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Aug 29 13:32:11 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=772841

George Kiagiadakis <gkiagia at tolabaki.gr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gkiagia at tolabaki.gr

--- Comment #32 from George Kiagiadakis <gkiagia at tolabaki.gr> ---
I have recently encountered similar performance-related issues with udpsrc. In
my case, the visible issue was that it couldn't handle high bitrates (50-60
Mbps) with the default MTU of 1500... I had to enable jumbo frames to get just
a small improvement and then realized that udpsrc is really inefficient in
reading packets from the kernel buffer.

In order to improve the situation, I wrote a series of improvements:
https://git.collabora.com/cgit/user/gkiagia/gst-plugins-good.git/log/?h=udpsrc-highbitrate

These basically include:
* Use recvmmsg(), through recent GSocket API
* Use a separate reader thread to ensure we return execution to recvmmsg() as
fast as possible
* Use a buffer pool to avoid a lot of new allocations

It's possible that some of it is overkill, however it is **still** losing a
very small percentage of packets sometimes with a 57 Mbps RTP stream that I
have been testing with (on a link-local connection). Thankfully, it is too
small to notice (it's in the order of tens of packets out of a few million -
with retransmission enabled it's not noticeable at all).

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list