- use taskqueue instead of swi
- scan the interrupt flags in filter
- disable ringbuffer interrupt mask in filter to ensure no unnecessary interrupts
Details
Details
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Does this mean, you are going to have at least one taskq, i.e. one thread, per-device? I think its probably too excessive for the already slow VM.
Comment Actions
Yes. We can use taskqueue_swi instead creating another queue for each channel. but i noticed most NIC driver is using this approach. so I use the same way here.
Comment Actions
Well, as I said, I think its an overkill to have a taskq per-channel. How about just replace the swi you removed in this patch w/ a taskq instead.
Comment Actions
Looks good to me
sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c | ||
---|---|---|
498 ↗ | (On Diff #12315) | M_WAITOK here? We don't want it to fail |
Comment Actions
LGTM
sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c | ||
---|---|---|
527 ↗ | (On Diff #12352) | Typo: ahdnle --> handle. |