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

Re: [Xen-devel] [PATCH] build: Don't fetch tools/ioemu-dir unless needed



>>> On 06.05.11 at 16:33, George Dunlap <george.dunlap@xxxxxxxxxxxxx> wrote:
> c/s 18482 made both stubdom and tools dependent on tools/ioemu-dir
> to fix a race condition where both build paths might try to fetch
> qemu in parallel.  But this means that even if you build the tools
> with CONFIG_IOEMU=n, qemu is still fetched first.
> 
> This patch causes tools/ioemu-dir to be a dependency for tools
> only if CONFIG_IOEMU is enabled.
> 
> It's still unconditional for stubdoms, as it doesn't make much sense
> to build stubdoms without it.

The idea is certainly good, but ...

> Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
> 
> diff -r 4b0692880dfa -r c3b9bca4b119 Config.mk
> --- a/Config.mk       Thu May 05 17:40:34 2011 +0100
> +++ b/Config.mk       Fri May 06 15:33:09 2011 +0100
> @@ -179,6 +179,11 @@
>  # CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
>  CONFIG_QEMU ?= $(QEMU_REMOTE)
>  
> +# If building with CONFIG_IOEMU, get ioemu-dir before building
> +# tools or stubdom (or they may race)
> +SHARED_SUBDIRS-y :=
> +SHARED_SUBDIRS-$(CONFIG_IOEMU) += tools/ioemu-dir

... the name chosen here isn't really suitable for the place you put
it: Either the name should be sufficiently distinct, or this should be
placed in ./Makefile (though even then I'd probably still like to see
it somehow specify what or by whom this is shared). Otherwise, if
something becomes shared e.g. between Xen and tools, it would
be logical to expect to simply put it here, but obviously this won't
work then.

Jan

> +
>  QEMU_TAG := xen-4.1.0-rc6
>  #QEMU_TAG ?= e073e69457b4d99b6da0b6536296e3498f7f6599
>  # Fri Feb 11 17:54:51 2011 +0000
> diff -r 4b0692880dfa -r c3b9bca4b119 Makefile
> --- a/Makefile        Thu May 05 17:40:34 2011 +0100
> +++ b/Makefile        Fri May 06 15:33:09 2011 +0100
> @@ -66,7 +66,7 @@
>       $(MAKE) -C xen install
>  
>  .PHONY: install-tools
> -install-tools: tools/ioemu-dir
> +install-tools: $(SHARED_SUBDIRS-y)
>       $(MAKE) -C tools install
>  
>  .PHONY: install-kernels
> @@ -74,6 +74,7 @@
>       for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
>  
>  .PHONY: install-stubdom
> +# NB: depend on tools/ioemu-dir unconditionally for stubdoms
>  install-stubdom: tools/ioemu-dir install-tools
>       $(MAKE) -C stubdom install
>  ifeq (x86_64,$(XEN_TARGET_ARCH))
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx 
> http://lists.xensource.com/xen-devel 




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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