The GSC microcontroller requires stolen memory, which can introduce
latency spikes and negatively impact real-time performance.

Print a warning on CONFIG_PREEMPT_RT kernels to inform the user that GSC
is active and that RT performance can be improved by disabling the GSC
firmware (e.g., by setting the module parameter xe.gsc_firmware_path="").

Signed-off-by: Junxiao Chang <[email protected]>
---
 drivers/gpu/drm/xe/xe_gsc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
index aab59dc647fbd..3d06ab6fecbe0 100644
--- a/drivers/gpu/drm/xe/xe_gsc.c
+++ b/drivers/gpu/drm/xe/xe_gsc.c
@@ -427,6 +427,11 @@ int xe_gsc_init(struct xe_gsc *gsc)
        else if (ret)
                goto out;
 
+       if (IS_ENABLED(CONFIG_PREEMPT_RT)) {
+               xe_gt_warn(gt, "RT performance might be impacted by GSC stolen 
memory usage\n");
+               xe_gt_warn(gt, "Consider disabling GSC 
(xe.gsc_firmware_path=\"\") to improve it\n");
+       }
+
        ret = xe_gsc_proxy_init(gsc);
        if (ret && ret != -ENODEV)
                goto out;
-- 
2.43.0

Reply via email to