Nico Weber
8212ba467c
ntpquery: Use SO_TIMESTAMP to get a more accurate destination_timestamp
...
We can now see at which time a packet was received by the network
adapter, instead of having to measure user time after receiving
the packet in user space.
This means the destination timestamp is no longer affected by in-kernel
queuing delays, which can be tens of milliseconds when the system
is under load.
It also means that if ntpquery grows a message queue that waits on
replies from several requests, the time used processing one response
won't be incorrectly included in the destination timestamp of the
next response (in case two responses arrive at the network adapter
at roughly the same time).
NTP's calculations work better if send and receive latency are
about equal, and this only removes in-kernel queue delays and
context switch delays for the receiving packet. But the two
latencies aren't very equal anyways because $network. Also, maybe
we can add another API for setting the send time in the outgoing
packet in kernel space right before (or when) hitting the network
adapter and use that here too. So this still seems like progress.
2020-09-17 17:23:01 +02:00
..
2020-09-05 14:19:38 +02:00
2020-08-16 16:33:28 +02:00
2020-08-06 20:41:13 +02:00
2020-06-13 12:43:22 +02:00
2020-08-06 20:41:13 +02:00
2020-08-15 21:21:18 +02:00
2020-08-06 20:41:13 +02:00
2020-08-12 20:40:59 +02:00
2020-06-17 18:35:49 +02:00
2020-09-13 11:37:56 +02:00
2020-08-06 20:41:13 +02:00
2020-02-16 09:51:49 +01:00
2020-06-21 09:54:07 +02:00
2020-05-29 07:53:30 +02:00
2020-02-18 11:35:47 +01:00
2020-09-13 11:37:56 +02:00
2020-09-05 16:16:01 +02:00
2020-05-26 14:35:10 +02:00
2020-07-04 17:22:23 +02:00
2020-07-03 19:30:13 +02:00
2020-06-12 21:28:55 +02:00
2020-08-16 16:33:28 +02:00
2020-08-10 21:20:28 +02:00
2020-08-17 13:12:46 +02:00
2020-08-12 20:40:59 +02:00
2020-02-20 13:20:34 +01:00
2020-08-12 16:18:33 +02:00
2020-07-30 18:47:41 +02:00
2020-09-16 19:39:17 +02:00
2020-08-12 20:40:59 +02:00
2020-06-29 12:04:27 +02:00
2020-08-25 09:46:06 +02:00
2020-06-13 12:43:22 +02:00
2020-09-14 20:58:12 +02:00
2020-03-08 13:06:51 +01:00
2020-02-20 15:12:55 +01:00
2020-08-06 20:41:13 +02:00
2020-08-17 18:05:35 +02:00
2020-08-12 20:40:59 +02:00
2020-08-30 17:35:27 +02:00
2020-07-11 23:56:33 +02:00
2020-08-06 20:41:13 +02:00
2020-08-21 16:10:51 +02:00
2020-06-18 23:00:19 +02:00
2020-06-12 21:28:55 +02:00
2020-06-12 21:28:55 +02:00
2020-02-18 13:29:54 +01:00
2020-08-28 12:58:05 +02:00
2020-06-13 12:43:22 +02:00
2020-08-12 20:40:59 +02:00
2020-06-13 12:43:22 +02:00
2020-05-30 00:32:12 +02:00
2020-08-06 20:41:13 +02:00
2020-08-17 00:01:13 +02:00
2020-05-26 14:35:10 +02:00
2020-07-19 11:46:37 +02:00
2020-07-19 11:46:37 +02:00
2020-08-06 20:41:13 +02:00
2020-08-06 20:41:13 +02:00
2020-08-17 09:17:57 +02:00
2020-08-12 20:40:59 +02:00
2020-08-11 20:29:14 +02:00
2020-07-28 13:19:22 +02:00
2020-02-06 15:04:03 +01:00
2020-07-04 14:05:57 +02:00
2020-09-17 17:23:01 +02:00
2020-08-08 11:58:57 +02:00
2020-07-04 14:05:57 +02:00
2020-08-30 17:35:27 +02:00
2020-09-05 16:16:01 +02:00
2020-06-12 21:28:55 +02:00
2020-08-30 17:35:27 +02:00
2020-09-11 21:41:23 +02:00
2020-08-31 23:05:58 +02:00
2020-02-22 11:01:37 +01:00
2020-05-15 00:01:01 +02:00
2020-08-06 20:41:13 +02:00
2020-06-17 15:02:03 +02:00
2020-08-06 20:41:13 +02:00
2020-08-12 20:40:59 +02:00
2020-08-06 20:41:13 +02:00
2020-08-22 20:55:10 +02:00
2020-02-06 15:04:03 +01:00
2020-09-10 16:00:11 +02:00
2020-03-08 13:06:51 +01:00
2020-05-23 15:27:33 +02:00
2020-07-04 17:22:23 +02:00
2020-08-06 20:41:13 +02:00
2020-08-04 18:17:16 +02:00
2020-05-04 09:41:43 +02:00
2020-08-12 20:40:59 +02:00
2020-02-25 14:52:35 +01:00
2020-08-01 16:46:04 +02:00
2020-08-12 20:40:59 +02:00
2020-08-12 20:40:59 +02:00
2020-09-11 16:07:45 +02:00
2020-08-28 09:17:01 +02:00
2020-09-09 21:10:23 +02:00
2020-08-28 09:17:01 +02:00
2020-08-12 20:40:59 +02:00
2020-09-06 19:04:47 +02:00
2020-05-01 17:08:46 +02:00
2020-08-06 20:41:13 +02:00
2020-08-12 20:40:59 +02:00
2020-06-12 21:28:55 +02:00
2020-09-03 10:08:15 +02:00
2020-02-06 15:04:03 +01:00
2020-08-06 20:41:13 +02:00
2020-08-16 16:33:28 +02:00
2020-02-18 13:29:54 +01:00
2020-02-06 15:04:03 +01:00
2020-06-29 12:04:27 +02:00
2020-09-06 20:44:16 +02:00
2020-09-06 20:44:16 +02:00
2020-08-12 20:40:59 +02:00
2020-08-12 20:40:59 +02:00
2020-09-16 19:39:17 +02:00
2020-02-18 11:35:47 +01:00
2020-05-28 11:01:08 +02:00
2020-08-06 20:41:13 +02:00