On 22.10.21 11:28, Andrew Cooper wrote:
On 22/10/2021 07:47, Juergen Gross wrote:When booting the xenbus driver will wait for PV devices to have connected to their backends before continuing. The timeout is different between essential and non-essential devices. Non-essential devices are identified by their nodenames directly in the xenbus driver, which requires to update this list in case a new device type being non-essential is added (this was missed for several types in the past). In order to avoid this problem, add a "not_essential" flag to struct xenbus_driver which can be set to "true" by the respective frontend. Set this flag for the frontends currently regarded to be not essential (vkbs and vfb) and use it for testing in the xenbus driver. Signed-off-by: Juergen Gross <jgross@xxxxxxxx>Wouldn't it be better to annotate essential? That way, when new misc drivers come along, they don't by default block boot.
It isn't as if new drivers would "block boot". Normally the short timeout for all drivers of 30 seconds is more than enough for all of them. I'm a little bit hesitant to have a kind of "white listing" essential drivers, as there might be different views which drivers should have that flag. Doing this the other way round is easier: in case of disagreement such a patch just wouldn't go in, not breaking anything in that case. Additionally there might be out-of-tree PV drivers, which could be hit by not being flagged to be essential. With the not_essential flag the situation wouldn't change for such a driver. Juergen
Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature