[linux-yocto] [PATCH 2/2] perf tools: Fix parallel build
Paul Gortmaker
paul.gortmaker at windriver.com
Tue Oct 9 08:42:03 PDT 2012
On 12-10-05 12:35 PM, tom.zanussi at intel.com wrote:
> From: Eric Sandeen
In keeping with what is done for the -stable releases, if we have:
commit e6048fb8602648eabee96476b2703807d5e89409 upstream
right here before the long log, then it makes it easy to script
what gets tossed out on kernel uprevs. We just look for such
a line, and we can run "git describe --contains ..." on it and
know which newer kernels already have it.
Also, you can feel free to use normal "Signed-off-by:" instead
of inventing "Backported-to-linux-yocto-3.4-by:" -- if there
really was something you needed to alter in the commit vs. a
trivial cherry pick, then it is generally noted in [...] above
the SOB line -- e.g.
Signed-off-by: Arnaldo Carvalho de Melo
[TZ: delete lines for foo; 3.4 doesn't have f3bedc8 which adds foo]
Signed-off-by: Tom Zanussi <tom.zanussi at intel.com>
You'd be correct in saying that the above defacto "-stable" method
probably isn't documented anywhere, so hopefully this helps. I've
attached a $0.02 script to help automate this; you can save it to
somewhere in $PATH and then use it just like any other git command
(i.e. "git cextract e6048fb86 ; git am -s 0001-blahblah.patch")
Thanks,
Paul.
--
>
> Parallel builds of perf were failing for me on a 32p box, with:
>
> * new build flags or prefix
> util/pmu.l:7:23: error: pmu-bison.h: No such file or directory
>
> ...
>
> make: *** [util/pmu-flex.o] Error 1
> make: *** Waiting for unfinished jobs....
>
> This can pretty quickly be seen by adding a sleep in front of the bison
> calls in tools/perf/Makefile and running make -j4 on a smaller box i.e.:
>
> sleep 10; $(QUIET_BISON)$(BISON) -v util/pmu.y -d -o $(OUTPUT)util/pmu-bison.c
>
> Adding the following dependencies fixes it for me.
>
> Signed-off-by: Eric Sandeen
> Reviewed-by: Namhyung Kim
> Cc: Namhyung Kim
> Link: http://lkml.kernel.org/r/505BD190.40707
> Signed-off-by: Arnaldo Carvalho de Melo
>
> Backported-to-linux-yocto-3.4-by: Tom Zanussi <tom.zanussi at intel.com>
> ---
> tools/perf/Makefile | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> index 3262f98..b223a60 100644
> --- a/tools/perf/Makefile
> +++ b/tools/perf/Makefile
> @@ -237,13 +237,13 @@ export PERL_PATH
> FLEX = flex
> BISON= bison
>
> -$(OUTPUT)util/parse-events-flex.c: util/parse-events.l
> +$(OUTPUT)util/parse-events-flex.c: util/parse-events.l $(OUTPUT)util/parse-events-bison.c
> $(QUIET_FLEX)$(FLEX) --header-file=$(OUTPUT)util/parse-events-flex.h -t util/parse-events.l > $(OUTPUT)util/parse-events-flex.c
>
> $(OUTPUT)util/parse-events-bison.c: util/parse-events.y
> $(QUIET_BISON)$(BISON) -v util/parse-events.y -d -o $(OUTPUT)util/parse-events-bison.c
>
> -$(OUTPUT)util/pmu-flex.c: util/pmu.l
> +$(OUTPUT)util/pmu-flex.c: util/pmu.l $(OUTPUT)util/pmu-bison.c
> $(QUIET_FLEX)$(FLEX) --header-file=$(OUTPUT)util/pmu-flex.h -t util/pmu.l > $(OUTPUT)util/pmu-flex.c
>
> $(OUTPUT)util/pmu-bison.c: util/pmu.y
>
-------------- next part --------------
#!/bin/bash
# Assume that $1 might be HEAD, or a tag, or an abbrev. ID.
GIT_ID=`git rev-parse $1`
if [ $? != 0 ]; then
echo $1 doesnt appear to be a valid git ref
exit -1
fi
TMPF=`mktemp`
git format-patch -p $1^..$1 > $TMPF 2>&1
if [ $? != 0 ]; then
echo format-patch failed
cat $TMPF
rm -f $TMPF
exit -1
fi
FILE=`cat $TMPF`
rm -f $TMPF
if [ ! -f "$FILE" ];then
echo cant find patch file $FILE
exit -1
fi
# echo Commit is $FILE
(
echo '/^$/a'
echo -e "commit $GIT_ID upstream.\n"
echo .
echo w
echo q
) | ed -s $FILE
More information about the linux-yocto
mailing list