All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yan Zhao <yan.y.zhao@intel.com>
To: intel-gfx@lists.freedesktop.org, jani.nikula@linux.intel.com,
	joonas.lahtinen@linux.intel.com
Cc: Yan Zhao <yan.y.zhao@intel.com>, intel-gvt-dev@lists.freedesktop.org
Subject: [Intel-gfx] [PATCH] drm/i915/gt:fix raw-wakeref not held calltrace in vGPU
Date: Tue, 11 Aug 2020 11:02:09 +0800	[thread overview]
Message-ID: <20200811030209.21058-1-yan.y.zhao@intel.com> (raw)

UNCORE_HAS_FORCEWAKE is not turned on when intel_vgpu_active() returns
true, so the guest mmio writes go to gen2_write32().

 ------------[ cut here ]------------
 RPM raw-wakeref not held
 WARNING: CPU: 1 PID: 6375 at drivers/gpu/drm/i915/intel_runtime_pm.h:106
 gen2_write32+0x10b/0x140 [i915]
 Modules linked in: intel_rapl_msr intel_rapl_common kvm_intel crct10dif_pclmul
 crc32_pclmul ghash_clmulni_intel aesni_intel crypto_simd cryptd glue_helper
 intel_rapl_perf joydev input_leds qemu_fw_cfg mac_hid serio_raw sch_fq_codel
 parport_pc ppdev lp parport ip_tables x_tables autofs4 vfio_mdev mdev kvm
 hid_generic usbhid hid i915 video i2c_algo_bit drm_kms_helper syscopyarea
 psmouse sysfillrect sysimgblt fb_sys_fops cec rc_core floppy drm e1000
 pata_acpi i2c_piix4
 CPU: 1 PID: 6375 Comm: Xorg.wrap Not tainted 5.7.0-050700-generic
 #202005312130
 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
 BIOS rel-1.13.0-0-gf21b5a4 04/01/2014
 RIP: 0010:gen2_write32+0x10b/0x140 [i915]
 Code: 76 f4 f8 0f 0b e9 46 ff ff ff 80 3d 82 18 1a 00 00 0f 85 43 ff ff ff 48
 c7 c7 42 81 4b c0 c6 05 6e 18 1a 00 01 e8 ba 76 f4 f8 <0f> 0b e9 29 ff ff ff
 80 3d 5a 18 1a 00 00 0f 85 26 ff ff ff 48 c7
 RSP: 0018:ffffb67400aef9e8 EFLAGS: 00010282
 RAX: 0000000000000000 RBX: 0000000000078838 RCX: 0000000000000007
 RDX: 0000000000000007 RSI: 0000000000000082 RDI: ffff9ae47bd19c80
 RBP: ffffb67400aefa10 R08: 00000000000002b9 R09: 0000000000000004
 R10: 0000000000000000 R11: 0000000000000001 R12: ffff9ae46e3e07b8
 R13: 0000000000000000 R14: ffff9ae46e3e0000 R15: 0000000035cd5000
 FS:  00007f9ec20c4740(0000) GS:ffff9ae47bd00000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 00007f9ec2125760 CR3: 000000010e120003 CR4: 0000000000360ee0
 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
 Call Trace:
  gen8_ppgtt_notify_vgt+0x95/0x190 [i915]
  gen8_ppgtt_create+0x3c7/0x440 [i915]
  i915_ppgtt_create+0x7d/0x90 [i915]
  i915_gem_create_context+0x2c0/0x3a8 [i915]
  i915_gem_context_open+0x59/0xc0 [i915]
  i915_gem_open+0x8b/0xc0 [i915]
  i915_driver_open+0xe/0x10 [i915]
  drm_file_alloc+0x199/0x260 [drm]
  drm_open+0xcf/0x260 [drm]
  drm_stub_open+0xaa/0xe0 [drm]
  chrdev_open+0xd3/0x1c0
  ? cdev_default_release+0x20/0x20
  do_dentry_open+0x143/0x3a0
  vfs_open+0x2d/0x30
  path_openat+0xb1c/0x10f0
  ? filemap_map_pages+0x22f/0x370
  do_filp_open+0x91/0x100
  ? __alloc_fd+0xb8/0x150
  do_sys_openat2+0x210/0x2d0
  do_sys_open+0x46/0x80
  __x64_sys_openat+0x20/0x30
  do_syscall_64+0x57/0x1d0
  entry_SYSCALL_64_after_hwframe+0x44/0xa9
 RIP: 0033:0x7f9ec22cda5b
 Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00
85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0
ff ff 0f 87 91 00 00 00 48 8b 4c 24 28 64 48 33 0c 25
 RSP: 002b:00007ffd2f2a3960 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
 RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f9ec22cda5b
 RDX: 0000000000000002 RSI: 00007ffd2f2a3ae0 RDI: 00000000ffffff9c
 RBP: 00007ffd2f2a3ae0 R08: 0000000000000000 R09: 00007ffd2f2a3870
 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002
 R13: 0000000000000000 R14: 0000000000000000 R15: 00007ffd2f2a3a00
 ---[ end trace 110b629471bd16dd ]---

Signed-off-by: Yan Zhao <yan.y.zhao@intel.com>
---
 drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/gen8_ppgtt.c b/drivers/gpu/drm/i915/gt/gen8_ppgtt.c
index 699125928272..3fc3488c127f 100644
--- a/drivers/gpu/drm/i915/gt/gen8_ppgtt.c
+++ b/drivers/gpu/drm/i915/gt/gen8_ppgtt.c
@@ -55,6 +55,7 @@ static void gen8_ppgtt_notify_vgt(struct i915_ppgtt *ppgtt, bool create)
 	struct drm_i915_private *i915 = ppgtt->vm.i915;
 	struct intel_uncore *uncore = ppgtt->vm.gt->uncore;
 	enum vgt_g2v_type msg;
+	intel_wakeref_t wakeref;
 	int i;
 
 	if (create)
@@ -62,6 +63,7 @@ static void gen8_ppgtt_notify_vgt(struct i915_ppgtt *ppgtt, bool create)
 	else
 		atomic_dec(px_used(ppgtt->pd));
 
+	wakeref = intel_runtime_pm_get(uncore->rpm);
 	mutex_lock(&i915->vgpu.lock);
 
 	if (i915_vm_is_4lvl(&ppgtt->vm)) {
@@ -96,6 +98,7 @@ static void gen8_ppgtt_notify_vgt(struct i915_ppgtt *ppgtt, bool create)
 	intel_uncore_write(uncore, vgtif_reg(g2v_notify), msg);
 
 	mutex_unlock(&i915->vgpu.lock);
+	intel_runtime_pm_put(uncore->rpm, wakeref);
 }
 
 /* Index shifts into the pagetable are offset by GEN8_PTE_SHIFT [12] */
-- 
2.17.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

             reply	other threads:[~2020-08-11  3:35 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-11  3:02 Yan Zhao [this message]
2020-08-11  3:57 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/gt:fix raw-wakeref not held calltrace in vGPU Patchwork
2020-08-11  4:18 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-08-11  5:38 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2020-08-11  8:26 ` [Intel-gfx] [PATCH] " Chris Wilson
2020-08-11  8:18   ` Yan Zhao
2020-08-11  8:39   ` Zhenyu Wang
2020-08-11  9:25 ` [Intel-gfx] [PATCH] drm/i915: Drop runtime-pm assert from vgpu io accessors Chris Wilson
2020-08-12  2:06   ` Zhenyu Wang
2020-08-19  8:32     ` Zhenyu Wang
2020-10-19  9:37       ` Zhenyu Wang
2020-10-20  9:41         ` Chris Wilson
2020-08-11 10:29 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/gt:fix raw-wakeref not held calltrace in vGPU (rev2) Patchwork
2020-08-11 10:51 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-08-11 13:25 ` [Intel-gfx] ✗ Fi.CI.IGT: 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=20200811030209.21058-1-yan.y.zhao@intel.com \
    --to=yan.y.zhao@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-gvt-dev@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=joonas.lahtinen@linux.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 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.