public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: "Metzger, Markus T" <markus.t.metzger@intel.com>
To: Simon Sobisch <simonsobisch@gnu.org>
Cc: "gdb@sourceware.org" <gdb@sourceware.org>
Subject: RE: How to use bts recording?
Date: Thu, 27 Jan 2022 10:45:38 +0000	[thread overview]
Message-ID: <DM8PR11MB57498456DEDBFD258E6BF091DE219@DM8PR11MB5749.namprd11.prod.outlook.com> (raw)
In-Reply-To: <6ae65bdc-e418-deef-4b7e-17cca9b1b8d8@gnu.org>

Hello Simon,

>I see - but something is still not ideal.
>At least on this machine GDB 11.1 said:
>
>(gdb) record btrace bts
>Could not enable branch tracing for Thread 0x7ffff7fe4740 (LWP 2756):
>**Failed to start recording: Operation not supported**
>
>While the Debian GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git reports
>
>Could not enable branch tracing for Thread 0x7ffff79833c0 (LWP 334):
>**BTS support has been disabled for the target cpu**
>
>That's a clear message, I like that.

The first message comes from failing to enable BTS and from printing errno.

The second message comes from cpu_supports_bts() returning false for AMD.
We have not even tried enabling it.


>> I'm afraid that's a fairly common problem, these days, but I don't see how
>> GDB could check that it is running in a guest OS and that the hypervisor did
>> not virtualize PT or BTS.
>
>As you've said: use of virtualized environments is quite common, so it
>may be reasonable to adjust the docs to at least hint at that issue.
>
>I suggest changing
>
>- Hardware-supported instruction recording, supported on Intel processors
>+ Hardware-supported instruction recording, supported on Intel
>processors if not running in a virtual machine.

That's a feature of the hypervisor, not of GDB.  Hypervisors that do virtualize BTS
or PT won't be very happy with such wording inside the GDB manual.


>Failed to open /sys/bus/event_source/devices/intel_pt/type
>
>[note: that message possibly could hint at "Intel PT not available"]

We can probably turn the file open failure into something like "the system does
not support PT".  I agree that this would be a lot more helpful.


>Also: not sure if libipt is the one that is checking that directory, but
>possibly GDB could do this _before_ printing
> > Intel Processor Trace support was disabled at compile time.
>
>... because this led me to believe "just reconfigure and possible
>install libipt before and everything will be fine" - but if I had done
>this the only result would have been another error message.

This would be another check we could do.  Right now, we don't even try since
GDB wouldn't be able to decode the trace, anyway.

Which error message is more helpful is probably subjective.  If you went through
the effort of setting up a bare metal system only to find out that your version of
GDB doesn't support PT, anyway, the other order would be more useful.

Given that most distros meanwhile build GDB with PT support, I'd keep the current
order of errors.

Regards,
Markus.
Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de>
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928

      reply	other threads:[~2022-01-27 10:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-21 15:18 Simon Sobisch
     [not found] ` <DM8PR11MB57499C939B8E0B461F7489ECDE5E9@DM8PR11MB5749.namprd11.prod.outlook.com>
     [not found]   ` <eabf7025-9866-fcb9-507e-a0e29c0970e9@gnu.org>
2022-01-24  9:27     ` Metzger, Markus T
2022-01-24  9:58       ` Simon Sobisch
2022-01-26 12:41         ` Metzger, Markus T
2022-01-26 16:40           ` Simon Sobisch
2022-01-26 17:11             ` Metzger, Markus T
2022-01-26 18:12               ` Simon Sobisch
2022-01-27 10:45                 ` Metzger, Markus T [this message]

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=DM8PR11MB57498456DEDBFD258E6BF091DE219@DM8PR11MB5749.namprd11.prod.outlook.com \
    --to=markus.t.metzger@intel.com \
    --cc=gdb@sourceware.org \
    --cc=simonsobisch@gnu.org \
    /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).