* [PATCH] dma-fence: Use non-atomic bitops while under the lock
@ 2019-10-03 10:12 Tvrtko Ursulin
2019-10-03 12:05 ` ✗ Fi.CI.BAT: failure for " Patchwork
2019-10-03 12:20 ` [Intel-gfx] [PATCH] " Tvrtko Ursulin
0 siblings, 2 replies; 3+ messages in thread
From: Tvrtko Ursulin @ 2019-10-03 10:12 UTC (permalink / raw)
To: Intel-gfx; +Cc: dri-devel
From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
We do not have to use atomic bitops when already under the spinlock.
Saves on a handful of lock instruction prefixes, on x86 at least.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: dri-devel@lists.freedesktop.org
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
drivers/dma-buf/dma-fence.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
index 2c136aee3e79..f0b480042e2f 100644
--- a/drivers/dma-buf/dma-fence.c
+++ b/drivers/dma-buf/dma-fence.c
@@ -133,15 +133,15 @@ int dma_fence_signal_locked(struct dma_fence *fence)
lockdep_assert_held(fence->lock);
- if (unlikely(test_and_set_bit(DMA_FENCE_FLAG_SIGNALED_BIT,
- &fence->flags)))
+ if (unlikely(__test_and_set_bit(DMA_FENCE_FLAG_SIGNALED_BIT,
+ &fence->flags)))
return -EINVAL;
/* Stash the cb_list before replacing it with the timestamp */
list_replace(&fence->cb_list, &cb_list);
fence->timestamp = ktime_get();
- set_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags);
+ __set_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags);
trace_dma_fence_signaled(fence);
list_for_each_entry_safe(cur, tmp, &cb_list, node) {
@@ -343,8 +343,8 @@ int dma_fence_add_callback(struct dma_fence *fence, struct dma_fence_cb *cb,
spin_lock_irqsave(fence->lock, flags);
- was_set = test_and_set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
- &fence->flags);
+ was_set = __test_and_set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
+ &fence->flags);
if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags))
ret = -ENOENT;
@@ -473,8 +473,8 @@ dma_fence_default_wait(struct dma_fence *fence, bool intr, signed long timeout)
goto out;
}
- was_set = test_and_set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
- &fence->flags);
+ was_set = __test_and_set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
+ &fence->flags);
if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags))
goto out;
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 3+ messages in thread
* ✗ Fi.CI.BAT: failure for dma-fence: Use non-atomic bitops while under the lock
2019-10-03 10:12 [PATCH] dma-fence: Use non-atomic bitops while under the lock Tvrtko Ursulin
@ 2019-10-03 12:05 ` Patchwork
2019-10-03 12:20 ` [Intel-gfx] [PATCH] " Tvrtko Ursulin
1 sibling, 0 replies; 3+ messages in thread
From: Patchwork @ 2019-10-03 12:05 UTC (permalink / raw)
To: Tvrtko Ursulin; +Cc: intel-gfx
== Series Details ==
Series: dma-fence: Use non-atomic bitops while under the lock
URL : https://patchwork.freedesktop.org/series/67532/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_6996 -> Patchwork_14646
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_14646 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_14646, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_14646:
### IGT changes ###
#### Possible regressions ####
* igt@gem_exec_parallel@basic:
- fi-icl-u2: [PASS][1] -> [DMESG-WARN][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-icl-u2/igt@gem_exec_parallel@basic.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-icl-u2/igt@gem_exec_parallel@basic.html
* igt@gem_exec_reloc@basic-gtt-read-noreloc:
- fi-cfl-8700k: [PASS][3] -> [INCOMPLETE][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-cfl-8700k/igt@gem_exec_reloc@basic-gtt-read-noreloc.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-cfl-8700k/igt@gem_exec_reloc@basic-gtt-read-noreloc.html
* igt@gem_ringfill@basic-default-interruptible:
- fi-whl-u: [PASS][5] -> [INCOMPLETE][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-whl-u/igt@gem_ringfill@basic-default-interruptible.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-whl-u/igt@gem_ringfill@basic-default-interruptible.html
- fi-hsw-4770: [PASS][7] -> [INCOMPLETE][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-hsw-4770/igt@gem_ringfill@basic-default-interruptible.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-hsw-4770/igt@gem_ringfill@basic-default-interruptible.html
- fi-skl-iommu: [PASS][9] -> [DMESG-WARN][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-skl-iommu/igt@gem_ringfill@basic-default-interruptible.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-skl-iommu/igt@gem_ringfill@basic-default-interruptible.html
- fi-cml-u2: [PASS][11] -> [DMESG-WARN][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-cml-u2/igt@gem_ringfill@basic-default-interruptible.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-cml-u2/igt@gem_ringfill@basic-default-interruptible.html
- fi-ivb-3770: [PASS][13] -> [INCOMPLETE][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-ivb-3770/igt@gem_ringfill@basic-default-interruptible.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-ivb-3770/igt@gem_ringfill@basic-default-interruptible.html
- fi-skl-6700k2: [PASS][15] -> [INCOMPLETE][16]
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-skl-6700k2/igt@gem_ringfill@basic-default-interruptible.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-skl-6700k2/igt@gem_ringfill@basic-default-interruptible.html
- fi-kbl-x1275: [PASS][17] -> [INCOMPLETE][18]
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-kbl-x1275/igt@gem_ringfill@basic-default-interruptible.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-kbl-x1275/igt@gem_ringfill@basic-default-interruptible.html
- fi-cfl-guc: [PASS][19] -> [INCOMPLETE][20]
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-cfl-guc/igt@gem_ringfill@basic-default-interruptible.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-cfl-guc/igt@gem_ringfill@basic-default-interruptible.html
- fi-skl-guc: [PASS][21] -> [INCOMPLETE][22]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-skl-guc/igt@gem_ringfill@basic-default-interruptible.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-skl-guc/igt@gem_ringfill@basic-default-interruptible.html
- fi-skl-6600u: [PASS][23] -> [INCOMPLETE][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-skl-6600u/igt@gem_ringfill@basic-default-interruptible.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-skl-6600u/igt@gem_ringfill@basic-default-interruptible.html
- fi-kbl-8809g: [PASS][25] -> [DMESG-WARN][26]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-kbl-8809g/igt@gem_ringfill@basic-default-interruptible.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-kbl-8809g/igt@gem_ringfill@basic-default-interruptible.html
- fi-kbl-r: [PASS][27] -> [INCOMPLETE][28]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-kbl-r/igt@gem_ringfill@basic-default-interruptible.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-kbl-r/igt@gem_ringfill@basic-default-interruptible.html
- fi-hsw-4770r: [PASS][29] -> [INCOMPLETE][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-hsw-4770r/igt@gem_ringfill@basic-default-interruptible.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-hsw-4770r/igt@gem_ringfill@basic-default-interruptible.html
- fi-skl-lmem: [PASS][31] -> [INCOMPLETE][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-skl-lmem/igt@gem_ringfill@basic-default-interruptible.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-skl-lmem/igt@gem_ringfill@basic-default-interruptible.html
- fi-bdw-5557u: [PASS][33] -> [INCOMPLETE][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-bdw-5557u/igt@gem_ringfill@basic-default-interruptible.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-bdw-5557u/igt@gem_ringfill@basic-default-interruptible.html
- fi-snb-2600: [PASS][35] -> [DMESG-WARN][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-snb-2600/igt@gem_ringfill@basic-default-interruptible.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-snb-2600/igt@gem_ringfill@basic-default-interruptible.html
- fi-skl-6260u: [PASS][37] -> [INCOMPLETE][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-skl-6260u/igt@gem_ringfill@basic-default-interruptible.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-skl-6260u/igt@gem_ringfill@basic-default-interruptible.html
* igt@gem_sync@basic-many-each:
- fi-kbl-guc: [PASS][39] -> [DMESG-WARN][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-kbl-guc/igt@gem_sync@basic-many-each.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-kbl-guc/igt@gem_sync@basic-many-each.html
* igt@gem_sync@basic-store-all:
- fi-hsw-peppy: [PASS][41] -> [INCOMPLETE][42]
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-hsw-peppy/igt@gem_sync@basic-store-all.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-hsw-peppy/igt@gem_sync@basic-store-all.html
- fi-snb-2520m: [PASS][43] -> [DMESG-WARN][44]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-snb-2520m/igt@gem_sync@basic-store-all.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-snb-2520m/igt@gem_sync@basic-store-all.html
- fi-ilk-650: [PASS][45] -> [INCOMPLETE][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-ilk-650/igt@gem_sync@basic-store-all.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-ilk-650/igt@gem_sync@basic-store-all.html
* igt@i915_selftest@live_gem_contexts:
- fi-kbl-7500u: [PASS][47] -> [INCOMPLETE][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-kbl-7500u/igt@i915_selftest@live_gem_contexts.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-kbl-7500u/igt@i915_selftest@live_gem_contexts.html
* igt@runner@aborted:
- fi-snb-2520m: NOTRUN -> [FAIL][49]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-snb-2520m/igt@runner@aborted.html
- fi-cml-u2: NOTRUN -> [FAIL][50]
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-cml-u2/igt@runner@aborted.html
- fi-kbl-8809g: NOTRUN -> [FAIL][51]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-kbl-8809g/igt@runner@aborted.html
- fi-kbl-guc: NOTRUN -> [FAIL][52]
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-kbl-guc/igt@runner@aborted.html
- fi-snb-2600: NOTRUN -> [FAIL][53]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-snb-2600/igt@runner@aborted.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@gem_sync@basic-many-each:
- {fi-icl-guc}: [PASS][54] -> [DMESG-WARN][55]
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-icl-guc/igt@gem_sync@basic-many-each.html
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-icl-guc/igt@gem_sync@basic-many-each.html
* igt@gem_sync@basic-store-all:
- {fi-kbl-soraka}: [PASS][56] -> [DMESG-WARN][57]
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-kbl-soraka/igt@gem_sync@basic-store-all.html
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-kbl-soraka/igt@gem_sync@basic-store-all.html
* igt@runner@aborted:
- {fi-kbl-soraka}: NOTRUN -> [FAIL][58]
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-kbl-soraka/igt@runner@aborted.html
Known issues
------------
Here are the changes found in Patchwork_14646 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_suspend@basic-s3:
- fi-blb-e6850: [PASS][59] -> [INCOMPLETE][60] ([fdo#107718])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html
* igt@gem_flink_basic@basic:
- fi-icl-u3: [PASS][61] -> [DMESG-WARN][62] ([fdo#107724])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-icl-u3/igt@gem_flink_basic@basic.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-icl-u3/igt@gem_flink_basic@basic.html
* igt@gem_sync@basic-many-each:
- fi-icl-u3: [PASS][63] -> [INCOMPLETE][64] ([fdo#107713] / [fdo#109100])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-icl-u3/igt@gem_sync@basic-many-each.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-icl-u3/igt@gem_sync@basic-many-each.html
* igt@gem_sync@basic-store-all:
- fi-bxt-dsi: [PASS][65] -> [INCOMPLETE][66] ([fdo#103927])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-bxt-dsi/igt@gem_sync@basic-store-all.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-bxt-dsi/igt@gem_sync@basic-store-all.html
#### Possible fixes ####
* igt@gem_flink_basic@double-flink:
- fi-icl-u3: [DMESG-WARN][67] ([fdo#107724]) -> [PASS][68]
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-icl-u3/igt@gem_flink_basic@double-flink.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-icl-u3/igt@gem_flink_basic@double-flink.html
* igt@i915_selftest@live_hangcheck:
- fi-cfl-8109u: [INCOMPLETE][69] ([fdo#106070]) -> [PASS][70]
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6996/fi-cfl-8109u/igt@i915_selftest@live_hangcheck.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/fi-cfl-8109u/igt@i915_selftest@live_hangcheck.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#106070]: https://bugs.freedesktop.org/show_bug.cgi?id=106070
[fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
[fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
[fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
[fdo#110566]: https://bugs.freedesktop.org/show_bug.cgi?id=110566
[fdo#111880]: https://bugs.freedesktop.org/show_bug.cgi?id=111880
Participating hosts (52 -> 45)
------------------------------
Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_6996 -> Patchwork_14646
CI-20190529: 20190529
CI_DRM_6996: 98596d29a3cff9d996c42468eb606036faf42954 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5210: 74f55119f9920b65996535210a09147997804136 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_14646: 5b79c16952ebff9bf8af17ec9533207eeea64d99 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
5b79c16952eb dma-fence: Use non-atomic bitops while under the lock
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14646/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Intel-gfx] [PATCH] dma-fence: Use non-atomic bitops while under the lock
2019-10-03 10:12 [PATCH] dma-fence: Use non-atomic bitops while under the lock Tvrtko Ursulin
2019-10-03 12:05 ` ✗ Fi.CI.BAT: failure for " Patchwork
@ 2019-10-03 12:20 ` Tvrtko Ursulin
1 sibling, 0 replies; 3+ messages in thread
From: Tvrtko Ursulin @ 2019-10-03 12:20 UTC (permalink / raw)
To: Intel-gfx; +Cc: dri-devel
On 03/10/2019 11:12, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>
> We do not have to use atomic bitops when already under the spinlock.
>
> Saves on a handful of lock instruction prefixes, on x86 at least.
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: dri-devel@lists.freedesktop.org
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> drivers/dma-buf/dma-fence.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
> index 2c136aee3e79..f0b480042e2f 100644
> --- a/drivers/dma-buf/dma-fence.c
> +++ b/drivers/dma-buf/dma-fence.c
> @@ -133,15 +133,15 @@ int dma_fence_signal_locked(struct dma_fence *fence)
>
> lockdep_assert_held(fence->lock);
>
> - if (unlikely(test_and_set_bit(DMA_FENCE_FLAG_SIGNALED_BIT,
> - &fence->flags)))
> + if (unlikely(__test_and_set_bit(DMA_FENCE_FLAG_SIGNALED_BIT,
> + &fence->flags)))
This breaks left right and center so I guess it is more subtle than this!
Regards,
Tvrtko
> return -EINVAL;
>
> /* Stash the cb_list before replacing it with the timestamp */
> list_replace(&fence->cb_list, &cb_list);
>
> fence->timestamp = ktime_get();
> - set_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags);
> + __set_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags);
> trace_dma_fence_signaled(fence);
>
> list_for_each_entry_safe(cur, tmp, &cb_list, node) {
> @@ -343,8 +343,8 @@ int dma_fence_add_callback(struct dma_fence *fence, struct dma_fence_cb *cb,
>
> spin_lock_irqsave(fence->lock, flags);
>
> - was_set = test_and_set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
> - &fence->flags);
> + was_set = __test_and_set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
> + &fence->flags);
>
> if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags))
> ret = -ENOENT;
> @@ -473,8 +473,8 @@ dma_fence_default_wait(struct dma_fence *fence, bool intr, signed long timeout)
> goto out;
> }
>
> - was_set = test_and_set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
> - &fence->flags);
> + was_set = __test_and_set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
> + &fence->flags);
>
> if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags))
> goto out;
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-10-03 12:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-03 10:12 [PATCH] dma-fence: Use non-atomic bitops while under the lock Tvrtko Ursulin
2019-10-03 12:05 ` ✗ Fi.CI.BAT: failure for " Patchwork
2019-10-03 12:20 ` [Intel-gfx] [PATCH] " Tvrtko Ursulin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox