public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [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