Re: [PATCH] btrfs-progs: Add dependencies explicitly to fix a parallel build issue

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

 





On 09/18/2013 10:51 PM, David Sterba wrote:
On Wed, Sep 18, 2013 at 09:11:01AM +0800, rongqing.li@xxxxxxxxxxxxx wrote:
From: Roy Li <rongqing.li@xxxxxxxxxxxxx>

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@xxxxxxxxxxxxx>
---
  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.

I'm running make -j all the time but haven't seen the build fail due to
missing version.h for a long time. With this patch or the previous one
or with Eric's, all fine. The generated dependency files contain
version.h so make has complete information how to order the rules.


I want to know how many cores your cpu has? I can not reproduce it on
my 2 cores cpu, but it always happens when run on a server which is
a 16 cores cpu and "make -j20"


The dependency files are generated by an implicit rule .c -> .o.d, so
there should be no problem for any of the files listed above.


Do you means the below:

.c.o:
        $(Q)$(check) $<
        @echo "    [CC]     $@"
        $(Q)$(CC) $(DEPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c $<


-Roy



If you think the patch "btrfs-progs: fix parallel build" does not help
much I'll drop it.


david



--
Best Reagrds,
Roy | RongQing Li
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux