[v16,03/13] drm/i915/perf: drop list of streams

Submitted by Lionel Landwerlin on Sept. 9, 2019, 9:31 a.m.

Details

Message ID 20190909093116.7747-4-lionel.g.landwerlin@intel.com
State New
Headers show
Series "drm/i915: Vulkan performance query support" ( rev: 17 ) in Intel GFX

Not browsing as part of any series.

Commit Message

Lionel Landwerlin Sept. 9, 2019, 9:31 a.m.
At some point in time there was the idea that we could have multiple
stream from the same piece of HW but that never materialized and given
the hard time we already have making everything work with the
submission side, there is no real point having this list of 1 element
around.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h  |  6 ------
 drivers/gpu/drm/i915/i915_perf.c | 16 +---------------
 2 files changed, 1 insertion(+), 21 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index db7480831e52..75607450ba00 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1082,11 +1082,6 @@  struct i915_perf_stream {
 	 */
 	struct drm_i915_private *dev_priv;
 
-	/**
-	 * @link: Links the stream into ``&drm_i915_private->streams``
-	 */
-	struct list_head link;
-
 	/**
 	 * @wakeref: As we keep the device awake while the perf stream is
 	 * active, we track our runtime pm reference for later release.
@@ -1671,7 +1666,6 @@  struct drm_i915_private {
 		 * except exclusive_stream.
 		 */
 		struct mutex lock;
-		struct list_head streams;
 
 		/*
 		 * The stream currently using the OA unit. If accessed
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index c1b764233761..d18cd332afb7 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -1435,9 +1435,6 @@  static void gen7_init_oa_buffer(struct i915_perf_stream *stream)
 	 */
 	memset(stream->oa_buffer.vaddr, 0, OA_BUFFER_SIZE);
 
-	/* Maybe make ->pollin per-stream state if we support multiple
-	 * concurrent streams in the future.
-	 */
 	stream->pollin = false;
 }
 
@@ -1494,10 +1491,6 @@  static void gen8_init_oa_buffer(struct i915_perf_stream *stream)
 	 */
 	memset(stream->oa_buffer.vaddr, 0, OA_BUFFER_SIZE);
 
-	/*
-	 * Maybe make ->pollin per-stream state if we support multiple
-	 * concurrent streams in the future.
-	 */
 	stream->pollin = false;
 }
 
@@ -2633,8 +2626,6 @@  static void i915_perf_destroy_locked(struct i915_perf_stream *stream)
 	if (stream->ops->destroy)
 		stream->ops->destroy(stream);
 
-	list_del(&stream->link);
-
 	if (stream->ctx)
 		i915_gem_context_put(stream->ctx);
 
@@ -2783,8 +2774,6 @@  i915_perf_open_ioctl_locked(struct drm_i915_private *dev_priv,
 		goto err_flags;
 	}
 
-	list_add(&stream->link, &dev_priv->perf.streams);
-
 	if (param->flags & I915_PERF_FLAG_FD_CLOEXEC)
 		f_flags |= O_CLOEXEC;
 	if (param->flags & I915_PERF_FLAG_FD_NONBLOCK)
@@ -2793,7 +2782,7 @@  i915_perf_open_ioctl_locked(struct drm_i915_private *dev_priv,
 	stream_fd = anon_inode_getfd("[i915_perf]", &fops, stream, f_flags);
 	if (stream_fd < 0) {
 		ret = stream_fd;
-		goto err_open;
+		goto err_flags;
 	}
 
 	if (!(param->flags & I915_PERF_FLAG_DISABLED))
@@ -2806,8 +2795,6 @@  i915_perf_open_ioctl_locked(struct drm_i915_private *dev_priv,
 
 	return stream_fd;
 
-err_open:
-	list_del(&stream->link);
 err_flags:
 	if (stream->ops->destroy)
 		stream->ops->destroy(stream);
@@ -3643,7 +3630,6 @@  void i915_perf_init(struct drm_i915_private *dev_priv)
 	}
 
 	if (dev_priv->perf.ops.enable_metric_set) {
-		INIT_LIST_HEAD(&dev_priv->perf.streams);
 		mutex_init(&dev_priv->perf.lock);
 
 		oa_sample_rate_hard_limit = 1000 *

Comments

Minor comment below. With or without it, 

Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>

Regards,
Umesh

On Mon, Sep 09, 2019 at 12:31:06PM +0300, Lionel Landwerlin wrote:
>At some point in time there was the idea that we could have multiple
>stream from the same piece of HW but that never materialized and given
>the hard time we already have making everything work with the
>submission side, there is no real point having this list of 1 element
>around.
>
>Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
>---
> drivers/gpu/drm/i915/i915_drv.h  |  6 ------
> drivers/gpu/drm/i915/i915_perf.c | 16 +---------------
> 2 files changed, 1 insertion(+), 21 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>index db7480831e52..75607450ba00 100644
>--- a/drivers/gpu/drm/i915/i915_drv.h
>+++ b/drivers/gpu/drm/i915/i915_drv.h
>@@ -1082,11 +1082,6 @@ struct i915_perf_stream {
> 	 */
> 	struct drm_i915_private *dev_priv;
>
>-	/**
>-	 * @link: Links the stream into ``&drm_i915_private->streams``
>-	 */
>-	struct list_head link;
>-
> 	/**
> 	 * @wakeref: As we keep the device awake while the perf stream is
> 	 * active, we track our runtime pm reference for later release.
>@@ -1671,7 +1666,6 @@ struct drm_i915_private {
> 		 * except exclusive_stream.
> 		 */
> 		struct mutex lock;
>-		struct list_head streams;
>
> 		/*
> 		 * The stream currently using the OA unit. If accessed
>diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
>index c1b764233761..d18cd332afb7 100644
>--- a/drivers/gpu/drm/i915/i915_perf.c
>+++ b/drivers/gpu/drm/i915/i915_perf.c
>@@ -1435,9 +1435,6 @@ static void gen7_init_oa_buffer(struct i915_perf_stream *stream)
> 	 */
> 	memset(stream->oa_buffer.vaddr, 0, OA_BUFFER_SIZE);
>
>-	/* Maybe make ->pollin per-stream state if we support multiple
>-	 * concurrent streams in the future.
>-	 */
> 	stream->pollin = false;
> }
>
>@@ -1494,10 +1491,6 @@ static void gen8_init_oa_buffer(struct i915_perf_stream *stream)
> 	 */
> 	memset(stream->oa_buffer.vaddr, 0, OA_BUFFER_SIZE);
>
>-	/*
>-	 * Maybe make ->pollin per-stream state if we support multiple
>-	 * concurrent streams in the future.
>-	 */

one more instance of the above comment remains in i915_perf_read.

> 	stream->pollin = false;
> }
>
>@@ -2633,8 +2626,6 @@ static void i915_perf_destroy_locked(struct i915_perf_stream *stream)
> 	if (stream->ops->destroy)
> 		stream->ops->destroy(stream);
>
>-	list_del(&stream->link);
>-
> 	if (stream->ctx)
> 		i915_gem_context_put(stream->ctx);
>
>@@ -2783,8 +2774,6 @@ i915_perf_open_ioctl_locked(struct drm_i915_private *dev_priv,
> 		goto err_flags;
> 	}
>
>-	list_add(&stream->link, &dev_priv->perf.streams);
>-
> 	if (param->flags & I915_PERF_FLAG_FD_CLOEXEC)
> 		f_flags |= O_CLOEXEC;
> 	if (param->flags & I915_PERF_FLAG_FD_NONBLOCK)
>@@ -2793,7 +2782,7 @@ i915_perf_open_ioctl_locked(struct drm_i915_private *dev_priv,
> 	stream_fd = anon_inode_getfd("[i915_perf]", &fops, stream, f_flags);
> 	if (stream_fd < 0) {
> 		ret = stream_fd;
>-		goto err_open;
>+		goto err_flags;
> 	}
>
> 	if (!(param->flags & I915_PERF_FLAG_DISABLED))
>@@ -2806,8 +2795,6 @@ i915_perf_open_ioctl_locked(struct drm_i915_private *dev_priv,
>
> 	return stream_fd;
>
>-err_open:
>-	list_del(&stream->link);
> err_flags:
> 	if (stream->ops->destroy)
> 		stream->ops->destroy(stream);
>@@ -3643,7 +3630,6 @@ void i915_perf_init(struct drm_i915_private *dev_priv)
> 	}
>
> 	if (dev_priv->perf.ops.enable_metric_set) {
>-		INIT_LIST_HEAD(&dev_priv->perf.streams);
> 		mutex_init(&dev_priv->perf.lock);
>
> 		oa_sample_rate_hard_limit = 1000 *
>-- 
>2.23.0
>
>_______________________________________________
>Intel-gfx mailing list
>Intel-gfx@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/intel-gfx