Limit popcorn limit to something sane (either 2ns or 2 ticks if that's
longer). PR: 156481 Submitted by: Ian Lepore
This commit is contained in:
parent
b6afbb7943
commit
79f1fdb83b
@ -832,8 +832,15 @@ hardpps(tsp, nsec)
|
||||
* discarded. otherwise, if so enabled, the time offset is
|
||||
* updated. We can tolerate a modest loss of data here without
|
||||
* much degrading time accuracy.
|
||||
*
|
||||
* The measurements being checked here were made with the system
|
||||
* timecounter, so the popcorn threshold is not allowed to fall below
|
||||
* the number of nanoseconds in two ticks of the timecounter. For a
|
||||
* timecounter running faster than 1 GHz the lower bound is 2ns, just
|
||||
* to avoid a nonsensical threshold of zero.
|
||||
*/
|
||||
if (u_nsec > (pps_jitter << PPS_POPCORN)) {
|
||||
if (u_nsec > lmax(pps_jitter << PPS_POPCORN,
|
||||
2 * (NANOSECOND / (long)qmin(NANOSECOND, tc_getfrequency())))) {
|
||||
time_status |= STA_PPSJITTER;
|
||||
pps_jitcnt++;
|
||||
} else if (time_status & STA_PPSTIME) {
|
||||
|
Loading…
Reference in New Issue
Block a user