Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Mark Kettenis <mark.kettenis@xs4all.nl>
To: markus.t.metzger@intel.com
Cc: jan.kratochvil@redhat.com, palves@redhat.com, tromey@redhat.com,
	       gdb-patches@sourceware.org, markus.t.metzger@gmail.com
Subject: Re: [patch v6 12/12] btrace, x86: disable on some processors
Date: Wed, 19 Dec 2012 16:36:00 -0000	[thread overview]
Message-ID: <201212191635.qBJGZgUU007044@glazunov.sibelius.xs4all.nl> (raw)
In-Reply-To: <A78C989F6D9628469189715575E55B2307B42ED8@IRSMSX102.ger.corp.intel.com>	(markus.t.metzger@intel.com)

> From: "Metzger, Markus T" <markus.t.metzger@intel.com>
> Date: Wed, 19 Dec 2012 16:11:41 +0000
> 
> > > LBR, BTM, or BTS records may have incorrect branch "from" information afer an
> > > EIST transition, T-states, C1E, or Adaptive Thermal Throttling (AAJ122).
> > >
> > > This results in sporadic test fails. Disable btrace on those processors.
> > >
> > > 2012-12-17 Markus Metzger <markus.t.metzger@intel.com>
> > >
> > > 	* common/linux-btrace.c (linux_supports_btrace): Add cpuid check.
> > 
> > I think this approach is a reasonable compromise.  However, AFAICT the
> > linux_supports_btrace() is called unconditionally.  Therefore this
> > will break GDB on old CPUs that don't implement the cpuid
> > instructions.  And AFAIK the family/model values are specific to
> > Intel, so you should check that you're on an Intel CPU before
> > interpreting these values.  And I still think you should check whether
> > the kernel supports BTS on the CPU you're running on first before
> > disabling it on certain CPUs.
> 
> This function is only called if the kernel provides a perf_event.h
> header file, which requires a recent enough kernel. Will a recent
> kernel run on those old cpu's that don't implement cpuid?

Linus decided only very recently to drop i386 support, starting with
the (yet to be realeased) 3.8.  And the i486 (which also lacks cpuid)
remains supported.

> In order to check whether the kernel supports BTS, I would need to
> enable tracing. Let's see if I can use the gdb or gdbserver process
> for this, since I don't necessarily have an inferior. If you think
> that it is necessary, I could try to add such a check.

I think it would make sense to do so.  Would probably solve the cpuid
issue as well, since you could assume that cpuid is supported if the
kernel actually supports BTS.  So do that check first and then only
disable it if you're running on a known-to-be-broken CPU.

> I added a vendor check.

Thanks,

Mark


  reply	other threads:[~2012-12-19 16:36 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-17 16:02 [patch v6 00/12] branch tracing support for Atom markus.t.metzger
2012-12-17 16:02 ` [patch v6 02/12] cli, btrace: add btrace cli markus.t.metzger
2012-12-17 18:32   ` Jan Kratochvil
2012-12-18  7:36     ` Metzger, Markus T
2012-12-18  8:35       ` Jan Kratochvil
2012-12-18  9:04   ` Jan Kratochvil
2012-12-18  9:11     ` Metzger, Markus T
2012-12-17 16:02 ` [patch v6 06/12] remote, btrace: add branch trace remote ops markus.t.metzger
2012-12-17 19:57   ` Jan Kratochvil
2012-12-17 16:02 ` [patch v6 09/12] gdbserver, linux, btrace: add btrace support for linux-low markus.t.metzger
2012-12-17 16:02 ` [patch v6 01/12] thread, btrace: add generic branch trace support markus.t.metzger
2012-12-17 16:02 ` [patch v6 08/12] gdbserver, btrace: add generic btrace support markus.t.metzger
2012-12-17 20:43   ` Jan Kratochvil
2012-12-17 16:02 ` [patch v6 12/12] btrace, x86: disable on some processors markus.t.metzger
2012-12-17 17:11   ` Mark Kettenis
2012-12-19 16:13     ` Metzger, Markus T
2012-12-19 16:36       ` Mark Kettenis [this message]
2012-12-21 10:38       ` Jan Kratochvil
2012-12-17 17:37   ` H.J. Lu
2012-12-19 15:58     ` Metzger, Markus T
2012-12-17 20:35   ` Jan Kratochvil
2012-12-17 16:03 ` [patch v6 05/12] xml, btrace: define btrace xml document style markus.t.metzger
2012-12-17 19:53   ` Jan Kratochvil
2012-12-18  7:43     ` Metzger, Markus T
2012-12-17 16:03 ` [patch v6 04/12] linux, i386, amd64: enable btrace for 32bit and 64bit linux native markus.t.metzger
2012-12-17 16:03 ` [patch v6 10/12] test, btrace: add branch tracing tests markus.t.metzger
2012-12-17 20:26   ` Jan Kratochvil
2012-12-17 16:03 ` [patch v6 07/12] btrace, doc: document remote serial protocol markus.t.metzger
2012-12-17 16:03 ` [patch v6 03/12] linux, btrace: perf_event based branch tracing markus.t.metzger
2012-12-17 16:03 ` [patch v6 11/12] test, btrace: more branch tracing tests markus.t.metzger
2012-12-17 18:45 ` [patch v6 00/12] branch tracing support for Atom Jan Kratochvil
2012-12-17 19:34   ` Tom Tromey
2012-12-18  7:24     ` Metzger, Markus T
2012-12-18  9:20 ` Jan Kratochvil
2012-12-18 10:14   ` Metzger, Markus T
2012-12-18 13:55     ` Jan Kratochvil
2012-12-19  9:59       ` Metzger, Markus T
2012-12-19 12:13         ` Mark Kettenis
2012-12-19 12:37           ` Jan Kratochvil
2012-12-20  7:17         ` Jan Kratochvil
2012-12-20  9:14           ` Metzger, Markus T
2012-12-20 11:43             ` Jan Kratochvil
2012-12-20 15:20               ` Metzger, Markus T
2012-12-21 19:12                 ` Jan Kratochvil
2012-12-22 13:08         ` Jan Kratochvil
2013-01-01 16:35           ` Jan Kratochvil

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=201212191635.qBJGZgUU007044@glazunov.sibelius.xs4all.nl \
    --to=mark.kettenis@xs4all.nl \
    --cc=gdb-patches@sourceware.org \
    --cc=jan.kratochvil@redhat.com \
    --cc=markus.t.metzger@gmail.com \
    --cc=markus.t.metzger@intel.com \
    --cc=palves@redhat.com \
    --cc=tromey@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