Re: [Mesa-dev] [PATCH] st/mesa: disable L3 thread pinning
Yes, I have a better plan, but I don't know if it will work. Marek On Mon, Nov 12, 2018 at 4:19 PM Axel Davy wrote: > Is there any replacement plan with a new feature ? > > Axel > > On 12/11/2018 21:45, Marek Olšák wrote: > > From: Marek Olšák > > > > This implementation can have massive drawbacks. > > > > Cc: 18.3 > > --- > > 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(, NULL); > > st_framebuffer_reference(, 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 ? >queue.threads[0] : > NULL; > > - > > - util_context_thread_changed(st->pipe, upper_thread); > > } > > else { > > ret = _mesa_make_current(NULL, NULL, NULL); > > } > > > > return ret; > > } > > > > > > static void > > > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] st/mesa: disable L3 thread pinning
Thanks, pushed. Marek On Mon, Nov 12, 2018 at 4:14 PM Edmondo Tommasina < edmondo.tommas...@gmail.com> wrote: > > Patch is: > Reviewed-by: Edmondo Tommasina > > > On Mon, Nov 12, 2018 at 9:45 PM Marek Olšák wrote: > >> From: Marek Olšák >> >> This implementation can have massive drawbacks. >> >> Cc: 18.3 >> --- >> 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(, NULL); >>st_framebuffer_reference(, 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 ? >queue.threads[0] : >> NULL; >> - >> - util_context_thread_changed(st->pipe, upper_thread); >> } >> else { >>ret = _mesa_make_current(NULL, NULL, NULL); >> } >> >> return ret; >> } >> >> >> static void >> -- >> 2.17.1 >> >> ___ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev >> > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] st/mesa: disable L3 thread pinning
Is there any replacement plan with a new feature ? Axel On 12/11/2018 21:45, Marek Olšák wrote: From: Marek Olšák This implementation can have massive drawbacks. Cc: 18.3 --- 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(, NULL); st_framebuffer_reference(, 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 ? >queue.threads[0] : NULL; - - util_context_thread_changed(st->pipe, upper_thread); } else { ret = _mesa_make_current(NULL, NULL, NULL); } return ret; } static void ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] st/mesa: disable L3 thread pinning
Patch is: Reviewed-by: Edmondo Tommasina On Mon, Nov 12, 2018 at 9:45 PM Marek Olšák wrote: > From: Marek Olšák > > This implementation can have massive drawbacks. > > Cc: 18.3 > --- > 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(, NULL); >st_framebuffer_reference(, 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 ? >queue.threads[0] : > NULL; > - > - util_context_thread_changed(st->pipe, upper_thread); > } > else { >ret = _mesa_make_current(NULL, NULL, NULL); > } > > return ret; > } > > > static void > -- > 2.17.1 > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] st/mesa: disable L3 thread pinning
From: Marek Olšák This implementation can have massive drawbacks. Cc: 18.3 --- 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(, NULL); st_framebuffer_reference(, 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 ? >queue.threads[0] : NULL; - - util_context_thread_changed(st->pipe, upper_thread); } else { ret = _mesa_make_current(NULL, NULL, NULL); } return ret; } static void -- 2.17.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev