[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] libxl - avoid calling block script

On Fri, Feb 09, 2018 at 02:02:42AM +0100, Marek Marczykowski-Górecki wrote:
> Hi,
> I'd like to avoid calling block script to speed up domain startup a
> little (there may be multiple disks, all already being block devices).
> Right now I have restored setting physical-device xenstore entry in
> libxl (by reverting [1]),

This will work for Linux, but will break for FreeBSD, which expects
physical-device-path instead of physical-device as the output of
hotplug scripts.

> then applying the patch below (it's on 4.8).
> This works well for my case, but maybe there is some option to have it
> in vanilla Xen? Right now, this require explicit "script=block" to call
> the script (for example to setup loop device).
> Alternative idea I have is setting disk->script="block" early
> (in libxl_device_disk_init()?), so default do not change, but it's still
> possible to change it to NULL and avoid calling the script. The problem
> is libxl_device_disk_init() is a generated and I don't see how it could
> be modified... Any hints?
> Yet another idea is having some specific value for disk->script,
> that would avoid calling it, but I find this much less elegant solution.

So the problem is creation time for domains that have quite a lot of
disks attached. Adding Ian and Wei who know more about the async
dispatch system, but I think (at least from a technical PoV) it
should be possible to parallelize device attachment and thus hotplug
script execution. Devices are independent from each other.

Also the Linux hotplug scripts in general seem extremely convoluted,
I'm not sure whether we could gain some speed there just by

Thanks, Roger.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.