On 2019-07-02 3:07 p.m., Kuehling, Felix wrote: > Ping. > > Shaoyun, do you mind reviewing this patch? Sorry, never mind. I missed that Oak already reviewed it. Thank you Oak! > > Thanks, > Felix > > On 2019-06-20 3:43 p.m., Kuehling, Felix wrote: >> Oversubscription of queues or processes results in poor performance >> mostly because HWS blinbly schedules busy and idle queues, resulting >> in poor occupancy if many queues are idle. >> >> Let users know with a warning message when transitioning from a >> non-oversubscribed to an oversubscribed runlist. >> >> Signed-off-by: Felix Kuehling <Felix.Kuehling@xxxxxxx> >> --- >> drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 6 +++++- >> drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 1 + >> 2 files changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c >> index c72c8f5fd54c..ccf6b2310316 100644 >> --- a/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c >> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c >> @@ -203,11 +203,15 @@ static int pm_create_runlist_ib(struct packet_manager *pm, >> >> pr_debug("Finished map process and queues to runlist\n"); >> >> - if (is_over_subscription) >> + if (is_over_subscription) { >> + if (!pm->is_over_subscription) >> + pr_warn("Runlist is getting oversubscribed. Expect reduced ROCm performance.\n"); >> retval = pm->pmf->runlist(pm, &rl_buffer[rl_wptr], >> *rl_gpu_addr, >> alloc_size_bytes / sizeof(uint32_t), >> true); >> + } >> + pm->is_over_subscription = is_over_subscription; >> >> for (i = 0; i < alloc_size_bytes / sizeof(uint32_t); i++) >> pr_debug("0x%2X ", rl_buffer[i]); >> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h >> index 4070e6d24ef7..d4bba0124d29 100644 >> --- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h >> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h >> @@ -937,6 +937,7 @@ struct packet_manager { >> bool allocated; >> struct kfd_mem_obj *ib_buffer_obj; >> unsigned int ib_size_bytes; >> + bool is_over_subscription; >> >> const struct packet_manager_funcs *pmf; >> }; > _______________________________________________ > amd-gfx mailing list > amd-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx