All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/8] nv50: expose global performance counters
@ 2015-06-22 20:53 Samuel Pitoiset
  2015-06-22 20:53 ` [RFC PATCH 1/8] nouveau: implement the nvif hardware performance counters interface Samuel Pitoiset
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Samuel Pitoiset @ 2015-06-22 20:53 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	mesa-dev-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

Hello there,

This series exposes NVIDIA's global performance counters for Tesla through the
Gallium's HUD and the GL_AMD_performance_monitor extension.

This adds support for 24 hardware events which have been reverse engineered
with PerfKit (Windows) and CUPTI (Linux). These hardware events will allow
developers to profile OpenGL applications.

To reduce latency and to improve accuracy, these global performance counters
are tied to the command stream of the GPU using a set of software methods
instead of ioctls. Results are then written by the kernel to a mapped notifier
buffer object that allows the userspace to read back them.

However, the libdrm branch which implements the new nvif interface exposed by
Nouveau and the software methods interface are not upstream yet. I hope this
should done in the next days.

The code of this series can be found here:
http://cgit.freedesktop.org/~hakzsam/mesa/log/?h=nouveau_perfmon

The libdrm branch can be found here:
http://cgit.freedesktop.org/~hakzsam/drm/log/?h=nouveau_perfmon

The code of the software methods interface can be found here (two last commits):
http://cgit.freedesktop.org/~hakzsam/nouveau/log/?h=nouveau_perfmon

An other series which exposes global performance counters for Fermi and Kepler
will be submitted once I have got enough reviews for this one.

Feel free to make a review.

Thanks,
Samuel.

Samuel Pitoiset (8):
  nouveau: implement the nvif hardware performance counters interface
  nv50: allocate a software object class
  nv50: allocate and map a notifier buffer object for PM
  nv50: configure the ring buffer for reading back PM counters
  nv50: prevent NULL pointer dereference with pipe_query functions
  nv50: add support for compute/graphics global performance counters
  nv50: expose global performance counters to the HUD
  nv50: enable GL_AMD_performance_monitor

 src/gallium/drivers/nouveau/Makefile.sources   |    2 +
 src/gallium/drivers/nouveau/nouveau_perfmon.c  |  302 +++++++
 src/gallium/drivers/nouveau/nouveau_perfmon.h  |   59 ++
 src/gallium/drivers/nouveau/nouveau_screen.c   |    5 +
 src/gallium/drivers/nouveau/nouveau_screen.h   |    1 +
 src/gallium/drivers/nouveau/nv50/nv50_query.c  | 1148 +++++++++++++++++++++++-
 src/gallium/drivers/nouveau/nv50/nv50_screen.c |   49 +
 src/gallium/drivers/nouveau/nv50/nv50_screen.h |   51 ++
 src/gallium/drivers/nouveau/nv50/nv50_winsys.h |    1 +
 9 files changed, 1612 insertions(+), 6 deletions(-)
 create mode 100644 src/gallium/drivers/nouveau/nouveau_perfmon.c
 create mode 100644 src/gallium/drivers/nouveau/nouveau_perfmon.h

-- 
2.4.4

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

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

end of thread, other threads:[~2015-06-28  7:54 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-22 20:53 [RFC PATCH 0/8] nv50: expose global performance counters Samuel Pitoiset
2015-06-22 20:53 ` [RFC PATCH 1/8] nouveau: implement the nvif hardware performance counters interface Samuel Pitoiset
2015-06-22 20:53 ` [RFC PATCH 4/8] nv50: configure the ring buffer for reading back PM counters Samuel Pitoiset
     [not found]   ` <1435006399-2088-5-git-send-email-samuel.pitoiset-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-06-25 23:04     ` Ilia Mirkin
     [not found]       ` <CAKb7UvgZ8km4FPKkmcpU_4-yGNZ1ELy+uP5YJO_RZ-Ab6v6t9w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-28  7:45         ` Samuel Pitoiset
2015-06-22 20:53 ` [RFC PATCH 5/8] nv50: prevent NULL pointer dereference with pipe_query functions Samuel Pitoiset
     [not found]   ` <1435006399-2088-6-git-send-email-samuel.pitoiset-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-06-22 20:52     ` Ilia Mirkin
2015-06-22 21:02       ` [Nouveau] " Samuel Pitoiset
     [not found]         ` <558877D9.8040501-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-06-23  6:57           ` [Mesa-dev] " Michel Dänzer
     [not found]             ` <55890375.10901-otUistvHUpPR7s880joybQ@public.gmane.org>
2015-06-23  7:28               ` Samuel Pitoiset
2015-06-22 20:53 ` [RFC PATCH 6/8] nv50: add support for compute/graphics global performance counters Samuel Pitoiset
2015-06-25 23:09   ` [Nouveau] " Ilia Mirkin
     [not found]     ` <CAKb7Uvg4DpTHoK0K-tywYaX=9=UfxKnQTz-hbvCngn1-jnQaiw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-28  7:54       ` Samuel Pitoiset
2015-06-22 20:53 ` [RFC PATCH 7/8] nv50: expose global performance counters to the HUD Samuel Pitoiset
     [not found] ` <1435006399-2088-1-git-send-email-samuel.pitoiset-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-06-22 20:53   ` [RFC PATCH 2/8] nv50: allocate a software object class Samuel Pitoiset
2015-06-22 20:53   ` [RFC PATCH 3/8] nv50: allocate and map a notifier buffer object for PM Samuel Pitoiset
     [not found]     ` <1435006399-2088-4-git-send-email-samuel.pitoiset-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-06-25 23:02       ` Ilia Mirkin
2015-06-28  7:42         ` [Nouveau] " Samuel Pitoiset
2015-06-22 20:53   ` [RFC PATCH 8/8] nv50: enable GL_AMD_performance_monitor Samuel Pitoiset

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.