Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Vladimir Prus <vladimir@codesourcery.com>
To: gdb@sources.redhat.com
Subject: [MI] Extending -list-thread-groups --available to show cores
Date: Mon, 09 Nov 2009 01:36:00 -0000	[thread overview]
Message-ID: <200911081804.31988.vladimir@codesourcery.com> (raw)


Current GDB has a MI command -list-thread-groups to nagivate
the hierarchy of the debugged thing. This command also the the
--available option that cause GDB to report the processes that
can be attached to, as opposed to processes currently being
debugged.

We were recently asked to slightly extend the returned information
to include the core where each thread runs. Such information is
of little use for typical Linux application, since threads are
migrated between cores. However, it's useful for both custom 
Linux applications that specifically pin threads to specific cores,
and for embedded systems. Therefore, I plan to add a new field
to the thread information that is output by 
-list-thread-groups --available, named 'core' that will give the
number of the core. E.g.

	-list-thread-groups
	^done,groups=[{id="17",type="process",pid="yyy",num_children="2",cores=[1,2]}]
	-list-thread-groups 17
	^done,threads=[{id="2",target-id="Thread 0xb7e14b90 (LWP 21257)",cores=[1]
	   frame={level="0",addr="0xffffe410",func="__kernel_vsyscall",args=[]},state="running"},

Related to that, it would be somewhat inefficient to issue -list-thread-groups
for every avaialable process to discover the full list of threads on specific
core, so it would be nice to pass several thread groups, like so:

	-list-thread-groups 17 18
	^done,groups=[{id="17", types="process", ..., 
                   threads=[{id="2",target-id="Thread 0xb7e14b90 (LWP 21257)",cores=[1]}]},
			      {id="18", types="process", ..., 

Finally, we were asked to make the *stopped notification to report the core on which
the stop has happened, as additional field.

While those changes seem relatively minor and in line with previous MI developments,
I wanted to pass them here. If there are no objections, I'll work in implementation
during coming weeks.

Thanks,
Volodya


             reply	other threads:[~2009-11-08 15:04 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-09  1:36 Vladimir Prus [this message]
2009-11-09 16:17 ` Marc Khouzam
2009-11-09 16:25   ` Vladimir Prus
2009-11-09 16:42     ` Marc Khouzam
2009-11-09 17:20       ` Vladimir Prus
2009-11-09 17:33         ` Marc Khouzam
2009-11-09 20:02           ` Marc Khouzam
2009-11-16 14:52           ` Vladimir Prus
2009-11-16 17:55             ` Vladimir Prus
2009-11-17  7:45 ` Vladimir Prus
2009-11-17 13:49   ` Marc Khouzam
2009-11-19  6:44     ` Vladimir Prus
2009-11-19  7:11       ` Marc Khouzam

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=200911081804.31988.vladimir@codesourcery.com \
    --to=vladimir@codesourcery.com \
    --cc=gdb@sources.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