All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Rachapalli Bandi Jagadeesh"
	<jagadeesh.rachapalli.bandi@intel.com>,
	intel-xe@lists.freedesktop.org
Subject: Re: [PATCH] drm/xe/pf: Reset PF scheduling defaults on auto provisioning restore
Date: Tue, 10 Nov 2026 16:45:09 +0000	[thread overview]
Message-ID: <sashiko-outbox-207406@kernel.org> (raw)
In-Reply-To: <20261110162609.41234-1-jagadeesh.rachapalli.bandi@intel.com>

Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Medium] drm/xe/pf: missing master mutex around
  pf_reprovision_default() call
--

commit 5801d3ddee06076e86b0973d473b023b281cd2d2
Author: Rachapalli Bandi Jagadeesh <jagadeesh.rachapalli.bandi@intel.com>

drm/xe/pf: Reset PF scheduling defaults on auto provisioning restore

This commit resets PF scheduling defaults via pf_reprovision_default()
when restoring XE_SRIOV_PROVISIONING_MODE_AUTO in
xe_sriov_pf_provision_set_mode().

> diff --git a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> index c37e422b5a5cd..6b338f8930753 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> +++ b/drivers/gpu/drm/xe/xe_sriov_pf_provision.c
> @@ -170,12 +170,18 @@ int xe_sriov_pf_provision_set_mode(struct xe_device *xe, enum xe_sriov_provision
>  		return 0;
>  
>  	if (mode == XE_SRIOV_PROVISIONING_MODE_AUTO) {
> +		int err;
>  		if (xe_sriov_pf_num_vfs(xe)) {
>  			xe_sriov_dbg(xe, "can't restore %s: VFs must be disabled!\n",
>  				     mode_to_string(mode));
>  			return -EBUSY;
>  		}
>  		pf_unprovision_all_vfs(xe);
> +
> +		/* custom PF EQ/PT/sched_if_idle would block fair VF scheduling */
> +		err = pf_reprovision_default(xe);
> +		if (err)
> +			return err;
>  	}

[Severity: Medium]
Does calling pf_reprovision_default() here without holding
xe_sriov_pf_master_mutex(xe) trigger a lockdep warning and update PF
scheduling state and GuC KLVs without synchronization?

pf_reprovision_default() and the *_locked() helpers it invokes require
xe_sriov_pf_master_mutex(xe):

drivers/gpu/drm/xe/xe_sriov_pf_provision.c:pf_reprovision_default() {
	...
	lockdep_assert_held(xe_sriov_pf_master_mutex(xe));

	for_each_gt(gt, xe, id) {
		err = xe_gt_sriov_pf_policy_set_sched_if_idle_locked(gt, false);
	...
}

However, the debugfs caller path (restore_auto_provisioning_write() ->
xe_sriov_pf_restore_auto_provisioning() ->
xe_sriov_pf_provision_set_mode()) does not acquire
xe_sriov_pf_master_mutex(xe), and pf_unprovision_all_vfs() only takes
and releases the mutex internally per VF.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261110162609.41234-1-jagadeesh.rachapalli.bandi@intel.com?part=1

  parent reply	other threads:[~2026-11-10 16:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-10 16:26 [PATCH] drm/xe/pf: Reset PF scheduling defaults on auto provisioning restore Rachapalli Bandi Jagadeesh
2026-11-10 16:39 ` ✓ CI.KUnit: success for " Patchwork
2026-11-10 16:45 ` sashiko-bot [this message]
2026-11-10 17:13 ` ✓ Xe.CI.BAT: " Patchwork
2026-11-10 18:33 ` ✓ Xe.CI.FULL: " 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=sashiko-outbox-207406@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jagadeesh.rachapalli.bandi@intel.com \
    --cc=sashiko-reviews@lists.linux.dev \
    /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.