public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "marxin at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug gcov-profile/97461] [11 Regression] allocate_gcov_kvp() deadlocks in firefox LTO+PGO build (overridden malloc() recursion) Date: Mon, 19 Oct 2020 13:42:01 +0000 [thread overview] Message-ID: <bug-97461-4-AvuZH7NjEx@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-97461-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97461 --- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Richard Biener from comment #5) > Hmm, is the TOPN allocation strathegy configurable? I wonder whether we have > to resort to an alternate allocation scheme (mmap/sbrk), avoiding libc? No. The only thing we support is a recursive malloc as seen in: ./gcc/testsuite/gcc.dg/tree-prof/indir-call-prof-malloc.c It was added in g:bc2b1a232b1825b421a1aaa21a0865b2d1e4e08c as we use a statically allocated buffer when we recursively entry allocate_gcov_kvp. However this is different as we can't call malloc/calloc from the function as we're in code that initializes a memory allocator. We can mitigate the issue with a pair of new functions __gcov_supress_malloc and __gcov_alloc_malloc that will be called by a custom memory allocator. What do you think about it? > At > least > I don't see a good way to force the gcov allocation to call the libc malloc > rather than a user replacement that is being instrumented. Of course the > instrumentation code could do sth like > > if (is_allocated == 0) > { > is_allocated = in_progress; > ... = malloc (); > is_allocated = 1; > } > else if (is_allocted == in_progress) > { > topn_mem = &transitional_garbage_space; > } > > but of course that's quite some overhead for a small benefit. Maybe it > could be hidden in gcov_malloc.
next prev parent reply other threads:[~2020-10-19 13:42 UTC|newest] Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-10-16 15:03 [Bug gcov-profile/97461] New: " slyfox at gcc dot gnu.org 2020-10-16 15:05 ` [Bug gcov-profile/97461] " slyfox at gcc dot gnu.org 2020-10-16 15:09 ` slyfox at gcc dot gnu.org 2020-10-16 15:16 ` slyfox at gcc dot gnu.org 2020-10-19 7:12 ` [Bug gcov-profile/97461] [11 Regression] " marxin at gcc dot gnu.org 2020-10-19 7:15 ` rguenth at gcc dot gnu.org 2020-10-19 13:42 ` marxin at gcc dot gnu.org [this message] 2020-10-19 13:46 ` Jan Hubicka 2020-10-19 13:46 ` hubicka at ucw dot cz 2020-10-19 14:15 ` marxin at gcc dot gnu.org 2020-10-19 14:51 ` Jan Hubicka 2020-10-19 14:52 ` hubicka at ucw dot cz 2020-10-19 14:58 ` marxin at gcc dot gnu.org 2020-10-27 10:50 ` cvs-commit at gcc dot gnu.org 2020-10-27 10:50 ` marxin at gcc dot gnu.org 2020-10-27 22:18 ` slyfox at gcc dot gnu.org 2020-10-29 10:19 ` marxin at gcc dot gnu.org 2020-10-29 14:53 ` slyfox at gcc dot gnu.org 2020-10-29 15:00 ` marxin at gcc dot gnu.org 2020-10-29 15:05 ` marxin at gcc dot gnu.org 2020-10-29 18:54 ` marxin at gcc dot gnu.org 2020-10-29 19:11 ` jakub at gcc dot gnu.org 2020-10-30 8:45 ` slyfox at gcc dot gnu.org 2020-10-30 23:37 ` slyfox at gcc dot gnu.org 2020-11-06 13:47 ` cvs-commit at gcc dot gnu.org 2020-11-06 13:49 ` marxin at gcc dot gnu.org 2020-11-09 9:57 ` marxin at gcc dot gnu.org 2020-12-04 7:01 ` marxin at gcc dot gnu.org 2021-01-21 9:26 ` rguenth at gcc dot gnu.org 2021-01-26 11:51 ` marxin at gcc dot gnu.org 2021-03-03 13:22 ` cvs-commit at gcc dot gnu.org 2021-03-03 13:27 ` marxin at gcc dot gnu.org 2021-03-03 13:31 ` jakub at gcc dot gnu.org 2021-03-03 14:49 ` marxin at gcc dot gnu.org 2021-03-03 15:14 ` lh_mouse at 126 dot com 2021-03-05 18:11 ` slyfox at gcc dot gnu.org 2021-03-06 8:19 ` marxin at gcc dot gnu.org
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=bug-97461-4-AvuZH7NjEx@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /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: linkBe 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 read-only IMAP folder(s) and NNTP newsgroup(s).