intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v9 00/11] Enable i915 perf stream for Haswell OA unit
@ 2016-11-07 19:49 Robert Bragg
  2016-11-07 19:49 ` [PATCH v9 01/11] drm/i915: Add i915 perf infrastructure Robert Bragg
                   ` (12 more replies)
  0 siblings, 13 replies; 34+ messages in thread
From: Robert Bragg @ 2016-11-07 19:49 UTC (permalink / raw)
  To: intel-gfx
  Cc: dri-devel, Matthew Auld, Sourab Gupta, Daniel Vetter,
	Robert Bragg

Rebased and updated with more feedback from Sourab and Matt.

In particular the patch that added the oa_min_timer_exponent sysctl parameter
has now been replaced with one adding an oa_max_sample_rate parameter in Hz.

This way userspace policy won't need to be tailored to different systems when
gen9 OA is enabled where the exponents don't represent the same periods as for
Haswell.

- Robert

Robert Bragg (11):
  drm/i915: Add i915 perf infrastructure
  drm/i915: rename OACONTROL GEN7_OACONTROL
  drm/i915: return EACCES for check_cmd() failures
  drm/i915: don't whitelist oacontrol in cmd parser
  drm/i915: Add 'render basic' Haswell OA unit config
  drm/i915: Enable i915 perf stream for Haswell OA unit
  drm/i915: advertise available metrics via sysfs
  drm/i915: Add dev.i915.perf_stream_paranoid sysctl option
  drm/i915: add dev.i915.oa_max_sample_rate sysctl
  drm/i915: Add more Haswell OA metric sets
  drm/i915: Add a kerneldoc summary for i915_perf.c

 drivers/gpu/drm/i915/Makefile          |    4 +
 drivers/gpu/drm/i915/gvt/handlers.c    |    2 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c |   45 +-
 drivers/gpu/drm/i915/i915_drv.c        |    9 +
 drivers/gpu/drm/i915/i915_drv.h        |  156 +++
 drivers/gpu/drm/i915/i915_oa_hsw.c     |  752 ++++++++++++++
 drivers/gpu/drm/i915/i915_oa_hsw.h     |   38 +
 drivers/gpu/drm/i915/i915_perf.c       | 1753 ++++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/i915_reg.h        |  340 ++++++-
 include/uapi/drm/i915_drm.h            |  134 +++
 10 files changed, 3193 insertions(+), 40 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/i915_oa_hsw.c
 create mode 100644 drivers/gpu/drm/i915/i915_oa_hsw.h
 create mode 100644 drivers/gpu/drm/i915/i915_perf.c

-- 
2.10.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 34+ messages in thread
* [PATCH v8 00/12] Enable i915 perf stream for Haswell OA unit
@ 2016-10-28  2:14 Robert Bragg
  2016-10-28  3:16 ` ✗ Fi.CI.BAT: failure for " Patchwork
  0 siblings, 1 reply; 34+ messages in thread
From: Robert Bragg @ 2016-10-28  2:14 UTC (permalink / raw)
  To: intel-gfx
  Cc: dri-devel, Matthew Auld, Sourab Gupta, Daniel Vetter,
	Robert Bragg

Rebased on nightly, and updated as per review from Matt and Chris

The first patch from Chris adds an i915_gem_context_pin_legacy() utility that
I'm depending on now - though it doesn't really form part of the i915-perf
series proper. I'm assuming Chris plans to send a version of this to the list
himself with a proper commit message.

- Robert

Chris Wilson (1):
  ctx-pin placeholder from chris

Robert Bragg (11):
  drm/i915: Add i915 perf infrastructure
  drm/i915: rename OACONTROL GEN7_OACONTROL
  drm/i915: return EACCES for check_cmd() failures
  drm/i915: don't whitelist oacontrol in cmd parser
  drm/i915: Add 'render basic' Haswell OA unit config
  drm/i915: Enable i915 perf stream for Haswell OA unit
  drm/i915: advertise available metrics via sysfs
  drm/i915: Add dev.i915.perf_stream_paranoid sysctl option
  drm/i915: add oa_event_min_timer_exponent sysctl
  drm/i915: Add more Haswell OA metric sets
  drm/i915: Add a kerneldoc summary for i915_perf.c

 drivers/gpu/drm/i915/Makefile           |    4 +
 drivers/gpu/drm/i915/gvt/handlers.c     |    2 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c  |   45 +-
 drivers/gpu/drm/i915/i915_drv.c         |    9 +
 drivers/gpu/drm/i915/i915_drv.h         |  157 +++
 drivers/gpu/drm/i915/i915_gem_context.c |   34 +-
 drivers/gpu/drm/i915/i915_oa_hsw.c      |  752 ++++++++++++++
 drivers/gpu/drm/i915/i915_oa_hsw.h      |   38 +
 drivers/gpu/drm/i915/i915_perf.c        | 1726 +++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/i915_reg.h         |  340 +++++-
 include/uapi/drm/i915_drm.h             |  134 +++
 11 files changed, 3190 insertions(+), 51 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/i915_oa_hsw.c
 create mode 100644 drivers/gpu/drm/i915/i915_oa_hsw.h
 create mode 100644 drivers/gpu/drm/i915/i915_perf.c

-- 
2.10.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 34+ messages in thread
* [PATCH v7 00/11] Enable i915 perf stream for Haswell OA unit
@ 2016-10-24 23:19 Robert Bragg
  2016-10-27 10:16 ` ✗ Fi.CI.BAT: failure for " Patchwork
  0 siblings, 1 reply; 34+ messages in thread
From: Robert Bragg @ 2016-10-24 23:19 UTC (permalink / raw)
  To: intel-gfx
  Cc: dri-devel, Matthew Auld, Sourab Gupta, Daniel Vetter,
	Robert Bragg

Rebased on nightly, including recent review updates (CI wasn't happy picking up
the replies updating individual patches).

This also reverts back to pinning the context upfront when opening a stream for
a single context, instead of hooking into pinning and updating OACONTROL on the
fly.

Chris has repeatedly suggested he'd prefer to have the driver work with an
upfront pin, as it used to, instead of with the hook. It was changed last time
based on feedback considering some concern with the shrinker. At least from
inspection it does /seem/ safe to assume a pinned vma will reliably block the
shrinker from freeing ctx pages and the shrinker itself doesn't unpin things.
I'm not fully certain of the interaction with the _gem.c _context_lost() code
path which aims to unpin last_context. At least the code is a little simpler
this way, so maybe if Daniel is happy that his original concern was overly
cautious (or no longer an issue with the latest code), then this change is ok.

- Robert

Robert Bragg (11):
  drm/i915: Add i915 perf infrastructure
  drm/i915: rename OACONTROL GEN7_OACONTROL
  drm/i915: return EACCES for check_cmd() failures
  drm/i915: don't whitelist oacontrol in cmd parser
  drm/i915: Add 'render basic' Haswell OA unit config
  drm/i915: Enable i915 perf stream for Haswell OA unit
  drm/i915: advertise available metrics via sysfs
  drm/i915: Add dev.i915.perf_stream_paranoid sysctl option
  drm/i915: add oa_event_min_timer_exponent sysctl
  drm/i915: Add more Haswell OA metric sets
  drm/i915: Add a kerneldoc summary for i915_perf.c

 drivers/gpu/drm/i915/Makefile          |    4 +
 drivers/gpu/drm/i915/gvt/handlers.c    |    2 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c |   45 +-
 drivers/gpu/drm/i915/i915_drv.c        |    9 +
 drivers/gpu/drm/i915/i915_drv.h        |  155 +++
 drivers/gpu/drm/i915/i915_oa_hsw.c     |  752 ++++++++++++++
 drivers/gpu/drm/i915/i915_oa_hsw.h     |   38 +
 drivers/gpu/drm/i915/i915_perf.c       | 1689 ++++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/i915_reg.h        |  340 ++++++-
 include/uapi/drm/i915_drm.h            |  133 +++
 10 files changed, 3127 insertions(+), 40 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/i915_oa_hsw.c
 create mode 100644 drivers/gpu/drm/i915/i915_oa_hsw.h
 create mode 100644 drivers/gpu/drm/i915/i915_perf.c

-- 
2.10.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2016-11-22 15:36 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-07 19:49 [PATCH v9 00/11] Enable i915 perf stream for Haswell OA unit Robert Bragg
2016-11-07 19:49 ` [PATCH v9 01/11] drm/i915: Add i915 perf infrastructure Robert Bragg
2016-11-09 20:00   ` Matthew Auld
2016-11-22 13:29     ` [Intel-gfx] " Daniel Vetter
2016-11-22 13:31       ` Daniel Vetter
2016-11-22 14:02         ` [Intel-gfx] " Robert Bragg
2016-11-22 15:35           ` Daniel Vetter
2016-11-07 19:49 ` [PATCH v9 02/11] drm/i915: rename OACONTROL GEN7_OACONTROL Robert Bragg
2016-11-07 19:49 ` [PATCH v9 03/11] drm/i915: return EACCES for check_cmd() failures Robert Bragg
2016-11-07 19:49 ` [PATCH v9 04/11] drm/i915: don't whitelist oacontrol in cmd parser Robert Bragg
2016-11-08 12:51   ` [PATCH v2] " Robert Bragg
2016-11-22 13:34     ` [Intel-gfx] " Daniel Vetter
2016-11-22 14:09       ` Robert Bragg
2016-11-22 15:36         ` Daniel Vetter
2016-11-07 19:49 ` [PATCH v9 05/11] drm/i915: Add 'render basic' Haswell OA unit config Robert Bragg
2016-11-08  6:04   ` sourab gupta
2016-11-07 19:49 ` [PATCH v9 06/11] drm/i915: Enable i915 perf stream for Haswell OA unit Robert Bragg
2016-11-15  9:24   ` sourab gupta
2016-11-07 19:49 ` [PATCH v9 07/11] drm/i915: advertise available metrics via sysfs Robert Bragg
2016-11-07 19:49 ` [PATCH v9 08/11] drm/i915: Add dev.i915.perf_stream_paranoid sysctl option Robert Bragg
2016-11-07 19:49 ` [PATCH v9 09/11] drm/i915: add dev.i915.oa_max_sample_rate sysctl Robert Bragg
2016-11-08  6:19   ` sourab gupta
2016-11-08 11:47     ` Robert Bragg
2016-11-08 12:14       ` sourab gupta
2016-11-09 19:52   ` Matthew Auld
2016-11-10 13:57     ` Robert Bragg
2016-11-07 19:49 ` [PATCH v9 10/11] drm/i915: Add more Haswell OA metric sets Robert Bragg
2016-11-07 19:49 ` [PATCH v9 11/11] drm/i915: Add a kerneldoc summary for i915_perf.c Robert Bragg
2016-11-08  6:27   ` sourab gupta
2016-11-22 13:43   ` Daniel Vetter
2016-11-07 20:14 ` ✗ Fi.CI.BAT: failure for Enable i915 perf stream for Haswell OA unit Patchwork
2016-11-08 13:19 ` ✗ Fi.CI.BAT: failure for Enable i915 perf stream for Haswell OA unit (rev2) Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2016-10-28  2:14 [PATCH v8 00/12] Enable i915 perf stream for Haswell OA unit Robert Bragg
2016-10-28  3:16 ` ✗ Fi.CI.BAT: failure for " Patchwork
2016-10-24 23:19 [PATCH v7 00/11] " Robert Bragg
2016-10-27 10:16 ` ✗ Fi.CI.BAT: failure for " Patchwork

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 NNTP newsgroup(s).