[AMD Official Use Only - General]
As mentioned with an older version of this series, this is an 'abuse' of power profile interface.
This series is oversimplifying what PMFW algorithms are supposed to be doing. Whatever this series is doing, FW can do it better.
To explain in simpler terms - it just tries to boost a profile based on ring type without even knowing how much of activity a job can trigger on a particular ring. A job scheduled to a GFX ring doesn't deserve a profile boost unless it
can create a certain level of activity. In CPU terms, a job scheduled to a processor doesn't mean it deserves a frequency boost of that CPU. At minimum it depends on more details like whether that job is compute bound or memory bound or memory bound.
While FW algorithms are designed to do that, this series tries to trivialise all such things.
Unless you are able to show the tangible benefits in some terms like performance, power, or performance per watt, I don't think this should be the default behaviour where driver tries to override FW just based on job submissions to rings.
Thanks,
Lijo
Lijo
From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> on behalf of Arvind Yadav <Arvind.Yadav@xxxxxxx>
Sent: Monday, August 28, 2023 5:56:07 PM
To: Koenig, Christian <Christian.Koenig@xxxxxxx>; Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Sharma, Shashank <Shashank.Sharma@xxxxxxx>; Pan, Xinhui <Xinhui.Pan@xxxxxxx>; airlied@xxxxxxxxx <airlied@xxxxxxxxx>; daniel@xxxxxxxx <daniel@xxxxxxxx>; Kuehling, Felix <Felix.Kuehling@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx <amd-gfx@xxxxxxxxxxxxxxxxxxxxx>
Cc: Yadav, Arvind <Arvind.Yadav@xxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx <linux-kernel@xxxxxxxxxxxxxxx>; dri-devel@xxxxxxxxxxxxxxxxxxxxx <dri-devel@xxxxxxxxxxxxxxxxxxxxx>
Subject: [PATCH v3 0/7] GPU workload hints for better performance
Sent: Monday, August 28, 2023 5:56:07 PM
To: Koenig, Christian <Christian.Koenig@xxxxxxx>; Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Sharma, Shashank <Shashank.Sharma@xxxxxxx>; Pan, Xinhui <Xinhui.Pan@xxxxxxx>; airlied@xxxxxxxxx <airlied@xxxxxxxxx>; daniel@xxxxxxxx <daniel@xxxxxxxx>; Kuehling, Felix <Felix.Kuehling@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx <amd-gfx@xxxxxxxxxxxxxxxxxxxxx>
Cc: Yadav, Arvind <Arvind.Yadav@xxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx <linux-kernel@xxxxxxxxxxxxxxx>; dri-devel@xxxxxxxxxxxxxxxxxxxxx <dri-devel@xxxxxxxxxxxxxxxxxxxxx>
Subject: [PATCH v3 0/7] GPU workload hints for better performance
AMDGPU SOCs supports dynamic workload based power profiles, which can
provide fine-tuned performance for a particular type of workload.
This patch series adds an interface to set/reset these power profiles
based on the submitted job. The driver can dynamically switch
the power profiles based on submitted job. This can optimize the power
performance when the particular workload is on.
v2:
- Splitting workload_profile_set and workload_profile_put
into two separate patches.
- Addressed review comment.
- Added new suspend function.
- Added patch to switches the GPU workload mode for KFD.
v3:
- Addressed all review comment.
- Changed the function name from *_set() to *_get().
- Now clearing all the profile in work handler.
- Added *_clear_all function to clear all the power profile.
Arvind Yadav (7):
drm/amdgpu: Added init/fini functions for workload
drm/amdgpu: Add new function to set GPU power profile
drm/amdgpu: Add new function to put GPU power profile
drm/amdgpu: Add suspend function to clear the GPU power profile.
drm/amdgpu: Set/Reset GPU workload profile
drm/amdgpu: switch workload context to/from compute
Revert "drm/amd/amdgpu: switch on/off vcn power profile mode"
drivers/gpu/drm/amd/amdgpu/Makefile | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 3 +
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 8 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 5 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 14 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c | 226 ++++++++++++++++++
drivers/gpu/drm/amd/include/amdgpu_workload.h | 61 +++++
8 files changed, 309 insertions(+), 16 deletions(-)
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c
create mode 100644 drivers/gpu/drm/amd/include/amdgpu_workload.h
--
2.34.1
provide fine-tuned performance for a particular type of workload.
This patch series adds an interface to set/reset these power profiles
based on the submitted job. The driver can dynamically switch
the power profiles based on submitted job. This can optimize the power
performance when the particular workload is on.
v2:
- Splitting workload_profile_set and workload_profile_put
into two separate patches.
- Addressed review comment.
- Added new suspend function.
- Added patch to switches the GPU workload mode for KFD.
v3:
- Addressed all review comment.
- Changed the function name from *_set() to *_get().
- Now clearing all the profile in work handler.
- Added *_clear_all function to clear all the power profile.
Arvind Yadav (7):
drm/amdgpu: Added init/fini functions for workload
drm/amdgpu: Add new function to set GPU power profile
drm/amdgpu: Add new function to put GPU power profile
drm/amdgpu: Add suspend function to clear the GPU power profile.
drm/amdgpu: Set/Reset GPU workload profile
drm/amdgpu: switch workload context to/from compute
Revert "drm/amd/amdgpu: switch on/off vcn power profile mode"
drivers/gpu/drm/amd/amdgpu/Makefile | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 3 +
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 8 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 5 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 14 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c | 226 ++++++++++++++++++
drivers/gpu/drm/amd/include/amdgpu_workload.h | 61 +++++
8 files changed, 309 insertions(+), 16 deletions(-)
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c
create mode 100644 drivers/gpu/drm/amd/include/amdgpu_workload.h
--
2.34.1