From: Vladimir Prus <vladimir@codesourcery.com>
To: "Doug Evans" <dje@google.com>
Cc: gdb@sourceware.org, "Pawel Piech" <pawel.piech@windriver.com>,
"Marc Khouzam" <marc.khouzam@ericsson.com>
Subject: Re: MI non-stop interface details
Date: Sat, 26 Apr 2008 19:49:00 -0000 [thread overview]
Message-ID: <200804262034.00245.vladimir@codesourcery.com> (raw)
In-Reply-To: <e394668d0804260921m5dfd845bx42a315e94bee5aae@mail.gmail.com>
On Saturday 26 April 2008 20:21:38 Doug Evans wrote:
> On Sat, Apr 26, 2008 at 8:39 AM, Vladimir Prus
> <vladimir@codesourcery.com> wrote:
> > At the same time, a suggestion was made to stop GDB to switch the (user-visible)
> > current thread. This will have two advantages:
> >
> > - CLI users won't see the thread switches
>
> IOW GDB won't switch the current thread on the user, right? [just
> want to understand what you're saying, not to suggest a preference,
> per se]
Yes. GDB will switch its internal "current thread" when processing event,
but it will switch it back to whatever user has last set before processing
next user command.
> > There are a couple of open questions.
> >
> > 1. Presently, -exec-continue resumes all threads, and the current thread
> > has no effect. I think it's desirable to be able to resume a single thread,
> > and for that, we actually need the --thread option for -exec-continue, to
> > mean that a single thread must be resumed.
> > 2. Presently, -exec-step also resumes all threads. There's an option,
> > "scheduler-locking" that can be used for cause -exec-step to resume only
> > the current thread. It seems to be, that for non-stop mode, resuming all
> > threads is a wrong thing to do, therefore -exec-step, when in non-stop
> > mode, will resume only the thread been stepped. This will be the same
> > no matter if the thread is specified implicitly or explicitly.
>
> Scheduler-locking has two modes, "on" and "step". In case 1 above,
> resuming just a single thread should already work if scheduler-locking
> == "on" (IIUC).
Yes. The question is -- does scheduler locking "off" make any kind of
sense in non-stop mode. If not, we should not support it.
> Having said that, specifying the request in a
> parameter to -exec-* is probably a better way to go.
>
> IWBN if there was a way to have selective control of which threads run
> (e.g. threads 3,5,7 stay stopped when execution resumes).
> [controlling this in a parameter to -exec-*, as opposed to global
> state, won't necessarily scale though]
There is none, at the moment. I believe Nick has proposed some ways how
this can be done, but there was not a demand for that yet. Maybe they will,
when folks start using non-stop mode.
>
> > Inferior function calls
> > -----------------------
> >
> > We already have the *stopped async event, and I have a patch to introduce the
> > *running async event. Those are not emitted when doing inferiour function calls,
> > since doing so may cause a frontend to infinitely refresh its state. I propose
> > the following mechanism to enable those notifications for frontends that
> > are sufficiently robust:
> >
> > 1. Declare that MI might have some features that are not enabled by default.
> > 2. Introduce new command -enable-feature, which takes a name of feature and enables
> > it.
> > 3. Make up a name of a feature, say inferior_call_notifications, and add that
> > feature to the output of -list-features.
> > 4. Make '-enable-feature inferior_call_notification' enable *running and *stopped
> > for inferiour function calls.
>
> 5. Introduce new command -query-feature (?) [assuming it's not there
> already, I don't know]
That will report if a feature is enabled or not? We don't have it (just like we don't have
-enable-feature yet). I'm thinking, though, that for all features we'd document if it's
enabled by default, or not, so this command might not be a big use.
- Volodya
next prev parent reply other threads:[~2008-04-26 16:34 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-26 18:09 Vladimir Prus
2008-04-26 18:16 ` Doug Evans
2008-04-26 19:49 ` Vladimir Prus [this message]
2008-04-30 7:18 ` Marc Khouzam
2008-04-28 16:21 ` Pedro Alves
2008-04-29 19:21 ` Vladimir Prus
2008-04-29 20:04 ` Pedro Alves
2008-04-30 7:00 ` Pawel Piech
2008-05-01 16:15 ` Vladimir Prus
2008-05-01 16:31 ` Pawel Piech
2008-05-01 16:38 ` Vladimir Prus
2008-05-01 16:58 ` Pawel Piech
[not found] ` <4819F4D4.4010305@windriver.com>
2008-05-01 17:00 ` Vladimir Prus
2008-05-01 17:53 ` Pawel Piech
2008-05-01 18:12 ` Vladimir Prus
2008-05-01 18:37 ` Pawel Piech
2008-05-02 1:23 ` Evolution of GDB/MI [was Re: MI non-stop interface details] Nick Roberts
2008-04-30 14:23 ` MI non-stop interface details Marc Khouzam
2008-04-30 17:21 ` Pedro Alves
[not found] ` <200804301117.42633.vladimir@codesourcery.com>
[not found] ` <4818AA58.4040201@windriver.com>
2008-05-01 17:11 ` Vladimir Prus
2008-05-01 18:08 ` Pawel Piech
2008-05-02 14:21 ` Vladimir Prus
2008-05-02 16:59 ` Pawel Piech
2008-05-02 17:13 ` Vladimir Prus
[not found] ` <481B4FDC.4010802@windriver.com>
2008-05-02 17:36 ` Vladimir Prus
2008-05-02 18:00 ` Pawel Piech
2008-05-02 18:19 ` Vladimir Prus
2008-05-02 18:36 ` Pawel Piech
2008-04-29 3:14 ` Pawel Piech
[not found] ` <200804301059.44112.vladimir@codesourcery.com>
[not found] ` <200804301534.48779.pedro@codesourcery.com>
2008-05-01 17:22 ` Vladimir Prus
2008-05-01 17:52 ` Pedro Alves
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=200804262034.00245.vladimir@codesourcery.com \
--to=vladimir@codesourcery.com \
--cc=dje@google.com \
--cc=gdb@sourceware.org \
--cc=marc.khouzam@ericsson.com \
--cc=pawel.piech@windriver.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