On Thu, Jan 09, 2020 at 10:05:37PM -0600, Scott Cheloha wrote:
> The intent here is to poll no faster than 100 times a second,
> so change sc_rnghz to sc_rngms and set it to 10 milliseconds,
> then call timeout_add_msec() instead of timeout_add().
>
> ok?
OK bluhm@
> Index: ubsec.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/ubsec.c,v
> retrieving revision 1.164
> diff -u -p -r1.164 ubsec.c
> --- ubsec.c 28 Apr 2018 15:44:59 -0000 1.164
> +++ ubsec.c 10 Jan 2020 04:04:01 -0000
> @@ -318,11 +318,8 @@ ubsec_attach(struct device *parent, stru
> }
>
> timeout_set(&sc->sc_rngto, ubsec_rng, sc);
> - if (hz >= 100)
> - sc->sc_rnghz = hz / 100;
> - else
> - sc->sc_rnghz = 1;
> - timeout_add(&sc->sc_rngto, sc->sc_rnghz);
> + sc->sc_rngms = 10;
> + timeout_add_msec(&sc->sc_rngto, sc->sc_rngms);
> printf(" RNG");
> skip_rng:
> ;
> @@ -1455,7 +1452,7 @@ ubsec_callback2(struct ubsec_softc *sc,
> for (i = 0; i < UBSEC_RNG_BUFSIZ; p++, i++)
> enqueue_randomness(*p);
> rng->rng_used = 0;
> - timeout_add(&sc->sc_rngto, sc->sc_rnghz);
> + timeout_add_msec(&sc->sc_rngto, sc->sc_rngms);
> break;
> }
> #endif
> @@ -1530,7 +1527,7 @@ out:
> */
> (*nqueue)--;
> splx(s);
> - timeout_add(&sc->sc_rngto, sc->sc_rnghz);
> + timeout_add_msec(&sc->sc_rngto, sc->sc_rngms);
> }
> #endif /* UBSEC_NO_RNG */
>
> Index: ubsecvar.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/ubsecvar.h,v
> retrieving revision 1.40
> diff -u -p -r1.40 ubsecvar.h
> --- ubsecvar.h 15 Aug 2014 15:37:51 -0000 1.40
> +++ ubsecvar.h 10 Jan 2020 04:04:01 -0000
> @@ -147,7 +147,7 @@ struct ubsec_softc {
> int sc_nsessions; /* # of sessions */
> struct ubsec_session *sc_sessions; /* sessions */
> struct timeout sc_rngto; /* rng timeout */
> - int sc_rnghz; /* rng poll time */
> + int sc_rngms; /* rng poll time (msecs) */
> struct ubsec_q2_rng sc_rng;
> struct ubsec_dma sc_dmaa[UBS_MAX_NQUEUE];
> struct ubsec_q *sc_queuea[UBS_MAX_NQUEUE];