From: "Marc Khouzam" <marc.khouzam@ericsson.com>
To: "Nick Roberts" <nickrob@snap.net.nz>
Cc: "Vladimir Prus" <vladimir@codesourcery.com>,
<gdb-patches@sources.redhat.com>
Subject: RE: -var-update @
Date: Fri, 28 Mar 2008 14:32:00 -0000 [thread overview]
Message-ID: <6D19CA8D71C89C43A057926FE0D4ADAA04290FD9@ecamlmw720.eamcs.ericsson.se> (raw)
In-Reply-To: <18412.2657.401216.698985@kahikatea.snap.net.nz>
> > DSF only updates varObj that are visible on screen. So currently, it always
> > uses -var-update with a single varObj name (never use *).
>
> Which must mean that there is a round trip to the target for each variable
> object that needs to be updated.
>
> This is sounds similar to the previous discussion about using
> "-var-list-children --all-values". There Daniel stated that "for a lot of
> embedded targets [...] reading memory becomes the dominant time delay".
>
> Can someone give some typical numbers for "round trip time" vs "reading memory"
> time. In my naive understanding of embedded targets, I would have thought the
> "round trip time" might be large due to a slow serial link, while "reading
> memory" wouldn't change much as all RAM is pretty much the same. Or is the
> latter slow because of the time taken to transfer any unneeded extra data back
> to the host?
I'm not familiar with such numbers myself, although I would be interested in
finding out.
However, I wanted to point out that there are currently two possible options
for var-update
-var-update <singleVarObj>
-var-update *
(we'll ignore the new -var-update @, which does not affect the discussion)
For DSF, which tries to minimize the amount of work done, we can:
1- use multiple var-update <singleVarObj>, which typically results in
about 5 or 6 var-updates being sent (only 5 or 6 variables are visible on-screen).
Then GDB on the target reads the memory for those 5 or 6 varObjs.
2- use var-update *, which results in a single -var-update, but which
makes GDB on the target read the memory of all varObjects, which can be
anywhere from, say, 5 to 5000, or even more.
As you can see, option 2 does not scale, irrespective of which is
the true bottleneck, the round-trip time, or the target memory access.
That is why DSF does not use var-update *.
But you are right that less round-trips would be even better.
So, to improve option 1, Vladimir's suggestion of a batch -var-update
-var-update <var1> <var2> ...
would be better (although DSF is not currently setup for it.)
BTW, is there a limit (enforced or recommended) on the number of varObj that
can be created?
BR,
Marc
next prev parent reply other threads:[~2008-03-28 14:32 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-26 14:54 Vladimir Prus
2008-03-27 5:17 ` Nick Roberts
2008-03-27 7:00 ` Vladimir Prus
2008-03-27 9:54 ` Nick Roberts
2008-03-27 10:38 ` Vladimir Prus
2008-03-27 13:25 ` Marc Khouzam
2008-03-27 13:37 ` Vladimir Prus
2008-03-27 20:58 ` Nick Roberts
2008-03-28 14:32 ` Marc Khouzam [this message]
2008-03-28 16:22 ` Vladimir Prus
2008-03-28 16:33 ` Marc Khouzam
2008-04-01 13:37 ` André Pönitz
2008-04-01 13:56 ` Marc Khouzam
2008-04-01 14:30 ` André Pönitz
2008-04-03 19:10 ` Daniel Jacobowitz
2008-04-03 19:31 ` Daniel Jacobowitz
2008-04-03 20:05 ` Michael Snyder
2008-03-29 5:16 ` Nick Roberts
2008-03-29 6:38 ` Vladimir Prus
2008-03-30 3:54 ` Nick Roberts
2008-04-03 18:55 ` Vladimir Prus
2008-04-03 21:30 ` Nick Roberts
2008-04-04 11:45 ` Vladimir Prus
2008-04-11 22:01 ` Vladimir Prus
2008-04-11 23:22 ` Nick Roberts
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=6D19CA8D71C89C43A057926FE0D4ADAA04290FD9@ecamlmw720.eamcs.ericsson.se \
--to=marc.khouzam@ericsson.com \
--cc=gdb-patches@sources.redhat.com \
--cc=nickrob@snap.net.nz \
--cc=vladimir@codesourcery.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