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,
>
next prev parent 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