On Mon, Aug 19, 2019 at 8:26 AM Ian Lepore <i...@freebsd.org> wrote: > On Mon, 2019-08-19 at 17:09 +0930, O'Connor, Daniel wrote: > > > On 12 Aug 2019, at 09:09, O'Connor, Daniel <dar...@dons.net.au> > > > wrote: > > > > always get lost on single-core processors which are in cpu_idle() > > > > at > > > > the time the hardclock interrupt happens. (But that's fixable by > > > > just > > > > increasing the number of timehands, I think at least 4 are > > > > required.) > > > > > > OK, how do I increase the number of clock hands? > > > > I am going to try this diff but buildkernel is going to take a > > while... > > > > diff --git a/sys/kern/kern_tc.c b/sys/kern/kern_tc.c > > index 2656fb4d2..00440b6a2 100644 > > --- a/sys/kern/kern_tc.c > > +++ b/sys/kern/kern_tc.c > > @@ -83,8 +83,48 @@ struct timehands { > > struct timehands *th_next; > > }; > > > > -static struct timehands th0; > > +static struct timehands th2; > > static struct timehands th1 = { > > + .th_next = &th2 > > +}; > > + > > +static struct timehands th3; > > +static struct timehands th2 = { > > + .th_next = &th3 > > +}; > > + > > +static struct timehands th4; > > +static struct timehands th3 = { > > + .th_next = &th4 > > +}; > > + > > +static struct timehands th5; > > +static struct timehands th4 = { > > + .th_next = &th5 > > +}; > > + > > +static struct timehands th6; > > +static struct timehands th5 = { > > + .th_next = &th6 > > +}; > > + > > +static struct timehands th7; > > +static struct timehands th6 = { > > + .th_next = &th7 > > +}; > > + > > +static struct timehands th8; > > +static struct timehands th7 = { > > + .th_next = &th8 > > +}; > > + > > +static struct timehands th9; > > +static struct timehands th8 = { > > + .th_next = &th9 > > +}; > > + > > +static struct timehands th0; > > +static struct timehands th9 = { > > .th_next = &th0 > > }; > > static struct timehands th0 = { > > > > Oh, I'm sorry, I forgot to respond about this. Yeah, that patch would > do it. I think a minimum of 4 sets of timehands are needed for pps > capture on a single-core system with a latching timecounter like > dmtpps. >
Do we have a good (or even a bad) writeup of how to know that 4 is good, or when 5 or 6 might be needed? Warner _______________________________________________ freebsd-usb@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"