[PATCH 22/23] dept: Apply Dept to dma fence's default wait and wakeup
Gwan-gyeong Mun
gwan-gyeong.mun at intel.com
Wed Nov 2 09:19:19 UTC 2022
From: Byungchul Park <byungchul.park at lge.com>
Makes Dept able to track dma fence things. Let's start with applying to
default wait and default wait callback(wakeup).
Signed-off-by: Byungchul Park <byungchul.park at lge.com>
Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun at intel.com>
---
drivers/dma-buf/dma-fence.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
index 406b4e26f538..86599a8c8f65 100644
--- a/drivers/dma-buf/dma-fence.c
+++ b/drivers/dma-buf/dma-fence.c
@@ -16,6 +16,7 @@
#include <linux/dma-fence.h>
#include <linux/sched/signal.h>
#include <linux/seq_file.h>
+#include <linux/dept_sdt.h>
#define CREATE_TRACE_POINTS
#include <trace/events/dma_fence.h>
@@ -24,6 +25,7 @@ EXPORT_TRACEPOINT_SYMBOL(dma_fence_emit);
EXPORT_TRACEPOINT_SYMBOL(dma_fence_enable_signal);
EXPORT_TRACEPOINT_SYMBOL(dma_fence_signaled);
+static DEFINE_DEPT_SDT(dma_fence_default_sdt);
static DEFINE_SPINLOCK(dma_fence_stub_lock);
static struct dma_fence dma_fence_stub;
@@ -741,6 +743,7 @@ dma_fence_default_wait_cb(struct dma_fence *fence, struct dma_fence_cb *cb)
struct default_wait_cb *wait =
container_of(cb, struct default_wait_cb, base);
+ sdt_event(&dma_fence_default_sdt);
wake_up_state(wait->task, TASK_NORMAL);
}
@@ -789,6 +792,7 @@ dma_fence_default_wait(struct dma_fence *fence, bool intr, signed long timeout)
__set_current_state(TASK_UNINTERRUPTIBLE);
spin_unlock_irqrestore(fence->lock, flags);
+ sdt_wait(&dma_fence_default_sdt);
ret = schedule_timeout(ret);
spin_lock_irqsave(fence->lock, flags);
--
2.37.1
More information about the Intel-gfx-trybot
mailing list