From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Luiz Otavio Mello <luiz.mello@estudante.ufscar.br>
Cc: <joonas.lahtinen@linux.intel.com>, <tursulin@ursulin.net>,
<jani.nikula@linux.intel.com>, <airlied@gmail.com>,
<simona@ffwll.ch>, <intel-gfx@lists.freedesktop.org>,
<dri-devel@lists.freedesktop.org>, <mairacanal@riseup.net>
Subject: Re: [PATCH 4/9 v2] drm/i915: Replace struct_mutex in intel_guc_log.c
Date: Fri, 8 Aug 2025 10:38:23 -0400 [thread overview]
Message-ID: <aJYL38Ar8EKTdieb@intel.com> (raw)
In-Reply-To: <20250807170212.285385-5-luiz.mello@estudante.ufscar.br>
On Thu, Aug 07, 2025 at 02:02:03PM -0300, Luiz Otavio Mello wrote:
> Remove the use of struct_mutex from intel_guc_log.c and replace it with
> a dedicated lock, guc_lock, defined within the intel_guc_log struct.
>
> The struct_mutex was previously used to protect concurrent access and
> modification of intel_guc_log->level in intel_guc_log_set_level().
> However, it was suggested that the lock should reside within the
> intel_guc_log struct itself.
>
> Initialize the new guc_lock in intel_guc_log_init_early(), alongside the
> existing relay.lock. The lock is initialized using drmm_mutex_init(),
> which also ensures it is properly destroyed when the driver is unloaded.
>
> Signed-off-by: Luiz Otavio Mello <luiz.mello@estudante.ufscar.br>
> Suggested-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
> drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 5 +++--
> drivers/gpu/drm/i915/gt/uc/intel_guc_log.h | 8 ++++++++
> 2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> index 469173791394..0104fffd5852 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> @@ -518,6 +518,7 @@ void intel_guc_log_init_early(struct intel_guc_log *log)
> struct drm_i915_private *i915 = guc_to_i915(guc);
>
> drmm_mutex_init(&i915->drm, &log->relay.lock);
> + drmm_mutex_init(&i915->drm, &log->guc_lock);
> INIT_WORK(&log->relay.flush_work, copy_debug_logs_work);
> log->relay.started = false;
> }
> @@ -683,7 +684,7 @@ int intel_guc_log_set_level(struct intel_guc_log *log, u32 level)
> if (level < GUC_LOG_LEVEL_DISABLED || level > GUC_LOG_LEVEL_MAX)
> return -EINVAL;
>
> - mutex_lock(&i915->struct_mutex);
> + mutex_lock(&log->guc_lock);
>
> if (log->level == level)
> goto out_unlock;
> @@ -701,7 +702,7 @@ int intel_guc_log_set_level(struct intel_guc_log *log, u32 level)
> log->level = level;
>
> out_unlock:
> - mutex_unlock(&i915->struct_mutex);
> + mutex_unlock(&log->guc_lock);
>
> return ret;
> }
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.h b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.h
> index 02127703be80..13cb93ad0710 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.h
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.h
> @@ -42,6 +42,14 @@ enum {
> struct intel_guc_log {
> u32 level;
>
> + /*
> + * Protects concurrent access and modification of intel_guc_log->level.
> + *
> + * This lock replaces the legacy struct_mutex usage in
> + * intel_guc_log system.
> + */
> + struct mutex guc_lock;
> +
> /* Allocation settings */
> struct {
> s32 bytes; /* Size in bytes */
> --
> 2.50.1
>
next prev parent reply other threads:[~2025-08-08 14:38 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-07 17:01 [PATCH 0/9 v2] drm/i915: Remove legacy struct_mutex usage Luiz Otavio Mello
2025-08-07 17:02 ` [PATCH 1/9 v2] drm/i915: Move struct_mutex to drm_i915_private Luiz Otavio Mello
2025-08-08 14:37 ` Rodrigo Vivi
2025-08-07 17:02 ` [PATCH 2/9 v2] drm/i915: Remove struct_mutex in i915_irq.c Luiz Otavio Mello
2025-08-08 14:37 ` Rodrigo Vivi
2025-08-07 17:02 ` [PATCH 3/9 v2] drm/i915: Change mutex initialization in intel_guc_log Luiz Otavio Mello
2025-08-08 14:38 ` Rodrigo Vivi
2025-08-07 17:02 ` [PATCH 4/9 v2] drm/i915: Replace struct_mutex in intel_guc_log.c Luiz Otavio Mello
2025-08-08 14:38 ` Rodrigo Vivi [this message]
2025-08-07 17:02 ` [PATCH 5/9 v2] drm/i915/gem: Clean-up outdated struct_mutex comments Luiz Otavio Mello
2025-08-08 14:38 ` Rodrigo Vivi
2025-08-07 17:02 ` [PATCH 6/9 v2] drm/i915/display: Remove " Luiz Otavio Mello
2025-08-08 14:39 ` Rodrigo Vivi
2025-08-07 17:02 ` [PATCH 7/9 v2] drm/i915: Clean-up " Luiz Otavio Mello
2025-08-08 14:39 ` Rodrigo Vivi
2025-08-07 17:02 ` [PATCH 8/9 v2] drm/i915: Remove unused struct_mutex from drm_i915_private Luiz Otavio Mello
2025-08-08 14:40 ` Rodrigo Vivi
2025-08-07 17:02 ` [PATCH 9/9 v2] drm/i915: Remove todo and comments about struct_mutex Luiz Otavio Mello
2025-08-08 14:42 ` Rodrigo Vivi
2025-08-07 17:18 ` ✗ LGCI.VerificationFailed: failure for drm/i915: Remove legacy struct_mutex usage (rev2) 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=aJYL38Ar8EKTdieb@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=airlied@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=joonas.lahtinen@linux.intel.com \
--cc=luiz.mello@estudante.ufscar.br \
--cc=mairacanal@riseup.net \
--cc=simona@ffwll.ch \
--cc=tursulin@ursulin.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.