Ian Jackson
2010-Jul-07 16:16 UTC
[Xen-devel] [PATCH] Serialise some things in top-level Makefile
If the top-level Makefile does "make -C tools" before "make -C xen", or "make -C stubdom" before "make -C tools", things can go wrong. This will also mean that "make dist-tools" should work, if only by virtue of building Xen first. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> diff -r a0f0ae5be814 Makefile --- a/Makefile Tue Jul 06 17:58:37 2010 +0100 +++ b/Makefile Wed Jul 07 17:15:00 2010 +0100 @@ -66,7 +66,7 @@ $(MAKE) -C xen install .PHONY: install-tools -install-tools: tools/ioemu-dir +install-tools: tools/ioemu-dir install-xen $(MAKE) -C tools install .PHONY: install-kernels @@ -74,7 +74,7 @@ for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done .PHONY: install-stubdom -install-stubdom: tools/ioemu-dir +install-stubdom: tools/ioemu-dir install-tools $(MAKE) -C stubdom install ifeq (x86_64,$(XEN_TARGET_ARCH)) XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jan Beulich
2010-Jul-08 07:17 UTC
Re: [Xen-devel] [PATCH] Serialise some things in top-level Makefile
>>> On 07.07.10 at 18:16, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote: > If the top-level Makefile does "make -C tools" before "make -C xen", > or "make -C stubdom" before "make -C tools", things can go wrong. > > This will also mean that "make dist-tools" should work, if only by > virtue of building Xen first. > > Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>I disagree to a change like this, the more that I don''t see why it would be needed: Building the tools independently and before the hypervisor used to work for me quite fine, and if it got broken recently I think this is what should get fixed. One may be building hypervisor and tools (and perhaps also stubdom) with different settings, but that won''t work anymore if a tools build implies a hypervisor one (unless one does a "make -C xen clean" first, thus having wasted the time it took to build the hypervisor a first time). Jan> diff -r a0f0ae5be814 Makefile > --- a/Makefile Tue Jul 06 17:58:37 2010 +0100 > +++ b/Makefile Wed Jul 07 17:15:00 2010 +0100 > @@ -66,7 +66,7 @@ > $(MAKE) -C xen install > > .PHONY: install-tools > -install-tools: tools/ioemu-dir > +install-tools: tools/ioemu-dir install-xen > $(MAKE) -C tools install > > .PHONY: install-kernels > @@ -74,7 +74,7 @@ > for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done > > .PHONY: install-stubdom > -install-stubdom: tools/ioemu-dir > +install-stubdom: tools/ioemu-dir install-tools > $(MAKE) -C stubdom install > ifeq (x86_64,$(XEN_TARGET_ARCH)) > XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2010-Jul-08 07:23 UTC
Re: [Xen-devel] [PATCH] Serialise some things in top-level Makefile
On 08/07/2010 08:17, "Jan Beulich" <JBeulich@novell.com> wrote:>>>> On 07.07.10 at 18:16, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote: >> If the top-level Makefile does "make -C tools" before "make -C xen", >> or "make -C stubdom" before "make -C tools", things can go wrong. >> >> This will also mean that "make dist-tools" should work, if only by >> virtue of building Xen first. >> >> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> > > I disagree to a change like this, the more that I don''t see why it > would be needed: Building the tools independently and before > the hypervisor used to work for me quite fine, and if it got broken > recently I think this is what should get fixed.Yes, that''s always worked for me too. I can''t see why there would now be a dependency between them. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Tim Deegan
2010-Jul-08 08:25 UTC
Re: [Xen-devel] [PATCH] Serialise some things in top-level Makefile
At 08:17 +0100 on 08 Jul (1278577054), Jan Beulich wrote:> >>> On 07.07.10 at 18:16, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote: > > If the top-level Makefile does "make -C tools" before "make -C xen", > > or "make -C stubdom" before "make -C tools", things can go wrong. > > > > This will also mean that "make dist-tools" should work, if only by > > virtue of building Xen first. > > > > Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> > > I disagree to a change like this, the more that I don''t see why it > would be needed: Building the tools independently and before > the hypervisor used to work for me quite fine, and if it got broken > recently I think this is what should get fixed.+1. I do most of my work with 32-bit tools and a 64-bit Xen; I definitely don''t want to serialize my tools builds behind a useless 32-bit Xen build. Cheers, Tim. -- Tim Deegan <Tim.Deegan@citrix.com> Principal Software Engineer, XenServer Engineering Citrix Systems UK Ltd. (Company #02937203, SL9 0BG) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Jackson
2010-Jul-08 14:09 UTC
Re: [Xen-devel] [PATCH] Serialise some things in top-level Makefile
Tim Deegan writes ("Re: [Xen-devel] [PATCH] Serialise some things in top-level Makefile"):> +1. I do most of my work with 32-bit tools and a 64-bit Xen; I > definitely don''t want to serialize my tools builds behind a useless > 32-bit Xen build.You all seem to be right that "make tools" works without "make xen". I had a clear impression that the reverse was true. It doesn''t seem to be any more. "make stubdom" doesn''t work on its own though. So how about this ? Makefile: Serialise stubdom build after tools Currently "make stubdom" on its own fails because it depends on files being installed by the results of "make tools". This also means that in some circumstances a parallel "make tools stubdom" (or "make all") can fail due to races. So make "make stubdom" depend on "make tools" having completed first. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> diff -r a0f0ae5be814 Makefile --- a/Makefile Tue Jul 06 17:58:37 2010 +0100 +++ b/Makefile Thu Jul 08 15:08:08 2010 +0100 @@ -74,7 +74,7 @@ for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done .PHONY: install-stubdom -install-stubdom: tools/ioemu-dir +install-stubdom: tools/ioemu-dir install-tools $(MAKE) -C stubdom install ifeq (x86_64,$(XEN_TARGET_ARCH)) XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Tim Deegan
2010-Jul-08 14:27 UTC
Re: [Xen-devel] [PATCH] Serialise some things in top-level Makefile
At 15:09 +0100 on 08 Jul (1278601780), Ian Jackson wrote:> Tim Deegan writes ("Re: [Xen-devel] [PATCH] Serialise some things in top-level Makefile"): > > +1. I do most of my work with 32-bit tools and a 64-bit Xen; I > > definitely don''t want to serialize my tools builds behind a useless > > 32-bit Xen build. > > You all seem to be right that "make tools" works without "make xen". > I had a clear impression that the reverse was true. It doesn''t seem > to be any more. > > "make stubdom" doesn''t work on its own though. So how about this ?Looks good to me. Tim.> Makefile: Serialise stubdom build after tools > > Currently "make stubdom" on its own fails because it depends on files > being installed by the results of "make tools". This also means that > in some circumstances a parallel "make tools stubdom" (or "make all") > can fail due to races. So make "make stubdom" depend on "make tools" > having completed first. > > Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> > > > diff -r a0f0ae5be814 Makefile > --- a/Makefile Tue Jul 06 17:58:37 2010 +0100 > +++ b/Makefile Thu Jul 08 15:08:08 2010 +0100 > @@ -74,7 +74,7 @@ > for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done > > .PHONY: install-stubdom > -install-stubdom: tools/ioemu-dir > +install-stubdom: tools/ioemu-dir install-tools > $(MAKE) -C stubdom install > ifeq (x86_64,$(XEN_TARGET_ARCH)) > XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub >-- Tim Deegan <Tim.Deegan@citrix.com> Principal Software Engineer, XenServer Engineering Citrix Systems UK Ltd. (Company #02937203, SL9 0BG) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel