opnsense-src/sys
Randall Stewart fb99512f32 Enable M_TSTMP in Chelsio cxgbe driver by creating a mechanism that can sync the time.
Chelsio has always been recording a timestamp in the mbuf (rcv_tstmp) but
not setting the M_TSTMP bit in the mbuf flags. This is because the timestamp
was just the free running 60bit clock. This change fixes that so that
we keep a synchronization by periodically (every 30 seconds after startup)
getting the timestamp and the current nanosecond time. We always keep
several sets around and the current one we always keep the current pair
and the previous pair of timestamps. This allows us to setup a ratio
between the two so we can correctly translate the time. Note that
we use special care to split the timestamp into seconds (per the clock tick)
and nanoseconds otherwise 64bit math would overflow.

Reviewed by: np
Sponsored by: Netflix Inc
Differential Revision: https://reviews.freebsd.org/D36315

(cherry picked from commit e398922eaf)
2022-11-10 17:25:52 -08:00
..
amd64 vmm: do not leak halted_cpus bit after suspension 2022-11-09 00:08:25 +02:00
arm xilinx: Fix a typo in a source code comment 2022-11-04 06:06:34 +01:00
arm64 aarch64: Add constants for fields in the PMEVTYPERn_EL0 event registers. 2022-11-10 13:04:49 -08:00
bsm
cam iscsi: Fetch limits based on a socket rather than assuming global limits. 2022-11-10 13:48:36 -08:00
cddl dtrace: Drop illumos ifdefs for CPU register definitions 2022-10-19 10:15:49 -04:00
compat sysent: regen after ee9bc58183, posix_fadvise in capmode 2022-10-20 09:59:50 -04:00
conf cxgbe: Rename t4_kern_tls.c to t6_kern_tls.c. 2022-11-10 16:35:35 -08:00
contrib zfs: Fix the build 2022-10-27 08:42:54 -04:00
crypto Fix the IV length in the armv8 AES GCM code 2022-09-21 10:45:52 +01:00
ddb ddb: print the actual syscall name 2022-11-06 10:54:46 -04:00
dev Enable M_TSTMP in Chelsio cxgbe driver by creating a mechanism that can sync the time. 2022-11-10 17:25:52 -08:00
dts add overlay for enabling i2c1 on allwinner h3 2022-02-09 11:35:59 +02:00
fs fusefs: After successful F_GETLK, l_whence should be SEEK_SET 2022-10-30 18:51:33 -06:00
gdb ddb: use _FLAGS command macros where appropriate 2022-08-11 11:25:53 -03:00
geom Delay GEOM disk_create() until CAM periph probe completes. 2022-08-15 13:37:58 -04:00
gnu bwn: eliminate dead writes in BWN_GPL_PHY 2022-05-12 08:56:04 -04:00
i386 ddb: print the actual syscall name 2022-11-06 10:54:46 -04:00
isa Adjust function definition in isa's pnp.c to avoid clang 15 warning 2022-08-01 20:07:10 +02:00
kern kasan: disable kasan_mark() after a violation 2022-11-02 12:02:24 -05:00
kgssapi
libkern qdivrem: Predict division by zero as false. 2022-10-12 17:53:21 +02:00
mips mips busdma: expunge an extra closing brace 2022-07-12 13:47:44 -05:00
modules cxgbe: Rename t4_kern_tls.c to t6_kern_tls.c. 2022-11-10 16:35:35 -08:00
net Remove a write-only variable. 2022-11-10 10:26:22 -08:00
net80211 net8021: Fix a typo in a kernel error message 2022-11-01 07:02:55 +01:00
netgraph netgraph/ng_bridge: add missing array terminator 2022-11-08 09:54:13 +01:00
netinet ipfw: Have NAT steal the TH_RES1 bit, instead of the TH_AE bit 2022-11-09 23:17:35 +01:00
netinet6 in6: Consolidate IN6_ARE_ADDR_EQUAL definitions 2022-11-10 12:03:03 -05:00
netipsec ipsec: replace SECASVAR mtx by rmlock 2022-08-09 15:46:57 +02:00
netpfil ipfw: Have NAT steal the TH_RES1 bit, instead of the TH_AE bit 2022-11-09 23:17:35 +01:00
netsmb smb_smb_treedisconnect: eliminate write only variable mbp 2022-10-01 22:25:57 -06:00
nfs nfs: skip bootpc when vfs.root.mountfrom is other than nfs 2022-10-05 21:13:06 -03:00
nfsclient
nfsserver
nlm
ofed ibcore: Add support for RDMA/RoCE using VLAN(4) devices. 2022-08-29 14:03:57 +02:00
opencrypto opencrypto: mark INVARIANTS variables as __diagused 2022-08-28 21:03:48 -04:00
powerpc powerpc: slb_alloc_user_cache: fix missing uma_zalloc wait flag 2022-10-05 21:14:29 -03:00
riscv ddb: print the actual syscall name 2022-11-06 10:54:46 -04:00
rpc clnt_vc.c: Replace msleep() with pause() to avoid assert panic 2022-10-17 16:38:39 -07:00
security sysent: Get rid of bogus sys/sysent.h include. 2022-06-17 22:35:31 +03:00
sys Fix LINT build after 368ee2f86a 2022-10-23 19:43:46 -05:00
teken teken: color #3 is yellow not brown - use TC_YELLOW as the name 2022-05-03 14:20:44 -04:00
tests routing: add IPv6 fib validation procedure. 2021-09-07 21:02:58 +00:00
tools firmware: Map '@' in filenames to '_' in symbols. 2022-07-13 09:19:51 -07:00
ufs Fix an incorrectly placed parenthesis. 2022-10-13 08:45:56 -07:00
vm Add vm_page_any_valid() 2022-10-26 03:43:43 +03:00
x86 Increase MAX_APIC_ID safeguard to 0x800 2022-11-02 20:50:53 -04:00
xdr
xen Create wrapper for Giant taken for newbus 2022-06-21 17:13:20 +02:00
Makefile