* [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock
@ 2018-10-26 6:20 Chunming Zhou
2018-10-26 6:55 ` ✓ Fi.CI.BAT: success for drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock (rev2) Patchwork
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Chunming Zhou @ 2018-10-26 6:20 UTC (permalink / raw)
To: dri-devel; +Cc: Chunming Zhou, intel-gfx, Christian König, Julia Lawall
drivers/gpu/drm/drm_syncobj.c:202:4-14: ERROR: function drm_syncobj_find_signal_pt_for_point called on line 390 inside lock on line 389 but uses GFP_KERNEL
Find functions that refer to GFP_KERNEL but are called with locks held.
Generated by: scripts/coccinelle/locks/call_kern.cocci
v2:
syncobj->timeline still needs protect.
v3:
use a global signaled fence instead of re-allocation.
v4:
Don't need moving lock.
Don't expose func.
v5:
rename func and directly return.
Tested by: syncobj_wait and ./deqp-vk -n dEQP-VK.*semaphore* with
lock debug kernel options enabled.
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Cc: Christian König <easy2remember.chk@googlemail.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
CC: Julia Lawall <julia.lawall@lip6.fr>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
---
drivers/gpu/drm/drm_syncobj.c | 36 ++++++++++++++++++-----------------
1 file changed, 19 insertions(+), 17 deletions(-)
diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c
index b7eaa603f368..d1c6f21c72b5 100644
--- a/drivers/gpu/drm/drm_syncobj.c
+++ b/drivers/gpu/drm/drm_syncobj.c
@@ -80,6 +80,23 @@ struct drm_syncobj_signal_pt {
struct list_head list;
};
+static DEFINE_SPINLOCK(signaled_fence_lock);
+static struct dma_fence signaled_fence;
+
+static struct dma_fence *drm_syncobj_get_stub_fence(void)
+{
+ spin_lock(&signaled_fence_lock);
+ if (!signaled_fence.ops) {
+ dma_fence_init(&signaled_fence,
+ &drm_syncobj_stub_fence_ops,
+ &signaled_fence_lock,
+ 0, 0);
+ dma_fence_signal_locked(&signaled_fence);
+ }
+ spin_unlock(&signaled_fence_lock);
+
+ return dma_fence_get(&signaled_fence);
+}
/**
* drm_syncobj_find - lookup and reference a sync object.
* @file_private: drm file private pointer
@@ -113,23 +130,8 @@ static struct dma_fence
struct drm_syncobj_signal_pt *signal_pt;
if ((syncobj->type == DRM_SYNCOBJ_TYPE_TIMELINE) &&
- (point <= syncobj->timeline)) {
- struct drm_syncobj_stub_fence *fence =
- kzalloc(sizeof(struct drm_syncobj_stub_fence),
- GFP_KERNEL);
-
- if (!fence)
- return NULL;
- spin_lock_init(&fence->lock);
- dma_fence_init(&fence->base,
- &drm_syncobj_stub_fence_ops,
- &fence->lock,
- syncobj->timeline_context,
- point);
-
- dma_fence_signal(&fence->base);
- return &fence->base;
- }
+ (point <= syncobj->timeline))
+ return drm_syncobj_get_stub_fence();
list_for_each_entry(signal_pt, &syncobj->signal_pt_list, list) {
if (point > signal_pt->value)
--
2.17.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
* ✓ Fi.CI.BAT: success for drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock (rev2)
2018-10-26 6:20 [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock Chunming Zhou
@ 2018-10-26 6:55 ` Patchwork
2018-10-26 7:43 ` [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock Christian König
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2018-10-26 6:55 UTC (permalink / raw)
To: Chunming Zhou; +Cc: intel-gfx
== Series Details ==
Series: drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock (rev2)
URL : https://patchwork.freedesktop.org/series/51525/
State : success
== Summary ==
= CI Bug Log - changes from CI_DRM_5038 -> Patchwork_10597 =
== Summary - SUCCESS ==
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/51525/revisions/2/mbox/
== Known issues ==
Here are the changes found in Patchwork_10597 that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@drv_selftest@live_sanitycheck:
fi-glk-j4005: PASS -> DMESG-WARN (fdo#107726) +1
igt@gem_exec_suspend@basic-s3:
fi-blb-e6850: PASS -> INCOMPLETE (fdo#107718)
==== Possible fixes ====
igt@kms_frontbuffer_tracking@basic:
fi-hsw-peppy: DMESG-WARN (fdo#102614) -> PASS
igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
fi-byt-clapper: FAIL (fdo#107362) -> PASS
igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
fi-byt-clapper: FAIL (fdo#103191, fdo#107362) -> PASS
fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
fdo#107726 https://bugs.freedesktop.org/show_bug.cgi?id=107726
== Participating hosts (46 -> 43) ==
Additional (1): fi-icl-u
Missing (4): fi-bsw-cyan fi-ilk-m540 fi-byt-squawks fi-icl-u2
== Build changes ==
* Linux: CI_DRM_5038 -> Patchwork_10597
CI_DRM_5038: 96ecfb04d5acfcc565068c09afd6d0d713b2ddef @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_4695: 81b66cf2806d6a8e9516580fb31879677487d32b @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_10597: aa42e49ecef5c92ab6fb2121ede206cdb799178d @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
aa42e49ecef5 drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10597/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock
2018-10-26 6:20 [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock Chunming Zhou
2018-10-26 6:55 ` ✓ Fi.CI.BAT: success for drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock (rev2) Patchwork
@ 2018-10-26 7:43 ` Christian König
2018-10-26 8:28 ` zhoucm1
2018-10-26 11:49 ` Maarten Lankhorst
2018-10-26 13:08 ` ✓ Fi.CI.IGT: success for drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock (rev2) Patchwork
3 siblings, 1 reply; 7+ messages in thread
From: Christian König @ 2018-10-26 7:43 UTC (permalink / raw)
To: Chunming Zhou, dri-devel; +Cc: Christian König, Julia Lawall, intel-gfx
Am 26.10.18 um 08:20 schrieb Chunming Zhou:
> drivers/gpu/drm/drm_syncobj.c:202:4-14: ERROR: function drm_syncobj_find_signal_pt_for_point called on line 390 inside lock on line 389 but uses GFP_KERNEL
>
> Find functions that refer to GFP_KERNEL but are called with locks held.
>
> Generated by: scripts/coccinelle/locks/call_kern.cocci
>
> v2:
> syncobj->timeline still needs protect.
>
> v3:
> use a global signaled fence instead of re-allocation.
>
> v4:
> Don't need moving lock.
> Don't expose func.
>
> v5:
> rename func and directly return.
>
> Tested by: syncobj_wait and ./deqp-vk -n dEQP-VK.*semaphore* with
> lock debug kernel options enabled.
>
> Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: intel-gfx@lists.freedesktop.org
> Cc: Christian König <easy2remember.chk@googlemail.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> CC: Julia Lawall <julia.lawall@lip6.fr>
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Christian König <christian.koenig@amd.com>
> ---
> drivers/gpu/drm/drm_syncobj.c | 36 ++++++++++++++++++-----------------
> 1 file changed, 19 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c
> index b7eaa603f368..d1c6f21c72b5 100644
> --- a/drivers/gpu/drm/drm_syncobj.c
> +++ b/drivers/gpu/drm/drm_syncobj.c
> @@ -80,6 +80,23 @@ struct drm_syncobj_signal_pt {
> struct list_head list;
> };
>
> +static DEFINE_SPINLOCK(signaled_fence_lock);
> +static struct dma_fence signaled_fence;
> +
> +static struct dma_fence *drm_syncobj_get_stub_fence(void)
> +{
> + spin_lock(&signaled_fence_lock);
> + if (!signaled_fence.ops) {
> + dma_fence_init(&signaled_fence,
> + &drm_syncobj_stub_fence_ops,
> + &signaled_fence_lock,
> + 0, 0);
> + dma_fence_signal_locked(&signaled_fence);
> + }
> + spin_unlock(&signaled_fence_lock);
> +
> + return dma_fence_get(&signaled_fence);
> +}
> /**
> * drm_syncobj_find - lookup and reference a sync object.
> * @file_private: drm file private pointer
> @@ -113,23 +130,8 @@ static struct dma_fence
> struct drm_syncobj_signal_pt *signal_pt;
>
> if ((syncobj->type == DRM_SYNCOBJ_TYPE_TIMELINE) &&
> - (point <= syncobj->timeline)) {
> - struct drm_syncobj_stub_fence *fence =
> - kzalloc(sizeof(struct drm_syncobj_stub_fence),
> - GFP_KERNEL);
> -
> - if (!fence)
> - return NULL;
> - spin_lock_init(&fence->lock);
> - dma_fence_init(&fence->base,
> - &drm_syncobj_stub_fence_ops,
> - &fence->lock,
> - syncobj->timeline_context,
> - point);
> -
> - dma_fence_signal(&fence->base);
> - return &fence->base;
> - }
> + (point <= syncobj->timeline))
> + return drm_syncobj_get_stub_fence();
>
> list_for_each_entry(signal_pt, &syncobj->signal_pt_list, list) {
> if (point > signal_pt->value)
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock
2018-10-26 7:43 ` [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock Christian König
@ 2018-10-26 8:28 ` zhoucm1
2018-10-26 12:13 ` Koenig, Christian
0 siblings, 1 reply; 7+ messages in thread
From: zhoucm1 @ 2018-10-26 8:28 UTC (permalink / raw)
To: christian.koenig, Chunming Zhou, dri-devel
Cc: Christian König, Julia Lawall, intel-gfx
Thanks, Could you help to submit to drm-misc again?
-David
On 2018年10月26日 15:43, Christian König wrote:
> Am 26.10.18 um 08:20 schrieb Chunming Zhou:
>> drivers/gpu/drm/drm_syncobj.c:202:4-14: ERROR: function
>> drm_syncobj_find_signal_pt_for_point called on line 390 inside lock
>> on line 389 but uses GFP_KERNEL
>>
>> Find functions that refer to GFP_KERNEL but are called with locks
>> held.
>>
>> Generated by: scripts/coccinelle/locks/call_kern.cocci
>>
>> v2:
>> syncobj->timeline still needs protect.
>>
>> v3:
>> use a global signaled fence instead of re-allocation.
>>
>> v4:
>> Don't need moving lock.
>> Don't expose func.
>>
>> v5:
>> rename func and directly return.
>>
>> Tested by: syncobj_wait and ./deqp-vk -n dEQP-VK.*semaphore* with
>> lock debug kernel options enabled.
>>
>> Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> Cc: intel-gfx@lists.freedesktop.org
>> Cc: Christian König <easy2remember.chk@googlemail.com>
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>> CC: Julia Lawall <julia.lawall@lip6.fr>
>> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
>
> Reviewed-by: Christian König <christian.koenig@amd.com>
>
>> ---
>> drivers/gpu/drm/drm_syncobj.c | 36 ++++++++++++++++++-----------------
>> 1 file changed, 19 insertions(+), 17 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_syncobj.c
>> b/drivers/gpu/drm/drm_syncobj.c
>> index b7eaa603f368..d1c6f21c72b5 100644
>> --- a/drivers/gpu/drm/drm_syncobj.c
>> +++ b/drivers/gpu/drm/drm_syncobj.c
>> @@ -80,6 +80,23 @@ struct drm_syncobj_signal_pt {
>> struct list_head list;
>> };
>> +static DEFINE_SPINLOCK(signaled_fence_lock);
>> +static struct dma_fence signaled_fence;
>> +
>> +static struct dma_fence *drm_syncobj_get_stub_fence(void)
>> +{
>> + spin_lock(&signaled_fence_lock);
>> + if (!signaled_fence.ops) {
>> + dma_fence_init(&signaled_fence,
>> + &drm_syncobj_stub_fence_ops,
>> + &signaled_fence_lock,
>> + 0, 0);
>> + dma_fence_signal_locked(&signaled_fence);
>> + }
>> + spin_unlock(&signaled_fence_lock);
>> +
>> + return dma_fence_get(&signaled_fence);
>> +}
>> /**
>> * drm_syncobj_find - lookup and reference a sync object.
>> * @file_private: drm file private pointer
>> @@ -113,23 +130,8 @@ static struct dma_fence
>> struct drm_syncobj_signal_pt *signal_pt;
>> if ((syncobj->type == DRM_SYNCOBJ_TYPE_TIMELINE) &&
>> - (point <= syncobj->timeline)) {
>> - struct drm_syncobj_stub_fence *fence =
>> - kzalloc(sizeof(struct drm_syncobj_stub_fence),
>> - GFP_KERNEL);
>> -
>> - if (!fence)
>> - return NULL;
>> - spin_lock_init(&fence->lock);
>> - dma_fence_init(&fence->base,
>> - &drm_syncobj_stub_fence_ops,
>> - &fence->lock,
>> - syncobj->timeline_context,
>> - point);
>> -
>> - dma_fence_signal(&fence->base);
>> - return &fence->base;
>> - }
>> + (point <= syncobj->timeline))
>> + return drm_syncobj_get_stub_fence();
>> list_for_each_entry(signal_pt, &syncobj->signal_pt_list, list) {
>> if (point > signal_pt->value)
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock
2018-10-26 6:20 [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock Chunming Zhou
2018-10-26 6:55 ` ✓ Fi.CI.BAT: success for drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock (rev2) Patchwork
2018-10-26 7:43 ` [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock Christian König
@ 2018-10-26 11:49 ` Maarten Lankhorst
2018-10-26 13:08 ` ✓ Fi.CI.IGT: success for drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock (rev2) Patchwork
3 siblings, 0 replies; 7+ messages in thread
From: Maarten Lankhorst @ 2018-10-26 11:49 UTC (permalink / raw)
To: Chunming Zhou, dri-devel; +Cc: Christian König, Julia Lawall, intel-gfx
Op 26-10-18 om 08:20 schreef Chunming Zhou:
> drivers/gpu/drm/drm_syncobj.c:202:4-14: ERROR: function drm_syncobj_find_signal_pt_for_point called on line 390 inside lock on line 389 but uses GFP_KERNEL
>
> Find functions that refer to GFP_KERNEL but are called with locks held.
>
> Generated by: scripts/coccinelle/locks/call_kern.cocci
>
> v2:
> syncobj->timeline still needs protect.
>
> v3:
> use a global signaled fence instead of re-allocation.
>
> v4:
> Don't need moving lock.
> Don't expose func.
>
> v5:
> rename func and directly return.
>
> Tested by: syncobj_wait and ./deqp-vk -n dEQP-VK.*semaphore* with
> lock debug kernel options enabled.
>
> Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: intel-gfx@lists.freedesktop.org
> Cc: Christian König <easy2remember.chk@googlemail.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> CC: Julia Lawall <julia.lawall@lip6.fr>
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> drivers/gpu/drm/drm_syncobj.c | 36 ++++++++++++++++++-----------------
> 1 file changed, 19 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c
> index b7eaa603f368..d1c6f21c72b5 100644
> --- a/drivers/gpu/drm/drm_syncobj.c
> +++ b/drivers/gpu/drm/drm_syncobj.c
> @@ -80,6 +80,23 @@ struct drm_syncobj_signal_pt {
> struct list_head list;
> };
>
> +static DEFINE_SPINLOCK(signaled_fence_lock);
> +static struct dma_fence signaled_fence;
> +
> +static struct dma_fence *drm_syncobj_get_stub_fence(void)
> +{
> + spin_lock(&signaled_fence_lock);
> + if (!signaled_fence.ops) {
> + dma_fence_init(&signaled_fence,
> + &drm_syncobj_stub_fence_ops,
> + &signaled_fence_lock,
> + 0, 0);
> + dma_fence_signal_locked(&signaled_fence);
> + }
> + spin_unlock(&signaled_fence_lock);
Could this be used by drm_syncobj_assign_null_handle too? Maybe as a separate patch?
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
~Maarten
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock
2018-10-26 8:28 ` zhoucm1
@ 2018-10-26 12:13 ` Koenig, Christian
0 siblings, 0 replies; 7+ messages in thread
From: Koenig, Christian @ 2018-10-26 12:13 UTC (permalink / raw)
To: Zhou, David(ChunMing); +Cc: Christian König, Julia Lawall, intel-gfx
Am 26.10.18 um 10:28 schrieb zhoucm1:
> Thanks, Could you help to submit to drm-misc again?
Done.
Christian.
>
> -David
>
>
> On 2018年10月26日 15:43, Christian König wrote:
>> Am 26.10.18 um 08:20 schrieb Chunming Zhou:
>>> drivers/gpu/drm/drm_syncobj.c:202:4-14: ERROR: function
>>> drm_syncobj_find_signal_pt_for_point called on line 390 inside lock
>>> on line 389 but uses GFP_KERNEL
>>>
>>> Find functions that refer to GFP_KERNEL but are called with locks
>>> held.
>>>
>>> Generated by: scripts/coccinelle/locks/call_kern.cocci
>>>
>>> v2:
>>> syncobj->timeline still needs protect.
>>>
>>> v3:
>>> use a global signaled fence instead of re-allocation.
>>>
>>> v4:
>>> Don't need moving lock.
>>> Don't expose func.
>>>
>>> v5:
>>> rename func and directly return.
>>>
>>> Tested by: syncobj_wait and ./deqp-vk -n dEQP-VK.*semaphore* with
>>> lock debug kernel options enabled.
>>>
>>> Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
>>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>>> Cc: intel-gfx@lists.freedesktop.org
>>> Cc: Christian König <easy2remember.chk@googlemail.com>
>>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>>> CC: Julia Lawall <julia.lawall@lip6.fr>
>>> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
>>
>> Reviewed-by: Christian König <christian.koenig@amd.com>
>>
>>> ---
>>> drivers/gpu/drm/drm_syncobj.c | 36
>>> ++++++++++++++++++-----------------
>>> 1 file changed, 19 insertions(+), 17 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/drm_syncobj.c
>>> b/drivers/gpu/drm/drm_syncobj.c
>>> index b7eaa603f368..d1c6f21c72b5 100644
>>> --- a/drivers/gpu/drm/drm_syncobj.c
>>> +++ b/drivers/gpu/drm/drm_syncobj.c
>>> @@ -80,6 +80,23 @@ struct drm_syncobj_signal_pt {
>>> struct list_head list;
>>> };
>>> +static DEFINE_SPINLOCK(signaled_fence_lock);
>>> +static struct dma_fence signaled_fence;
>>> +
>>> +static struct dma_fence *drm_syncobj_get_stub_fence(void)
>>> +{
>>> + spin_lock(&signaled_fence_lock);
>>> + if (!signaled_fence.ops) {
>>> + dma_fence_init(&signaled_fence,
>>> + &drm_syncobj_stub_fence_ops,
>>> + &signaled_fence_lock,
>>> + 0, 0);
>>> + dma_fence_signal_locked(&signaled_fence);
>>> + }
>>> + spin_unlock(&signaled_fence_lock);
>>> +
>>> + return dma_fence_get(&signaled_fence);
>>> +}
>>> /**
>>> * drm_syncobj_find - lookup and reference a sync object.
>>> * @file_private: drm file private pointer
>>> @@ -113,23 +130,8 @@ static struct dma_fence
>>> struct drm_syncobj_signal_pt *signal_pt;
>>> if ((syncobj->type == DRM_SYNCOBJ_TYPE_TIMELINE) &&
>>> - (point <= syncobj->timeline)) {
>>> - struct drm_syncobj_stub_fence *fence =
>>> - kzalloc(sizeof(struct drm_syncobj_stub_fence),
>>> - GFP_KERNEL);
>>> -
>>> - if (!fence)
>>> - return NULL;
>>> - spin_lock_init(&fence->lock);
>>> - dma_fence_init(&fence->base,
>>> - &drm_syncobj_stub_fence_ops,
>>> - &fence->lock,
>>> - syncobj->timeline_context,
>>> - point);
>>> -
>>> - dma_fence_signal(&fence->base);
>>> - return &fence->base;
>>> - }
>>> + (point <= syncobj->timeline))
>>> + return drm_syncobj_get_stub_fence();
>>> list_for_each_entry(signal_pt, &syncobj->signal_pt_list,
>>> list) {
>>> if (point > signal_pt->value)
>>
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* ✓ Fi.CI.IGT: success for drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock (rev2)
2018-10-26 6:20 [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock Chunming Zhou
` (2 preceding siblings ...)
2018-10-26 11:49 ` Maarten Lankhorst
@ 2018-10-26 13:08 ` Patchwork
3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2018-10-26 13:08 UTC (permalink / raw)
To: Chunming Zhou; +Cc: intel-gfx
== Series Details ==
Series: drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock (rev2)
URL : https://patchwork.freedesktop.org/series/51525/
State : success
== Summary ==
= CI Bug Log - changes from CI_DRM_5038_full -> Patchwork_10597_full =
== Summary - WARNING ==
Minor unknown changes coming with Patchwork_10597_full need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_10597_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
== Possible new issues ==
Here are the unknown changes that may have been introduced in Patchwork_10597_full:
=== IGT changes ===
==== Warnings ====
igt@pm_rc6_residency@rc6-accuracy:
shard-kbl: PASS -> SKIP
== Known issues ==
Here are the changes found in Patchwork_10597_full that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@gem_busy@close-race:
shard-apl: PASS -> DMESG-FAIL (fdo#108561)
igt@kms_busy@basic-modeset-a:
shard-apl: PASS -> DMESG-WARN (fdo#108549) +9
igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
shard-skl: NOTRUN -> DMESG-WARN (fdo#107956) +2
igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
shard-glk: PASS -> FAIL (fdo#108145)
igt@kms_cursor_crc@cursor-128x42-sliding:
shard-apl: PASS -> FAIL (fdo#103232) +1
igt@kms_cursor_crc@cursor-64x64-sliding:
shard-glk: PASS -> FAIL (fdo#103232) +2
igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
shard-glk: PASS -> DMESG-WARN (fdo#106538, fdo#105763)
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
shard-glk: PASS -> FAIL (fdo#103167)
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-cpu:
shard-apl: PASS -> FAIL (fdo#103167)
igt@kms_frontbuffer_tracking@fbc-1p-rte:
shard-glk: PASS -> FAIL (fdo#103167, fdo#105682)
igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
shard-skl: NOTRUN -> FAIL (fdo#105683)
igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
shard-skl: NOTRUN -> FAIL (fdo#108145, fdo#107815)
igt@kms_plane_alpha_blend@pipe-c-alpha-transparant-fb:
shard-skl: NOTRUN -> FAIL (fdo#108145) +2
igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
shard-skl: NOTRUN -> FAIL (fdo#108146) +2
igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
shard-apl: PASS -> FAIL (fdo#103166)
igt@kms_setmode@basic:
shard-apl: PASS -> FAIL (fdo#99912)
shard-kbl: PASS -> FAIL (fdo#99912)
igt@kms_vblank@pipe-b-ts-continuation-modeset-hang:
shard-apl: PASS -> DMESG-FAIL (fdo#108549)
igt@pm_backlight@fade_with_suspend:
shard-skl: NOTRUN -> FAIL (fdo#107847)
igt@pm_rpm@modeset-non-lpsp:
shard-skl: NOTRUN -> INCOMPLETE (fdo#107807) +2
==== Possible fixes ====
igt@kms_busy@extended-modeset-hang-newfb-render-a:
shard-kbl: DMESG-WARN (fdo#107956) -> PASS
igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
shard-hsw: DMESG-WARN (fdo#107956) -> PASS
igt@kms_ccs@pipe-a-crc-primary-basic:
shard-skl: FAIL (fdo#107725) -> PASS
igt@kms_cursor_crc@cursor-256x85-random:
shard-apl: FAIL (fdo#103232) -> PASS +1
igt@kms_cursor_crc@cursor-64x21-onscreen:
shard-glk: FAIL (fdo#103232) -> PASS +2
igt@kms_cursor_crc@cursor-64x21-random:
shard-apl: DMESG-WARN (fdo#108549) -> PASS +10
igt@kms_cursor_crc@cursor-64x64-suspend:
shard-apl: FAIL (fdo#103232, fdo#103191) -> PASS
igt@kms_frontbuffer_tracking@fbc-2p-rte:
shard-glk: FAIL (fdo#103167, fdo#105682) -> PASS
igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-render:
shard-skl: FAIL (fdo#103167) -> PASS
igt@kms_plane_multiple@atomic-pipe-a-tiling-yf:
shard-apl: FAIL (fdo#103166) -> PASS +1
igt@kms_vblank@pipe-b-ts-continuation-modeset-rpm:
shard-apl: DMESG-FAIL (fdo#108549) -> PASS
igt@perf@polling:
shard-hsw: FAIL (fdo#102252) -> PASS
==== Warnings ====
igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb:
shard-apl: DMESG-FAIL (fdo#108145, fdo#108549) -> FAIL (fdo#108145)
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
fdo#105682 https://bugs.freedesktop.org/show_bug.cgi?id=105682
fdo#105683 https://bugs.freedesktop.org/show_bug.cgi?id=105683
fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763
fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538
fdo#107725 https://bugs.freedesktop.org/show_bug.cgi?id=107725
fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807
fdo#107815 https://bugs.freedesktop.org/show_bug.cgi?id=107815
fdo#107847 https://bugs.freedesktop.org/show_bug.cgi?id=107847
fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
fdo#108146 https://bugs.freedesktop.org/show_bug.cgi?id=108146
fdo#108549 https://bugs.freedesktop.org/show_bug.cgi?id=108549
fdo#108561 https://bugs.freedesktop.org/show_bug.cgi?id=108561
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
== Participating hosts (6 -> 6) ==
No changes in participating hosts
== Build changes ==
* Linux: CI_DRM_5038 -> Patchwork_10597
CI_DRM_5038: 96ecfb04d5acfcc565068c09afd6d0d713b2ddef @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_4695: 81b66cf2806d6a8e9516580fb31879677487d32b @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_10597: aa42e49ecef5c92ab6fb2121ede206cdb799178d @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10597/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-10-26 13:08 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-26 6:20 [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock Chunming Zhou
2018-10-26 6:55 ` ✓ Fi.CI.BAT: success for drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock (rev2) Patchwork
2018-10-26 7:43 ` [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock Christian König
2018-10-26 8:28 ` zhoucm1
2018-10-26 12:13 ` Koenig, Christian
2018-10-26 11:49 ` Maarten Lankhorst
2018-10-26 13:08 ` ✓ Fi.CI.IGT: success for drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock (rev2) Patchwork
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.