Revisit vnode startup
Every few years we (@hibler and @stoller) beat our head against the vnode startup scripts trying to make startup go faster. It's that time again... Most recently reported by @kwebb. Vnode startup seems to be serialized and is taking 50 seconds per vnode. We are supposed to be starting up to 3 vnodes at a time, but if we are, those three vnodes aren't getting very far before they block and serialize. What we know:
- 20 seconds is extra padding we added in bootvnodes for Xen vnodes because they just didn't startup without it,
- There are a few global locks that vnode setup blocks on for various operations, including a general "xenconf" lock, a DHCP lock (while rewriting/huping dhcpd), and an
iptables
lock when configuring interfaces; these could causing Extreme Serialization.