[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