freebsd-skq/sys
sobomax 701697521c Add a new socket option SO_TS_CLOCK to pick from several different clock
sources to return timestamps when SO_TIMESTAMP is enabled. Two additional
clock sources are:

o nanosecond resolution realtime clock (equivalent of CLOCK_REALTIME);
o nanosecond resolution monotonic clock (equivalent of CLOCK_MONOTONIC).

In addition to this, this option provides unified interface to get bintime
(equivalent of using SO_BINTIME), except it also supported with IPv6 where
SO_BINTIME has never been supported. The long term plan is to depreciate
SO_BINTIME and move everything to using SO_TS_CLOCK.

Idea for this enhancement has been briefly discussed on the Net session
during dev summit in Ottawa last June and the general input was positive.

This change is believed to benefit network benchmarks/profiling as well
as other scenarios where precise time of arrival measurement is necessary.

There are two regression test cases as part of this commit: one extends unix
domain test code (unix_cmsg) to test new SCM_XXX types and another one
implementis totally new test case which exchanges UDP packets between two
processes using both conventional methods (i.e. calling clock_gettime(2)
before recv(2) and after send(2)), as well as using setsockopt()+recv() in
receive path. The resulting delays are checked for sanity for all supported
clock types.

Reviewed by:    adrian, gnn
Differential Revision:  https://reviews.freebsd.org/D9171
2017-01-16 17:46:38 +00:00
..
amd64 Fix a variety of cosmetic typos and misspellings 2017-01-15 18:00:45 +00:00
arm Remove arm's cpuconf.h, and references to it, after moving a few lines from 2017-01-16 16:44:13 +00:00
arm64
boot loader.efi: find_currdev() can leak memory 2017-01-15 20:03:13 +00:00
bsm
cam Make CTL frontends report kern_data_resid for under-/overruns. 2017-01-16 16:19:55 +00:00
cddl
compat
conf [gpioths] new driver for temperature/humidity sensor DHT11 2017-01-16 15:36:36 +00:00
contrib
crypto
ddb Revert r311952. 2017-01-14 22:06:25 +00:00
dev [gpioths] new driver for temperature/humidity sensor DHT11 2017-01-16 15:36:36 +00:00
fs tmpfs: manage tm_pages_used with atomics 2017-01-14 06:20:36 +00:00
gdb
geom
gnu
i386 Add comment explaining relative order of sched_unpin() and mtx_unlock(). 2017-01-14 19:35:36 +00:00
isa
kern Add a new socket option SO_TS_CLOCK to pick from several different clock 2017-01-16 17:46:38 +00:00
kgssapi
libkern libkern: Remove obsolete 'register' keyword 2017-01-12 17:02:29 +00:00
mips [ar71xx] add EARLY_PRINTF support for the rest of the non-AR933x SoCs. 2017-01-15 06:35:00 +00:00
modules
net Fix hangs in a uniprocessor configuration (qemu, virtualbox, real hw). 2017-01-15 00:50:10 +00:00
net80211 [net80211] add some more "is this XXX" macros for CTRL and DATA. 2017-01-15 19:49:47 +00:00
netgraph
netinet Add a new socket option SO_TS_CLOCK to pick from several different clock 2017-01-16 17:46:38 +00:00
netinet6 Add a new socket option SO_TS_CLOCK to pick from several different clock 2017-01-16 17:46:38 +00:00
netipsec
netnatm
netpfil In dummynet(4), random chunks of memory are casted to struct dn_*, 2017-01-09 20:51:51 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed
opencrypto
pc98
powerpc
riscv
rpc
security
sparc64 Trim a few comments on platforms that did not implement mmap of /dev/kmem. 2017-01-13 21:52:53 +00:00
sys Add a new socket option SO_TS_CLOCK to pick from several different clock 2017-01-16 17:46:38 +00:00
teken
tests
tools
ufs
vm Avoid unnecessary page lookups in vm_object_madvise(). 2017-01-15 03:50:08 +00:00
x86 "Buses" is the preferred plural of "bus" 2017-01-15 17:54:01 +00:00
xdr
xen "Buses" is the preferred plural of "bus" 2017-01-15 17:54:01 +00:00
Makefile