Thread (12 messages) 12 messages, 2 authors, 2017-07-26

Re: [PATCH v1 0/4] Teach 'run' perf script to read config files

From: Christian Couder <hidden>
Date: 2017-07-26 16:00:35

On Fri, Jul 14, 2017 at 8:27 AM, Christian Couder
[off-list ref] wrote:
On Thu, Jul 13, 2017 at 10:55 PM, Jeff King [off-list ref] wrote:
quoted
On Thu, Jul 13, 2017 at 08:57:01PM +0200, Christian Couder wrote:
quoted
quoted
quoted
We want to make it possible to store the parameters to the 'run'
script in a config file. This will make it easier to store, reuse,
share and compare parameters.
Because perf-lib is built on test-lib, it already reads
GIT-BUILD-OPTIONS.
Actually the 'run' script also sources GIT-BUILD-OPTIONS, so maybe
this is not necessary.
Ah, right. The one that comes via perf-lib gets the variables into the
test scripts themselves. But anything "run" would need itself would come
from the source it does itself. And that's where GIT_PERF_MAKE_OPTS has
an effect.
quoted
Also are the variables in GIT-BUILD-OPTIONS exported already?
No, I don't think so. But because both "run" and the scripts themselves
source them, they're available more or less everywhere, except for
sub-processes inside the scripts.
Ok, I see.
Actually after taking another look at that, it looks like the following happens:

1) the run script sources the original GIT-BUILD-OPTIONS file from
../.. relative to its location
2) a git version is built in "build/$rev" using GIT_PERF_MAKE_OPTS
which generates a new GIT-BUILD-OPTIONS file in "build/$rev/"
3) when the actual perf scripts are run they source the original
GIT-BUILD-OPTIONS file (through perf-lib.sh which sources test-lib.sh)

I wonder how useful 1) is, as the variables sourced from original
GIT-BUILD-OPTIONS are not used inside the "run" script and not
available to its child processes as they are not exported.
Is it just so that if people add GIT_PERF_* variables to their
config.mak before building they can then have those variables used by
the run script?

I also wonder if it would be better at step 3) to source the
GIT-BUILD-OPTIONS file generated at step 2) instead of the original
one, because they can be different as the options in
$GIT_PERF_MAKE_OPTS will be baked into the new GIT-BUILD-OPTIONS file.
(Of course if $GIT_PERF_MAKE_OPTS was added to config.mak before
building, then they will be in the original one too. But
$GIT_PERF_MAKE_OPTS should work without that.)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help