On 29/07/2020 15:23, Mark Kettenis wrote: >> Date: Wed, 29 Jul 2020 23:01:15 +1000 >> From: Jonathan Gray <j...@jsg.id.au> >> >> On Wed, Jul 29, 2020 at 02:05:18PM +0200, Andre Stoebe wrote: >>>> Synopsis: Panic on boot with Hyper-V since Jun 17 snapshot >>>> Category: kernel >>>> Environment: >>> System : OpenBSD 6.7 >>> Details : OpenBSD 6.7-current (GENERIC.MP) #375: Sun Jul 26 >>> 11:26:37 MDT 2020 >>> >>> dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP >>> >>> Architecture: OpenBSD.amd64 >>> Machine : amd64 >>>> Description: >>> Booting -current on Hyper-V with hvn(4) results in a panic after >>> "starting network". >>> >>> This seems to only affect the multi-user boot; hvn(4) still >>> works flawlessly on the ramdisk. >>> >>> Last working snapshot: >>> OpenBSD 6.7-current (GENERIC.MP) #273: Mon Jun 15 19:13:12 MDT 2020 >>> >>> First non-working snapshot: >>> OpenBSD 6.7-current (GENERIC.MP) #278: Wed Jun 17 12:18:35 MDT 2020 >>> >>> Below is the serial output including ddb trace and ps. >>>> How-To-Repeat: >>> Boot OpenBSD-current on Hyper-V with a hvn(4) network adapter. >>>> Fix: >>> Unknown. As a workaround, disabling hvn(4) via "boot -c" does >>> not result in a panic. >> >> more fallout of intr_barrier() now using the argument > > The change doesn't make an awful lot of sense though. Just like the > current code doesn't make any sense since the driver doesn't do > interrupts. It is unclear to me what the call is trying to achive. > My guess would be that if anything needs to be done here it is > flushing any pending work associated with the channel. Which would > imply a taskq_barrier() on the task associated with the channel. > >
Hi Mark, hvn is interrupt driven; hvn_nvs_intr is the interrupt handler. It lacks a conventional PCI interrupt establish dance because of Hyper-V specifics: interrupts and device communication happens over channels, not conventional buses. I cannot attest to Jonathan's diff, but if that worked for xnf, I don't see a reason why it wouldn't work here. Regards, Mike