Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: John Harrison <john.c.harrison@intel.com>
To: Lucas De Marchi <lucas.demarchi@intel.com>,
	<intel-xe@lists.freedesktop.org>
Cc: Michal Mrozek <michal.mrozek@intel.com>
Subject: Re: [PATCH 1/2] drm/xe/guc: Default log level to non-verbose
Date: Thu, 12 Jun 2025 11:21:38 -0700	[thread overview]
Message-ID: <276c2f6c-c5db-49d1-80b4-6aaaf527bf60@intel.com> (raw)
In-Reply-To: <20250612-guc-log-level-v1-1-51f124a3be6d@intel.com>

On 6/12/2025 11:05 AM, Lucas De Marchi wrote:
> Currently xe sets the guc log level to a verbose level since it's useful
> to debug hangs and general development. However the verbose level may
> already be too much and affect performance.
>
> Michal Mrozek did some tests with the L0 compute stack for submission
> latency with ULLS disabled. Below are the normalized numbers with log
> level 3 (the current default) as baseline for each test:
>
>                            Test \ Log Level                        3      0      1      2
>   ----------------------------------------------------------- ------ ------ ------ ------
>    BestWalkerNthCommandListSubmission(CmdListCount=2)           1.00   0.63   0.63   0.96
>    BestWalkerNthSubmission(KernelCount=2)                       1.00   0.62   0.63   0.96
>    BestWalkerNthSubmissionImmediate(KernelCount=2)              1.00   0.58   0.58   0.85
>    BestWalkerSubmission                                         1.00   0.62   0.62   0.96
>    BestWalkerSubmissionImmediate                                1.00   0.63   0.62   0.96
>    BestWalkerSubmissionImmediateMultiCmdlists(cmdlistCount=2)   1.00   0.58   0.58   0.86
>    BestWalkerSubmissionImmediateMultiCmdlists(cmdlistCount=4)   1.00   0.70   0.70   0.83
>    BestWalkerSubmissionImmediateMultiCmdlists(cmdlistCount=8)   1.00   0.53   0.52   0.78
>
> Log level 2 is the first "verbose level" for GuC, where the biggest
> difference happens. Keep log level 3 for CONFIG_DRM_XE_DEBUG, but switch
> to 1, i.e.  GUC_LOG_LEVEL_NON_VERBOSE, for "normal" builds.
Note that this performance is understood, although it was not realised 
quite how much of a hit it was on this benchmark. The impact comes from 
logging around context switches. The logging adds a few microseconds to 
the context switch time. In general, this is not noticeable as the 
context switch time is negligible compared to the runtime for the 
workload itself. However, I'm guessing from the name that this benchmark 
is specifically measuring context switch performance with empty 
workloads. Thus it is the pathological worst case scenario with regards 
to the impact of the logging.

Anyway, not logging in release builds is generally a good idea and 
better benchmark scores are always good :).

Reviewed-by: John Harrison <John.C.Harrison@Intel.com>

>
> Cc: Michal Mrozek <michal.mrozek@intel.com>
> Cc: John Harrison <John.C.Harrison@Intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
>   drivers/gpu/drm/xe/xe_module.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_module.c b/drivers/gpu/drm/xe/xe_module.c
> index 1c4dfafbcd0bc..4809afa7ce3f9 100644
> --- a/drivers/gpu/drm/xe/xe_module.c
> +++ b/drivers/gpu/drm/xe/xe_module.c
> @@ -20,7 +20,7 @@
>   
>   struct xe_modparam xe_modparam = {
>   	.probe_display = true,
> -	.guc_log_level = 3,
> +	.guc_log_level = IS_ENABLED(CONFIG_DRM_XE_DEBUG) ? 3 : 1,
>   	.force_probe = CONFIG_DRM_XE_FORCE_PROBE,
>   #ifdef CONFIG_PCI_IOV
>   	.max_vfs = IS_ENABLED(CONFIG_DRM_XE_DEBUG) ? ~0 : 0,
>


  reply	other threads:[~2025-06-12 18:21 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-12 18:05 [PATCH 0/2] drm/xe: Tweak default GuC log level Lucas De Marchi
2025-06-12 18:05 ` [PATCH 1/2] drm/xe/guc: Default log level to non-verbose Lucas De Marchi
2025-06-12 18:21   ` John Harrison [this message]
2025-06-12 18:29     ` Matthew Brost
2025-06-12 18:21   ` Matthew Brost
2025-06-12 18:26     ` John Harrison
2025-06-12 18:35       ` Matthew Brost
2025-06-12 18:05 ` [PATCH 2/2] drm/xe: Annotate default for guc_log_level param Lucas De Marchi
2025-06-12 18:26   ` John Harrison
2025-06-12 23:32 ` ✗ CI.checkpatch: warning for drm/xe: Tweak default GuC log level Patchwork
2025-06-12 23:34 ` ✓ CI.KUnit: success " Patchwork
2025-06-13  1:02 ` ✓ Xe.CI.BAT: " Patchwork
2025-06-13 20:00 ` ✗ Xe.CI.Full: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=276c2f6c-c5db-49d1-80b4-6aaaf527bf60@intel.com \
    --to=john.c.harrison@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=lucas.demarchi@intel.com \
    --cc=michal.mrozek@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox