Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Metzger, Markus T" <markus.t.metzger@intel.com>
To: Pedro Alves <palves@redhat.com>
Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: RE: [PATCH 2/5] btrace: support Intel(R) Processor Trace
Date: Tue, 30 Jun 2015 14:54:00 -0000	[thread overview]
Message-ID: <A78C989F6D9628469189715575E55B233316814E@IRSMSX104.ger.corp.intel.com> (raw)
In-Reply-To: <55929205.6080907@redhat.com>

> -----Original Message-----
> From: Pedro Alves [mailto:palves@redhat.com]
> Sent: Tuesday, June 30, 2015 2:57 PM
> To: Metzger, Markus T
> Cc: gdb-patches@sourceware.org
> Subject: Re: [PATCH 2/5] btrace: support Intel(R) Processor Trace
> 
> On 06/23/2015 09:16 AM, Markus Metzger wrote:
> > Adds a new command "record btrace pt" to configure the kernel to use
> > Intel(R) Processor Trace instead of Branch Trace Strore.
> 
> This looks very good to me.  A few minor details to sort out,
> and this is good to go.

Thanks.


> > +  decoder = pt_insn_alloc_decoder (&config);
> > +  if (decoder == NULL)
> > +    error (_("Failed to allocate the Intel(R) Processor Trace decoder."));
> > +
> > +  TRY
> > +    {
> > +      struct pt_image *image;
> > +
> > +      image = pt_insn_get_image(decoder);
> > +      if (image == NULL)
> > +	error (_("Failed to configure the Intel(R) Processor Trace decoder."));
> > +
> > +      errcode = pt_image_set_callback(image,
> btrace_pt_readmem_callback, NULL);
> > +      if (errcode < 0)
> > +	error (_("Failed to configure the Intel(R) Processor Trace decoder: "
> > +		 "%s."), pt_errstr (pt_errcode (errcode)));
> > +
> > +      ftrace_add_pt (decoder, &btinfo->begin, &btinfo->end, &level,
> > +		     &btinfo->ngaps);
> > +    }
> > +  CATCH (error, RETURN_MASK_ALL)
> > +    {
> > +      /* Indicate a gap in the trace if we quit trace processing.  Errors were
> > +	 already logged before.  */
> 
> What does this "already logged before" mean?  AFAICS, the errors thrown
> in the TRY branch are just swallowed here.  Did you mean to rethrow them?
> Otherwise I'm not seeing the point in throwing them in the first place.

This means that decode errors are already represented as gaps in the trace.
When the trace is printed, the error at a trace gap is printed.

This code is now handling a user interrupt, which is also represented
as a gap at the very end of the trace.

This reference to decode errors is maybe more confusing than helpful.
I'll remove it.


> >    internal_error (__FILE__, __LINE__, _("Unkown branch trace format."));
> > @@ -1056,7 +1312,7 @@ check_xml_btrace_version (struct
> gdb_xml_parser *parser,
> >  {
> >    const char *version = xml_find_attribute (attributes, "version")->value;
> >
> > -  if (strcmp (version, "1.0") != 0)
> > +  if (strcmp (version, "1.0") != 0 && strcmp (version, "2.0") != 0)
> 
> What fails if you send the new xml to an old/unpatched gdb, while keeping
> the
> version at 1.0?  Is the new file really incompatible, or are you just
> adding new elements/attributes?  There's usually no need to bump the
> version in the latter case.  Old gdb will just ignore the
> elements/attributes it doesn't recognize, and thus not support the feature.

I'm just adding new elements and attributes.  I thought I'd bump the version
since there are new features.  Should I leave it at version 1.0?


regards,
markus.

Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052


  reply	other threads:[~2015-06-30 14:54 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-23  8:22 [PATCH 0/5] Support " Markus Metzger
2015-06-23  8:22 ` [PATCH 3/5] btrace, linux: use data_size and data_offset Markus Metzger
2015-06-30 12:56   ` Pedro Alves
2015-06-23  8:22 ` [PATCH 4/5] btrace: store raw btrace data Markus Metzger
2015-06-30 12:56   ` Pedro Alves
2015-06-23  8:22 ` [PATCH 5/5] btrace: maintenance commands Markus Metzger
2015-06-23 15:28   ` Eli Zaretskii
2015-06-24  7:05     ` Metzger, Markus T
2015-06-24 14:38       ` Eli Zaretskii
2015-06-30 12:57   ` Pedro Alves
2015-06-23  8:22 ` [PATCH 1/5] configure: check for libipt Markus Metzger
2015-06-30 12:56   ` Pedro Alves
2015-06-30 14:54     ` Metzger, Markus T
2015-06-30 15:01       ` Pedro Alves
2015-06-23  8:23 ` [PATCH 2/5] btrace: support Intel(R) Processor Trace Markus Metzger
2015-06-23 15:32   ` Eli Zaretskii
2015-06-30 12:56   ` Pedro Alves
2015-06-30 14:54     ` Metzger, Markus T [this message]
2015-06-30 15:08       ` Pedro Alves
2015-07-01  8:39         ` Metzger, Markus T

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=A78C989F6D9628469189715575E55B233316814E@IRSMSX104.ger.corp.intel.com \
    --to=markus.t.metzger@intel.com \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@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