From: Jan Kratochvil <jan.kratochvil@redhat.com>
To: Doug Evans <dje@google.com>
Cc: Tom Tromey <tromey@redhat.com>, gdb-patches@sourceware.org
Subject: Re: [patch] Fix DW_OP_call2 and DW_OP_call4 for max-cache-age 0
Date: Mon, 06 Sep 2010 11:29:00 -0000 [thread overview]
Message-ID: <20100906094821.GA20484@host1.dyn.jankratochvil.net> (raw)
In-Reply-To: <AANLkTi=yM2JVhbmJd=0Q-M=d3tNn4OfbnaAnRxycuYkp@mail.gmail.com>
On Fri, 03 Sep 2010 17:59:16 +0200, Doug Evans wrote:
> Unless code that needs a CU reads it in as necessary, and the API into
> the dwarf reader only ages the cache at well defined points that no
> longer need CUs (e.g. when we're done psymtab->symtab expansion).
> (right?)
This means only one CU is guaranteed to be read in at one time. And when you
hold that CU you must not call any GDB function as this function can (upon
a change in the future) request its own CU and thus invalidate CU at the
caller. I find it as a too fragile policy.
Still I find it even ineffective. Regular aging means CUs get flushed even if
only a few of them is now read-in.
> > Therefore I find prepare_execute_command as the only safe place to flush any
> > CU.
>
> OOC, If we did move cache aging to a higher level, is there a reason
> it can't be done at cleanup time?
> [For reference sake, it's actually done today for free_stack_comp_unit.]
The aging currently affects all CUs read-in. There can be several nested
calls each requesting its own CU and doing aging at the (inner) cleanup time.
That means a cleanup in the inner call may age-out CU in the outer call still
before the outer cleanup.
Without any CU locking in place I still do not see a safe point other than at
the top level idle time (that is prepare_execute_command).
Thanks,
Jan
next prev parent reply other threads:[~2010-09-06 9:48 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-23 18:50 Jan Kratochvil
2010-08-23 19:30 ` Doug Evans
2010-09-02 17:13 ` Jan Kratochvil
2010-09-02 19:33 ` Doug Evans
2011-07-13 15:21 ` [patch] Fix DW_OP_call2 and DW_OP_call4 for max-cache-age 0 #2 Jan Kratochvil
2011-07-19 20:55 ` Jan Kratochvil
2010-09-03 15:42 ` [patch] Fix DW_OP_call2 and DW_OP_call4 for max-cache-age 0 Tom Tromey
2010-09-03 16:14 ` Jan Kratochvil
2010-09-03 18:06 ` Doug Evans
2010-09-06 11:29 ` Jan Kratochvil [this message]
2010-09-06 22:29 ` Doug Evans
2010-09-08 12:26 ` Tom Tromey
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=20100906094821.GA20484@host1.dyn.jankratochvil.net \
--to=jan.kratochvil@redhat.com \
--cc=dje@google.com \
--cc=gdb-patches@sourceware.org \
--cc=tromey@redhat.com \
/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: link
Be 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).