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

2018-11-12 Thread Marek Olšák
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

2018-11-12 Thread Marek Olšák
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

2018-11-12 Thread Axel Davy

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

2018-11-12 Thread Edmondo Tommasina
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

2018-11-12 Thread Marek Olšák
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