[Mesa-dev] [PATCH] st/mesa: disable L3 thread pinning

Axel Davy davyaxel0 at gmail.com
Mon Nov 12 21:19:26 UTC 2018


Is there any replacement plan with a new feature ?

Axel

On 12/11/2018 21:45, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> This implementation can have massive drawbacks.
>
> Cc: 18.3 <mesa-stable at lists.freedesktop.org>
> ---
>   src/mesa/state_tracker/st_manager.c | 9 ---------
>   1 file changed, 9 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
> index 690d5bc2313..076ad42646d 100644
> --- a/src/mesa/state_tracker/st_manager.c
> +++ b/src/mesa/state_tracker/st_manager.c
> @@ -1065,29 +1065,20 @@ st_api_make_current(struct st_api *stapi, struct st_context_iface *stctxi,
>            ret = _mesa_make_current(st->ctx, incomplete, incomplete);
>         }
>   
>         st_framebuffer_reference(&stdraw, NULL);
>         st_framebuffer_reference(&stread, NULL);
>   
>         /* Purge the context's winsys_buffers list in case any
>          * of the referenced drawables no longer exist.
>          */
>         st_framebuffers_purge(st);
> -
> -      /* Notify the driver that the context thread may have been changed.
> -       * This should pin all driver threads to a specific L3 cache for optimal
> -       * performance on AMD Zen CPUs.
> -       */
> -      struct glthread_state *glthread = st->ctx->GLThread;
> -      thrd_t *upper_thread = glthread ? &glthread->queue.threads[0] : NULL;
> -
> -      util_context_thread_changed(st->pipe, upper_thread);
>      }
>      else {
>         ret = _mesa_make_current(NULL, NULL, NULL);
>      }
>   
>      return ret;
>   }
>   
>   
>   static void




More information about the mesa-dev mailing list