On 2024/01/02 20:02, Vitaliy Makkoveev wrote:
> On Tue, Jan 02, 2024 at 03:45:10PM +0000, Stuart Henderson wrote:
> > Badly OCR'd and manually quickly corrected screen capture below
> > (tesseract doesn't do _at all_ well with digits and the spleen font),
> > originals at
> > 
> > https://junkpile.org/hv-panic-202401-1.png
> > https://junkpile.org/hv-panic-202401-2.png
> > https://junkpile.org/hv-panic-202401-3.png
> > 
> > This is a VM running under hyper-v running 7.4+errata007 (i.e. it _does_
> > have the "A network buffer that had to be split at certain length could
> > crash the kernel" fix).
> > 
> > Running postfix, librenms (PHP etc calling snmp tools quite a lot),
> > rrdcached.
> > 
> > Nothing unusual happening at the time of crash. Uptime prior to this
> > was 3 weeks 3 days after it was updated to 7.4. (Before that, uptime
> > on 7.3 was 5 months +).
> > 
> > The only slightly unusual thing about this install is that there are two
> > hvn(4) virtual nics.
> > 
> 
> Does this help?

Given that it took a month to crash, how long do you think I'd need to
run before I could say whether it helps?

> ===================================================================
> RCS file: /cvs/src/sys/dev/pv/hypervic.c,v
> retrieving revision 1.20
> diff -u -p -r1.20 hypervic.c
> --- sys/dev/pv/hypervic.c     23 Sep 2023 13:01:12 -0000      1.20
> +++ sys/dev/pv/hypervic.c     2 Jan 2024 17:00:24 -0000
> @@ -203,13 +203,18 @@ hv_attach_icdevs(struct hv_softc *sc)
>  
>               dv->dv_ch = ch;
>  
> -             /*
> -              * These services are not performance critical and
> -              * do not need batched reading. Furthermore, some
> -              * services such as KVP can only handle one message
> -              * from the host at a time.
> -              */
> -             dv->dv_ch->ch_flags &= ~CHF_BATCHED;
> +             if (dv->dv_handler == hv_kvp) {
> +                     /* XXXSMP: always run through task */
> +                     dv->dv_ch->ch_flags |= CHF_BATCHED;
> +             } else {
> +                     /*
> +                      * These services are not performance critical and
> +                      * do not need batched reading. Furthermore, some
> +                      * services such as KVP can only handle one message
> +                      * from the host at a time.
> +                      */
> +                     dv->dv_ch->ch_flags &= ~CHF_BATCHED;
> +             }
>  
>               if (dv->dv_attach && dv->dv_attach(dv) != 0)
>                       continue;
> 

Reply via email to