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

Bernatowicz, Marcin marcin.bernatowicz at linux.intel.com
Thu Dec 5 09:51:22 UTC 2024



On 11/27/2024 11:22 AM, Adam Miszczak wrote:
> 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>
> ---
>   .../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
LGTM,
Reviewed-by: Marcin Bernatowicz <marcin.bernatowicz at linux.intel.com>


More information about the igt-dev mailing list