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];

Reply via email to