From a118829e4237bcb724b1ae079302776239b79bad Mon Sep 17 00:00:00 2001 From: Chiming Date: Fri, 14 Mar 2025 13:21:47 -0700 Subject: [PATCH 1/2] Add interface to enable/disable frame boundary preemption. Signed-off-by: Chiming --- src/runtime_src/core/common/query_requests.h | 22 +++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/runtime_src/core/common/query_requests.h b/src/runtime_src/core/common/query_requests.h index 6e893d5060d..56b99da7122 100644 --- a/src/runtime_src/core/common/query_requests.h +++ b/src/runtime_src/core/common/query_requests.h @@ -333,7 +333,8 @@ enum class key_type noop, xocl_errors_ex, - xocl_ex_error_code2string + xocl_ex_error_code2string, + frame_boundary_preemption }; struct pcie_vendor : request @@ -3983,6 +3984,25 @@ struct preemption : request }; +/* + * this request force enables or disables frame boundary pre-emption globally + * 1: enable; 0: disable +*/ +struct frame_boundary_preemption : request +{ + using result_type = uint32_t; // get value type + using value_type = uint32_t; // put value type + + static const key_type key = key_type::frame_boundary_preemption; + + virtual std::any + get(const device*) const override = 0; + + virtual void + put(const device*, const std::any&) const override = 0; + +}; + struct debug_ip_layout_path : request { // Get debug ip layout path From 98dc147107b5e5efc2c661964349056a0e3a8efd Mon Sep 17 00:00:00 2001 From: Chiming Date: Sun, 16 Mar 2025 23:16:19 -0700 Subject: [PATCH 2/2] Fix clang-tidy warning. Signed-off-by: Chiming --- src/runtime_src/core/common/query_requests.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/runtime_src/core/common/query_requests.h b/src/runtime_src/core/common/query_requests.h index 56b99da7122..73988688428 100644 --- a/src/runtime_src/core/common/query_requests.h +++ b/src/runtime_src/core/common/query_requests.h @@ -3995,11 +3995,11 @@ struct frame_boundary_preemption : request static const key_type key = key_type::frame_boundary_preemption; - virtual std::any - get(const device*) const override = 0; + std::any + get(const device*) const override = 0; - virtual void - put(const device*, const std::any&) const override = 0; + void + put(const device*, const std::any&) const override = 0; };