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.

-- Ian

_______________________________________________
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"

Reply via email to