freebsd-dev/sys
Ian Lepore 192122bd62 In am335x_dmtpps, use a spin mutex to interlock between PPS capture and PPS
ioctl(2) handling.  This allows doing the pps_event() work in the polling
routine, instead of using a taskqueue task to do that work.

Also, add PNPINFO, and switch to using make_dev_s() to create the cdev.

Using a spin mutex and calling pps_event() from the polling function works
around the situation which requires more than 2 sets of timecounter
timehands in a single-core system to get reliable PPS capture.  That problem
would happen when a single-core system is idle in cpu_idle() then gets woken
up with an event timer event which was scheduled to handle a hardclock tick.
That processing path would end up calling tc_windup 3 or 4 times between
when the tc polling function was called and when the taskqueue task would
eventually run, and with only two sets of timehands, the th_generation count
would always be too old to allow the captured PPS data to be used.
2019-09-10 22:08:34 +00:00
..
amd64 Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
arm In am335x_dmtpps, use a spin mutex to interlock between PPS capture and PPS 2019-09-10 22:08:34 +00:00
arm64 Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
bsm
cam Supply SAT layer with valid transfer sizes. 2019-09-07 15:56:00 +00:00
cddl Replace redundant code with a few new vm_page_grab facilities: 2019-09-10 19:08:01 +00:00
compat Replace redundant code with a few new vm_page_grab facilities: 2019-09-10 19:08:01 +00:00
conf riscv: Ensure that BSS is 8-byte aligned 2019-09-09 15:57:24 +00:00
contrib Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
crypto Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
ddb ddb(4): Add some support for lexing IPv6 addresses 2019-09-09 16:32:23 +00:00
dev Replace redundant code with a few new vm_page_grab facilities: 2019-09-10 19:08:01 +00:00
dts
fs Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
gdb gdb(4): Root a sysctl tree at 'debug.gdb.' 2019-09-08 22:52:47 +00:00
geom Allow more nesting of GEOM partitioning schemes 2019-09-03 20:57:20 +00:00
gnu
i386 Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
isa
kern cache: avoid excessive relocking on entry removal during lookup 2019-09-10 20:19:29 +00:00
kgssapi Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
libkern
mips Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
modules Add kernel-side support for in-kernel TLS. 2019-08-27 00:01:56 +00:00
net Callout drain does not have to be followed by a callout stop call. 2019-09-10 14:33:07 +00:00
net80211
netgraph avoid holding PCB mutex during copyin/copyout() 2019-08-30 16:35:31 +00:00
netinet Only update SACK/DSACK lists when a non-empty segment was received. 2019-09-09 16:07:47 +00:00
netinet6 Add kernel-side support for in-kernel TLS. 2019-08-27 00:01:56 +00:00
netipsec Fix broken window replay check that will allow old packet to be accepted. 2019-09-06 14:30:23 +00:00
netpfil
netsmb Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
nfs
nfsclient
nfsserver
nlm
ofed
opencrypto Adjust the deprecated warnings for /dev/crypto to be less noisy. 2019-08-27 21:29:37 +00:00
powerpc Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
riscv Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
rpc
security
sparc64 Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
sys Add R_PPC_IRELATIVE relocation 2019-09-10 16:16:05 +00:00
teken Adjust teken to allow build as part of loader 2019-09-05 18:07:40 +00:00
tests
tools
ufs Remove some unneeded vfs_busy() calls in SU code. 2019-09-09 11:22:38 +00:00
vm Replace redundant code with a few new vm_page_grab facilities: 2019-09-10 19:08:01 +00:00
x86
xdr
xen
Makefile