Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys/dev/pci
> Date: Thu, 10 Aug 2023 17:42:35 +0900
> From: Kengo NAKAHARA <k-nakahara%iij.ad.jp@localhost>
>
> Could you tell me how you test this fix for future reference?
I asked skrll@ to boot a VM with vmxnet3 and hammer on it with a
combination of:
1. dhcp
2. host$ nc -l 54321 </dev/urandom >/dev/null
guest$ nc host 54321 </dev/urandom >/dev/null
3. for i in `jot 4`; do
jot 100 | while read i; do
ifconfig vmxnet0 down
ifconfig vmxnet0 up
done &
done
wait
and then see if the network continued functioning.
However, I didn't do anything to verify that we could trigger all the
problems that I noticed by code inspection. I didn't do that mostly
because I'd been sitting on this patch for a year, and I didn't want
it to languish indefinitely with obvious bugs lurking in vmxnet(4).
Here are a couple more things that it would be good to do:
1. Create a sysctl knob to simulate watchdog failure and trigger
reset. I don't think we tested this path at all, but it's a common
bug with an easy fix -- defer to workqueue. Some other drivers
have a sysctl knob like this: wm(4), bge(4).
2. Verify that SIOCADDMULTI and SIOCDELMULTI don't deadlock when run
concurrently with ifconfig up/down.
vmxnet(4) still has a serious bug: the `core lock' can still lead to a
deadlock with reset and softint. It should be removed from most uses,
and be limited to cover only mii transactions like I did for usbnet(4)
last year.
Home |
Main Index |
Thread Index |
Old Index