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