linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rongqing Li <rongqing.li@windriver.com>
To: Eric Sandeen <sandeen@redhat.com>
Cc: <linux-btrfs@vger.kernel.org>
Subject: Re: [PATCH] btrfs-progs: Add dependencies explicitly to fix a parallel build issue
Date: Mon, 23 Sep 2013 15:17:07 +0800	[thread overview]
Message-ID: <523FEAF3.1090607@windriver.com> (raw)
In-Reply-To: <52390704.3010902@redhat.com>



On 09/18/2013 09:51 AM, Eric Sandeen wrote:
> On 9/17/13 8:11 PM, rongqing.li@windriver.com wrote:
>> From: Roy Li <rongqing.li@windriver.com>
>>
>> The dependencies of "all: version.h" or other similar ones can not
>> fix the parallel build failure, only reduce the times; In fact,
>> many *.o files require version.h file.
>>
>> 	#grep '#include "version.h"' ./ -r
>> 	./btrfs-corrupt-block.c:#include "version.h"
>> 	./btrfs.c:#include "version.h"
>> 	./btrfs-image.c:#include "version.h"
>> 	./cmds-filesystem.c:#include "version.h"
>> 	./btrfs-show-super.c:#include "version.h"
>> 	./btrfs-select-super.c:#include "version.h"
>> 	./cmds-restore.c:#include "version.h"
>> 	./btrfs-find-root.c:#include "version.h"
>> 	./mkfs.c:#include "version.h"
>> 	./btrfs-zero-log.c:#include "version.h"
>> 	./btrfs-defrag.c:#include "version.h"
>> 	./cmds-chunk.c:#include "version.h"
>> 	./btrfstune.c:#include "version.h"
>> 	./btrfs-calc-size.c:#include "version.h"
>> 	./btrfs-map-logical.c:#include "version.h"
>> 	./cmds-check.c:#include "version.h"
>> 	./btrfs-debug-tree.c:#include "version.h"
>>
>> Signed-off-by: Roy Li <rongqing.li@windriver.com>
>> ---
>>   Sorry, The patch [btrfs-progs: fix parallel build] sent by me on Sep 3
>> can not fix the build failure, when build enough times on a 16 core cpu,
>> the build failure happens again, so I refix it again.
>>
>>
>>   Makefile |    6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/Makefile b/Makefile
>> index c43cb68..a7c259c 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -81,6 +81,12 @@ endif
>>   	@echo "    [CC]     $@"
>>   	$(Q)$(CC) $(DEPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c $<
>>
>> +btrfs-corrupt-block.o btrfs.o btrfs-image.o cmds-filesystem.o:version.h
>> +btrfs-show-super.o btrfs-select-super.o cmds-restore.o:version.h
>> +btrfs-find-root.o mkfs.o btrfs-zero-log.o btrfs-defrag.o cmds-chunk.o:version.h
>> +btrfstune.o btrfs-calc-size.o btrfs-map-logical.o cmds-check.o:version.h
>> +btrfs-debug-tree.o:version.h
>> +
>>   %.static.o: %.c
>>   	@echo "    [CC]     $@"
>>   	$(Q)$(CC) $(DEPFLAGS) $(AM_CFLAGS) $(STATIC_CFLAGS) -c $< -o $@
>>
>
> I think this can be done more cleanly, I'll send a patch.
>
> -Eric
>
>

If this one is not cleanly, how is the below one


 From a56ac083a789605904507b602d9ebf196ae6746d Mon Sep 17 00:00:00 2001
From: Roy Li <rongqing.li@windriver.com>
Date: Mon, 23 Sep 2013 09:53:30 +0800
Subject: [PATCH] btrfs-progs: Add dependencies explicitly to fix a parallel
  build issue

The dependencies of "all: version.h" or other similar ones can not
fix the parallel build failure, only reduce the times; In fact,
many *.o files require version.h file.

	#grep '#include "version.h"' ./ -r
	./btrfs-corrupt-block.c:#include "version.h"
	./btrfs.c:#include "version.h"
	./btrfs-image.c:#include "version.h"
	./cmds-filesystem.c:#include "version.h"
	./btrfs-show-super.c:#include "version.h"
	./btrfs-select-super.c:#include "version.h"
	./cmds-restore.c:#include "version.h"
	./btrfs-find-root.c:#include "version.h"
	./mkfs.c:#include "version.h"
	./btrfs-zero-log.c:#include "version.h"
	./btrfs-defrag.c:#include "version.h"
	./cmds-chunk.c:#include "version.h"
	./btrfstune.c:#include "version.h"
	./btrfs-calc-size.c:#include "version.h"
	./btrfs-map-logical.c:#include "version.h"
	./cmds-check.c:#include "version.h"
	./btrfs-debug-tree.c:#include "version.h"

Signed-off-by: Roy Li <rongqing.li@windriver.com>
---
  Makefile |    2 ++
  1 file changed, 2 insertions(+)

diff --git a/Makefile b/Makefile
index c43cb68..901ffa2 100644
--- a/Makefile
+++ b/Makefile
@@ -81,6 +81,8 @@ endif
  	@echo "    [CC]     $@"
  	$(Q)$(CC) $(DEPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c $<

+%.o: version.h
+
  %.static.o: %.c
  	@echo "    [CC]     $@"
  	$(Q)$(CC) $(DEPFLAGS) $(AM_CFLAGS) $(STATIC_CFLAGS) -c $< -o $@
-- 
1.7.10.4




-- 
Best Reagrds,
Roy | RongQing Li

  parent reply	other threads:[~2013-09-23  7:17 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-18  1:11 [PATCH] btrfs-progs: Add dependencies explicitly to fix a parallel build issue rongqing.li
2013-09-18  1:51 ` Eric Sandeen
2013-09-18  1:55   ` Rongqing Li
2013-09-23  7:17   ` Rongqing Li [this message]
2013-09-18  1:56 ` [PATCH] btrfs-progs: Add version.h dependency to fix parallel builds Eric Sandeen
2013-09-18  2:26   ` Eric Sandeen
2013-09-18  6:39     ` Rongqing Li
2013-09-18 14:51 ` [PATCH] btrfs-progs: Add dependencies explicitly to fix a parallel build issue David Sterba
2013-09-22  1:06   ` Rongqing Li
2013-09-23 12:26     ` David Sterba

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=523FEAF3.1090607@windriver.com \
    --to=rongqing.li@windriver.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=sandeen@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).