public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
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

  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).