diff mbox

[kvm-unit-tests] arm: fix parallel build (make -j)

Message ID 1457041274-32283-1-git-send-email-pfeiner@google.com (mailing list archive)
State New, archived
Headers show

Commit Message

Peter Feiner March 3, 2016, 9:41 p.m. UTC
Dependency on asm-offsets.h wasn't made explicit in the Makefiles.
Worked without -j because non-parallel make builds dependencies in
declared order.

Signed-off-by: Peter Feiner <pfeiner@google.com>
---
 arm/Makefile.common | 2 ++
 1 file changed, 2 insertions(+)

Comments

Andrew Jones March 4, 2016, 11:04 a.m. UTC | #1
On Thu, Mar 03, 2016 at 01:41:14PM -0800, Peter Feiner wrote:
> Dependency on asm-offsets.h wasn't made explicit in the Makefiles.
> Worked without -j because non-parallel make builds dependencies in
> declared order.
> 
> Signed-off-by: Peter Feiner <pfeiner@google.com>
> ---
>  arm/Makefile.common | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arm/Makefile.common b/arm/Makefile.common
> index dd3a0ca..6de82cf 100644
> --- a/arm/Makefile.common
> +++ b/arm/Makefile.common
> @@ -71,3 +71,5 @@ test_cases: $(generated_files) $(tests-common) $(tests)
>  
>  $(TEST_DIR)/selftest.elf: $(cstart.o) $(TEST_DIR)/selftest.o
>  $(TEST_DIR)/spinlock-test.elf: $(cstart.o) $(TEST_DIR)/spinlock-test.o
> +
> +$(TEST_DIR)/selftest.o $(TEST_DIR)/spinlock-test.o $(cstart.o): $(asm-offsets)

You know a project is really growing when you need 'make -j' :-)

How about this patch instead though

-test_cases: $(generated_files) $(tests-common) $(tests)
+test_cases: $(tests-common) $(tests)
+$(patsubst %.flat,%.o,$(tests-common) $(tests)) $(cstart.o): $(generated_files)

Or, hmm, actually any $(TEST_DIR)/ lib/$(TEST_DIR)/ or lib/$(ARCH)/
source file could depend on asm-offsets. So the above probably isn't
sufficient for the long term either.

Thanks,
drew

> -- 
> 2.7.0.rc3.207.g0ac5344
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Paolo Bonzini March 4, 2016, 3:45 p.m. UTC | #2
On 04/03/2016 12:04, Andrew Jones wrote:
>> > +
>> > +$(TEST_DIR)/selftest.o $(TEST_DIR)/spinlock-test.o $(cstart.o): $(asm-offsets)
> You know a project is really growing when you need 'make -j' :-)
> 
> How about this patch instead though
> 
> -test_cases: $(generated_files) $(tests-common) $(tests)
> +test_cases: $(tests-common) $(tests)
> +$(patsubst %.flat,%.o,$(tests-common) $(tests)) $(cstart.o): $(generated_files)
> 
> Or, hmm, actually any $(TEST_DIR)/ lib/$(TEST_DIR)/ or lib/$(ARCH)/
> source file could depend on asm-offsets. So the above probably isn't
> sufficient for the long term either.

I expect a relatively small part of the .o files to need asm-offsets, so
I'm going with Peter's patch.

Paolo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andrew Jones March 4, 2016, 4:28 p.m. UTC | #3
On Fri, Mar 04, 2016 at 04:45:09PM +0100, Paolo Bonzini wrote:
> 
> 
> On 04/03/2016 12:04, Andrew Jones wrote:
> >> > +
> >> > +$(TEST_DIR)/selftest.o $(TEST_DIR)/spinlock-test.o $(cstart.o): $(asm-offsets)
> > You know a project is really growing when you need 'make -j' :-)
> > 
> > How about this patch instead though
> > 
> > -test_cases: $(generated_files) $(tests-common) $(tests)
> > +test_cases: $(tests-common) $(tests)
> > +$(patsubst %.flat,%.o,$(tests-common) $(tests)) $(cstart.o): $(generated_files)
> > 
> > Or, hmm, actually any $(TEST_DIR)/ lib/$(TEST_DIR)/ or lib/$(ARCH)/
> > source file could depend on asm-offsets. So the above probably isn't
> > sufficient for the long term either.
> 
> I expect a relatively small part of the .o files to need asm-offsets, so
> I'm going with Peter's patch.

Well, his patch adds the dependency for $(TEST_DIR)/spinlock-test.o,
which actually doesn't need it. We should either just put the ones
that need it, or all of them.

Thanks,
drew
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Peter Feiner March 4, 2016, 5:03 p.m. UTC | #4
On Fri, Mar 4, 2016 at 8:28 AM, Andrew Jones <drjones@redhat.com> wrote:
> On Fri, Mar 04, 2016 at 04:45:09PM +0100, Paolo Bonzini wrote:
>>
>>
>> On 04/03/2016 12:04, Andrew Jones wrote:
>> >> > +
>> >> > +$(TEST_DIR)/selftest.o $(TEST_DIR)/spinlock-test.o $(cstart.o): $(asm-offsets)
>> > You know a project is really growing when you need 'make -j' :-)
>> >
>> > How about this patch instead though
>> >
>> > -test_cases: $(generated_files) $(tests-common) $(tests)
>> > +test_cases: $(tests-common) $(tests)
>> > +$(patsubst %.flat,%.o,$(tests-common) $(tests)) $(cstart.o): $(generated_files)
>> >
>> > Or, hmm, actually any $(TEST_DIR)/ lib/$(TEST_DIR)/ or lib/$(ARCH)/
>> > source file could depend on asm-offsets. So the above probably isn't
>> > sufficient for the long term either.
>>
>> I expect a relatively small part of the .o files to need asm-offsets, so
>> I'm going with Peter's patch.
>
> Well, his patch adds the dependency for $(TEST_DIR)/spinlock-test.o,
> which actually doesn't need it. We should either just put the ones
> that need it, or all of them.

My mistake! Evidently I can't read the output of grep properly. I'll
send v2 with the minimal list of dependencies.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arm/Makefile.common b/arm/Makefile.common
index dd3a0ca..6de82cf 100644
--- a/arm/Makefile.common
+++ b/arm/Makefile.common
@@ -71,3 +71,5 @@  test_cases: $(generated_files) $(tests-common) $(tests)
 
 $(TEST_DIR)/selftest.elf: $(cstart.o) $(TEST_DIR)/selftest.o
 $(TEST_DIR)/spinlock-test.elf: $(cstart.o) $(TEST_DIR)/spinlock-test.o
+
+$(TEST_DIR)/selftest.o $(TEST_DIR)/spinlock-test.o $(cstart.o): $(asm-offsets)