After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 712385 - netclock: added new round-trip limit property
netclock: added new round-trip limit property
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal enhancement
: 1.3.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-11-15 18:15 UTC by Carlos Rafael Giani
Modified: 2013-11-27 07:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
netclientclock patch for round-trip limiting (4.70 KB, patch)
2013-11-15 18:15 UTC, Carlos Rafael Giani
needs-work Details | Review
netclientclock patch for round-trip limiting v2 (4.80 KB, patch)
2013-11-25 23:24 UTC, Carlos Rafael Giani
needs-work Details | Review
netclientclock patch for round-trip limiting v3 (5.70 KB, patch)
2013-11-26 15:48 UTC, Carlos Rafael Giani
committed Details | Review

Description Carlos Rafael Giani 2013-11-15 18:15:35 UTC
Created attachment 259934 [details] [review]
netclientclock patch for round-trip limiting

The netclientclock currently assumes that the network is of good quality, does not delay the packets too much, transports them in order etc. These assumptions generally hold for wired local networks, but not for wireless ones. In an area with many Wi-Fi access points and clients, time packets with round trips of 10 seconds have been observed. These extremely late packets mess up the regression calculations, causing the clock's stability to degrade significantly.

This patch introduces a limit for the round trip period. If a packet takes longer to return than the limit specifies, it is ignored. By default, the limit is set to zero, which disables the limiting. (It is very difficult to determine a "good"
nonzero default value.)
Comment 1 Sebastian Dröge (slomo) 2013-11-25 15:49:10 UTC
Comment on attachment 259934 [details] [review]
netclientclock patch for round-trip limiting

Needs to be updated to latest git master, and the property should have a Since: 1.4 gtk-doc marker. Otherwise looks good
Comment 2 Carlos Rafael Giani 2013-11-25 23:24:27 UTC
Created attachment 262796 [details] [review]
netclientclock patch for round-trip limiting v2
Comment 3 Jan Schmidt 2013-11-26 05:23:10 UTC
Review of attachment 262796 [details] [review]:

Please rename the parameter to round-trip-limit, and fix the commit comment. It should have a summary line like

netclock: Add round-trip-limit parameter

Sometimes, packets might take a very long time to return.
Such packets usually are way too late and destabilize the regression with
their obsolete data. On Wi-Fi, round-trips of over 7 seconds have been
observed.
If the limit is set to a nonzero value, packets with a round-trip period
larger than the limit are ignored.

I think it would make sense to unify this RTT check and the RTT averaging immediately after, ie set
rtt = GST_CLOCK_DIFF(clock1, clock2) once and use it, and make it so the rtt_avg also goes to the outlier_observed label, and to reset the timeout to a shorter value there as well, to retry the soon
Comment 4 Carlos Rafael Giani 2013-11-26 15:48:31 UTC
Created attachment 262871 [details] [review]
netclientclock patch for round-trip limiting v3
Comment 5 Jan Schmidt 2013-11-27 07:38:35 UTC
Comment on attachment 262871 [details] [review]
netclientclock patch for round-trip limiting v3

Pushed, thanks