[Intel-gfx] [PATCH] drm/i915/perf: Refactor oa object to better manage resources
Umesh Nerlige Ramappa
umesh.nerlige.ramappa at intel.com
Wed May 15 17:44:42 UTC 2019
On Wed, May 15, 2019 at 10:11:34AM +0100, Lionel Landwerlin wrote:
>On 14/05/2019 19:14, Umesh Nerlige Ramappa wrote:
>>On Tue, May 14, 2019 at 10:34:49AM +0100, Lionel Landwerlin wrote:
>>>Hi Umesh,
>>>
>>>I just noticed this different between v1 & v2.
>>>My understanding is that if destroy() is called, stream should be
>>>the same as dev_priv->perf.exclusive_stream.
>>>If it's not it sounds like a bug. So why change this?
>>>
>>v2 fixes only checkpatch warnings. it warned on use of BUG_ON.
>>BUG_ON is intended to crash the system in severe cases where the
>>driver/kernel is unusable. In this case, the mismatch between user
>>passed information and exclusive_stream may not require a crash.
>
>
>This is called from i915_perf_release() which is attached to the
>i915-perf file descriptor only in i915_perf.c.
>
>If we managed to reach that function it must be because the file
>descriptor given by userspace is associated to the i915-perf stream.
>
>Having stream != dev_priv->perf.exclusive_stream means that we
>probably screwed up the locking somewhere in this file.
>
>So I would argue this is a kernel issue, not a user issue and that
>using BUG_ON() is justified.
>
I see. Will change it back.
Thanks,
Umesh
>
>Thanks,
>
>
>-Lionel
>
>
>>>-Lionel
>>>
>>>On 03/05/2019 00:13, Umesh Nerlige Ramappa wrote:
>>>> static void i915_oa_stream_destroy(struct i915_perf_stream *stream)
>>>> {
>>>> struct drm_i915_private *dev_priv = stream->dev_priv;
>>>>- BUG_ON(stream != dev_priv->perf.oa.exclusive_stream);
>>>>+ if (stream != dev_priv->perf.exclusive_stream) {
>>>>+ WARN_ON_ONCE(stream != dev_priv->perf.exclusive_stream);
>>>>+ return;
>>>>+ }
>>>> /*
>>>
>>>
>>
>
More information about the Intel-gfx
mailing list