GNU bug report logs -
#79001
Retain profile image files generated during build
Previous Next
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
I want to use low-level profiling information generated during the
build process for evaluating changes to C primitives, particularly the
reader.
The attached patch sets up the environment variable GMON_OUT_PREFIX
when running emacs during the build so that the output incorporates
the target in the name and generates unique names during a parallel
build.
However, in a parallel build, I am now seeing the cus-load.el target
get run twice simultaneously, so that one instance will exit with a
file lock error and stop the build.
I also get random segmentation faults from emacs during the build, but
they do not repeat when I reinvoke make, and the file being
byte-compiled when the segfault occurred is not rerun.
In addition to the patches to commit
d63746d5191fb6e4ee6e39addfc1a05e0e0214b1, I have attached a list of
the names of the generated profile images for review.
I would like to have profiling start before the dump file is loaded,
but my simple minded attempt caused the shell to terminate emacs with
a message like "profiling timer expired". I assume monstartup
(src/emacs.c:2557) does something to undo the signal handling set up
during emacs initialization, but I can't find any documentation for
that function on linux, or determine what else would have to change to
move that call up to the start of main.
You can get the new behavior with
./configure --enable-profiling=all
make PROFILE_BUILD=yes
./configure --enable-profiling=build
should have the effect of 'all' plus making PROFILE_BUILD=yes the
default in the Makefiles, but I have not tested it.
Also, I'm not sure if there are any canned analyses that should be
incorporated in the Makefiles as targets, or sets of files that should
be summarized for such analyses.
Lynn
[0002-The-does-not-work-with-the-newline-escaping.patch (text/x-patch, attachment)]
[0003-The-recipe-code-for-summarizing-recursive-targets-ne.patch (text/x-patch, attachment)]
[0001-Support-for-retaining-profiling-from-build.patch (text/x-patch, attachment)]
[0004-configure.ac-Updated-help-for-enable-profiling-optio.patch (text/x-patch, attachment)]
[profile-images (application/octet-stream, attachment)]
This bug report was last modified 26 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.