On 12/11/25 16:04, Tvrtko Ursulin wrote: ...
@@ -90,6 +73,11 @@ static int test_signaling(void *arg) goto err_free; } + if (rcu_dereference_protected(f->ops, true)) { + pr_err("Fence ops not cleared on signal\n"); + goto err_free; + }
Bump to after the signaled check just below? Otherwise the signaled state hasn't been ascertained yet.
Done. I've put it to the end of the test.
if (!dma_fence_is_signaled(f)) { pr_err("Fence not reporting signaled\n"); goto err_free; @@ -540,19 +528,7 @@ int dma_fence(void) SUBTEST(test_stub), SUBTEST(race_signal_callback), }; - int ret; pr_info("sizeof(dma_fence)=%zu\n", sizeof(struct dma_fence));
- slab_fences = KMEM_CACHE(mock_fence, - SLAB_TYPESAFE_BY_RCU |
Hm.. race_signal_callback looks like it could be depending on SLAB_TYPESAFE_BY_RCU. To you not?
Hui? As far as I can see it doesn't.
The race_signal_callback test just depends on the general RCU functionality of fences.
Regards, Christian.
Regards,
Tvrtko
- SLAB_HWCACHE_ALIGN); - if (!slab_fences) - return -ENOMEM;
- ret = subtests(tests, NULL);
- kmem_cache_destroy(slab_fences);
- return ret; + return subtests(tests, NULL); }
linaro-mm-sig@lists.linaro.org