[PATCH i-g-t v4 3/4] tools/vmtb: Test resources - vGPU profiles

Adam Miszczak adam.miszczak at linux.intel.com
Mon Dec 9 14:24:22 UTC 2024


Provide vGPU profiles definition for Flex 170 (ATS-M) platform.
Definitions are provided in a JSON format, parsed by the VMTB
and applied as a test setup (fixture).

Signed-off-by: Adam Miszczak <adam.miszczak at linux.intel.com>
Reviewed-by: Marcin Bernatowicz <marcin.bernatowicz at linux.intel.com>
---
 .../resources/vgpu_profiles/Flex170.json      | 113 ++++++++++++++++++
 1 file changed, 113 insertions(+)
 create mode 100644 tools/vmtb/vmm_flows/resources/vgpu_profiles/Flex170.json

diff --git a/tools/vmtb/vmm_flows/resources/vgpu_profiles/Flex170.json b/tools/vmtb/vmm_flows/resources/vgpu_profiles/Flex170.json
new file mode 100644
index 000000000..ff1fa7e20
--- /dev/null
+++ b/tools/vmtb/vmm_flows/resources/vgpu_profiles/Flex170.json
@@ -0,0 +1,113 @@
+{
+    "version": "1.1",
+    "PFResources": {
+        "Default": "MinimumPFResources",
+        "Profile": {
+            "MinimumPFResources": {
+                "LocalMemoryEccOn": 402653184,
+                "LocalMemoryEccOff": 402653184,
+                "Contexts": 1024,
+                "Doorbells": 16,
+                "GGTTSize": 268435456
+            }
+        }
+    },
+    "vGPUResources": {
+        "Default": null,
+        "Profile": {
+            "Flex170_16": {
+                "VFCount": 1,
+                "LocalMemoryEccOff": 16777216000,
+                "LocalMemoryEccOn": 2147483648,
+                "Contexts": 1024,
+                "Doorbells": 240,
+                "GGTTSize": 4026531840
+            },
+            "Flex170_8": {
+                "VFCount": 2,
+                "LocalMemoryEccOff": 8388608000,
+                "LocalMemoryEccOn": 2147483648,
+                "Contexts": 1024,
+                "Doorbells": 120,
+                "GGTTSize": 2013265920
+            },
+            "Flex170_4": {
+                "VFCount": 4,
+                "LocalMemoryEccOff": 4194304000,
+                "LocalMemoryEccOn": 2147483648,
+                "Contexts": 1024,
+                "Doorbells": 60,
+                "GGTTSize": 1006632960
+            },
+            "Flex170_2": {
+                "VFCount": 8,
+                "LocalMemoryEccOff": 2097152000,
+                "LocalMemoryEccOn": 1073741824,
+                "Contexts": 1024,
+                "Doorbells": 30,
+                "GGTTSize": 503316480
+            },
+            "Flex170_1": {
+                "VFCount": 16,
+                "LocalMemoryEccOff": 1048576000,
+                "LocalMemoryEccOn": 536870912,
+                "Contexts": 1024,
+                "Doorbells": 15,
+                "GGTTSize": 251658240
+            }
+        }
+    },
+    "vGPUScheduler": {
+        "Default": "Flexible_30fps_GPUTimeSlicing",
+        "Profile": {
+            "Flexible_30fps_GPUTimeSlicing": {
+                "GPUTimeSlicing": {
+                    "ScheduleIfIdle": false,
+                    "PFExecutionQuantum": 20,
+                    "PFPreemptionTimeout": 20000,
+                    "VFAttributes": {
+                        "VFExecutionQuantum": "lambda VFCount : max( 32 // VFCount, 1)",
+                        "VFPreemptionTimeout": "lambda VFCount : 128000 if (VFCount == 1) else max( 64000 // VFCount, 16000)"
+                    }
+                }
+            },
+            "Fixed_30fps_GPUTimeSlicing": {
+                "GPUTimeSlicing": {
+                    "ScheduleIfIdle": true,
+                    "PFExecutionQuantum": 20,
+                    "PFPreemptionTimeout": 20000,
+                    "VFAttributes": {
+                        "VFExecutionQuantum": "lambda VFCount : max( 32 // VFCount, 1)",
+                        "VFPreemptionTimeout": "lambda VFCount : 128000 if (VFCount == 1) else max( 64000 // VFCount, 16000)"
+                    }
+                }
+            },
+            "Flexible_BurstableQoS_GPUTimeSlicing": {
+                "GPUTimeSlicing": {
+                    "ScheduleIfIdle": false,
+                    "PFExecutionQuantum": 20,
+                    "PFPreemptionTimeout": 20000,
+                    "VFAttributes": {
+                        "VFExecutionQuantum": "lambda VFCount : min((2000 // max(VFCount-1,1)*0.5, 50))",
+                        "VFPreemptionTimeout": "lambda VFCount : (2000 // max(VFCount-1,1) - min((2000 // max(VFCount-1,1))*0.5, 50))*1000"
+                    }
+                }
+            }
+        }
+    },
+    "vGPUSecurity": {
+        "Default": "Disabled",
+        "Profile": {
+            "Disabled": {
+                "ResetAfterVfSwitch": false,
+                "GuCSamplingPeriod": 0,
+                "GuCThresholdCATError": 0,
+                "GuCThresholdPageFault": 0,
+                "GuCThresholdH2GStorm": 0,
+                "GuCThresholdDbStorm": 0,
+                "GuCThresholdGTIrqStorm": 0,
+                "GuCThresholdEngineReset": 0
+            }
+        }
+    }
+}
\ No newline at end of file
-- 
2.39.1



More information about the igt-dev mailing list