[Mesa-dev] [PATCH] i965: Do not log a perf warning when mapping an idle bo

Chris Wilson chris at chris-wilson.co.uk
Wed Oct 18 09:03:37 UTC 2017


Quoting Chris Wilson (2017-10-18 09:53:27)
> We only want to scare the user away from causing a GPU stall for mapping
> a busy bo. The time taken to instantiate the set of pages for a buffer
> and their mmapping is unavoidable and flagging idle bo as being busy is
> "crying wolf".
> 
> Reported-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: Kenneth Graunke <kenneth at whitecape.org>
> ---
>  src/mesa/drivers/dri/i965/brw_bufmgr.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.c b/src/mesa/drivers/dri/i965/brw_bufmgr.c
> index f12a3786eb..0db54fa3d1 100644
> --- a/src/mesa/drivers/dri/i965/brw_bufmgr.c
> +++ b/src/mesa/drivers/dri/i965/brw_bufmgr.c
> @@ -734,11 +734,12 @@ bo_wait_with_stall_warning(struct brw_context *brw,
>                             struct brw_bo *bo,
>                             const char *action)
>  {
> -   double elapsed = unlikely(brw && brw->perf_debug) ? -get_time() : 0.0;
> +   bool busy = brw && brw->perf_debug && !bo->idle;

I was thinking cheap, but probably better if we used brw_bo_busy() for
the external checks? Although taking external busyness into account may
cause some hard to debug flip-flops.
-Chris


More information about the mesa-dev mailing list