linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* drm/i915: WARN_ON(dev_priv->mm.busy)
@ 2015-06-07  3:09 Jeremiah Mahler
  2015-06-08  5:56 ` [BUG, bisect] " Jeremiah Mahler
  0 siblings, 1 reply; 8+ messages in thread
From: Jeremiah Mahler @ 2015-06-07  3:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: Daniel Vetter, Jani Nikula, David Airlie, intel-gfx, dri-devel

all,

On all my machines with Intel graphics I get the following warning
in the logs when the machine is suspended.  Apparently some part of
the graphics system is busy when it should be idle. This is present
on the latest linux-next 20150604.

  ...
  [   33.141747] Suspending console(s) (use no_console_suspend to debug)
  [   33.142146] wlan0: deauthenticating from 00:1a:70:5a:6e:0b by local
  choice (Reason: 3=DEAUTH_LEAVING)
  [   33.147395] queueing ieee80211 work while going to suspend
  [   33.151597] cfg80211: Calling CRDA to update world regulatory domain
  [   33.190430] sd 0:0:0:0: [sda] Synchronizing SCSI cache
  [   33.190523] sd 0:0:0:0: [sda] Stopping disk
  [   33.275743] ------------[ cut here ]------------
  [   33.275764] WARNING: CPU: 0 PID: 1617 at
  drivers/gpu/drm/i915/i915_gem.c:4808 i915_gem_suspend+0xe4/0xf0 [i915]()
  [   33.275766] WARN_ON(dev_priv->mm.busy)
  [   33.275811] Modules linked in: binfmt_misc snd_hda_codec_hdmi
  hid_generic isl29018(C) industrialio regmap_i2c cyapatp crc_itu_t usbhid
  hid arc4 x86_pkg_temp_thermal intel_powerclamp intel_rapl iosf_mbi
  coretemp ath9k tpm_infineon kvm_intel kvm ath9k_common ath9k_hw
  crct10dif_pclmul crc32_pclmul crc32c_intel chromeos_laptop ath mac80211
  ghash_clmulni_intel cryptd i915 cfg80211 pcspkr serio_raw sg ath3k btusb
  btrtl lpc_ich snd_hda_codec_realtek shpchp i2c_i801 mfd_core
  snd_hda_codec_generic btbcm btintel bluetooth snd_hda_intel battery
  snd_hda_codec ac i2c_algo_bit drm_kms_helper tpm_tis snd_hwdep tpm
  snd_hda_core drm snd_pcm video rfkill processor button snd_timer snd
  soundcore i2c_designware_pci i2c_designware_core evdev uvcvideo
  videobuf2_vmalloc videobuf2_memops videobuf2_core v4l2_common videodev
  [   33.275825]  media i2c_core fuse autofs4 ext4 crc16 mbcache jbd2
  sd_mod fan xhci_pci sdhci_acpi sdhci xhci_hcd mmc_core thermal
  thermal_sys usbcore ahci libahci usb_common libata scsi_mod
  [   33.275828] CPU: 0 PID: 1617 Comm: kworker/u4:4 Tainted: G         C
  4.1.0-rc6-next-20150604+ #207
  [   33.275829] Hardware name: Acer Peppy, BIOS          04/30/2014
  [   33.275834] Workqueue: events_unbound async_run_entry_fn
  [   33.275838]  0000000000000000 ffffffffa05b7908 ffffffff8152ca4d
  ffff880035effc58
  [   33.275840]  ffffffff8106bce1 ffff880073587f20 0000000000000000
  ffff880073580000
  [   33.275842]  ffff88003534f860 ffff880073580000 ffffffff8106bd5a
  ffffffffa05c74c1
  [   33.275843] Call Trace:
  [   33.275849]  [<ffffffff8152ca4d>] ? dump_stack+0x40/0x50
  [   33.275853]  [<ffffffff8106bce1>] ? warn_slowpath_common+0x81/0xb0
  [   33.275855]  [<ffffffff8106bd5a>] ? warn_slowpath_fmt+0x4a/0x50
  [   33.275865]  [<ffffffffa0520264>] ? i915_gem_suspend+0xe4/0xf0 [i915]
  [   33.275872]  [<ffffffffa04f48c1>] ? i915_drm_suspend+0x61/0x1b0
  [i915]
  [   33.275876]  [<ffffffff81302381>] ? pci_pm_suspend+0x71/0x140
  [   33.275878]  [<ffffffff81302310>] ? pci_pm_freeze+0xd0/0xd0
  [   33.275881]  [<ffffffff813e1699>] ? dpm_run_callback+0x39/0xd0
  [   33.275883]  [<ffffffff813e20d4>] ? __device_suspend+0xe4/0x300
  [   33.275884]  [<ffffffff813e230e>] ? async_suspend+0x1e/0x90
  [   33.275887]  [<ffffffff8108a893>] ? async_run_entry_fn+0x43/0x150
  [   33.275890]  [<ffffffff810828f8>] ? process_one_work+0x148/0x3b0
  [   33.275892]  [<ffffffff81082e8a>] ? worker_thread+0x4a/0x440
  [   33.275895]  [<ffffffff81082e40>] ? rescuer_thread+0x2e0/0x2e0
  [   33.275898]  [<ffffffff81088121>] ? kthread+0xc1/0xe0
  [   33.275901]  [<ffffffff81088060>] ?
  kthread_create_on_node+0x190/0x190
  [   33.275904]  [<ffffffff8153365f>] ? ret_from_fork+0x3f/0x70
  [   33.275907]  [<ffffffff81088060>] ?
  kthread_create_on_node+0x190/0x190
  [   33.275908] ---[ end trace e1c3eb5e163b3520 ]---
  [   33.560558] PM: suspend of devices complete after 423.034 msecs
  [   33.577985] PM: late suspend of devices complete after 17.589 msecs
  [   33.579036] xhci_hcd 0000:00:14.0: System wakeup enabled by ACPI
  [   33.594059] PM: noirq suspend of devices complete after 16.226 msecs
  [   33.594498] ACPI: Preparing to enter system sleep state S3
  [   33.595066] ACPI : EC: EC stopped
  ...

-- 
- Jeremiah Mahler

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [BUG, bisect] Re: drm/i915: WARN_ON(dev_priv->mm.busy)
  2015-06-07  3:09 drm/i915: WARN_ON(dev_priv->mm.busy) Jeremiah Mahler
@ 2015-06-08  5:56 ` Jeremiah Mahler
  2015-06-15  6:57   ` [Intel-gfx] " Daniel Vetter
  0 siblings, 1 reply; 8+ messages in thread
From: Jeremiah Mahler @ 2015-06-08  5:56 UTC (permalink / raw)
  To: linux-kernel, Daniel Vetter, Jani Nikula, David Airlie,
	intel-gfx, dri-devel

all,

On Sat, Jun 06, 2015 at 08:09:34PM -0700, Jeremiah Mahler wrote:
> all,
> 
> On all my machines with Intel graphics I get the following warning
> in the logs when the machine is suspended.  Apparently some part of
> the graphics system is busy when it should be idle. This is present
> on the latest linux-next 20150604.
> 
>   ...
>   [   33.141747] Suspending console(s) (use no_console_suspend to debug)
>   [   33.142146] wlan0: deauthenticating from 00:1a:70:5a:6e:0b by local
>   choice (Reason: 3=DEAUTH_LEAVING)
>   [   33.147395] queueing ieee80211 work while going to suspend
>   [   33.151597] cfg80211: Calling CRDA to update world regulatory domain
>   [   33.190430] sd 0:0:0:0: [sda] Synchronizing SCSI cache
>   [   33.190523] sd 0:0:0:0: [sda] Stopping disk
>   [   33.275743] ------------[ cut here ]------------
>   [   33.275764] WARNING: CPU: 0 PID: 1617 at
>   drivers/gpu/drm/i915/i915_gem.c:4808 i915_gem_suspend+0xe4/0xf0 [i915]()
>   [   33.275766] WARN_ON(dev_priv->mm.busy)
>   [   33.275811] Modules linked in: binfmt_misc snd_hda_codec_hdmi
>   hid_generic isl29018(C) industrialio regmap_i2c cyapatp crc_itu_t usbhid
>   hid arc4 x86_pkg_temp_thermal intel_powerclamp intel_rapl iosf_mbi
>   coretemp ath9k tpm_infineon kvm_intel kvm ath9k_common ath9k_hw
>   crct10dif_pclmul crc32_pclmul crc32c_intel chromeos_laptop ath mac80211
>   ghash_clmulni_intel cryptd i915 cfg80211 pcspkr serio_raw sg ath3k btusb
>   btrtl lpc_ich snd_hda_codec_realtek shpchp i2c_i801 mfd_core
>   snd_hda_codec_generic btbcm btintel bluetooth snd_hda_intel battery
>   snd_hda_codec ac i2c_algo_bit drm_kms_helper tpm_tis snd_hwdep tpm
>   snd_hda_core drm snd_pcm video rfkill processor button snd_timer snd
>   soundcore i2c_designware_pci i2c_designware_core evdev uvcvideo
>   videobuf2_vmalloc videobuf2_memops videobuf2_core v4l2_common videodev
>   [   33.275825]  media i2c_core fuse autofs4 ext4 crc16 mbcache jbd2
>   sd_mod fan xhci_pci sdhci_acpi sdhci xhci_hcd mmc_core thermal
>   thermal_sys usbcore ahci libahci usb_common libata scsi_mod
>   [   33.275828] CPU: 0 PID: 1617 Comm: kworker/u4:4 Tainted: G         C
>   4.1.0-rc6-next-20150604+ #207
>   [   33.275829] Hardware name: Acer Peppy, BIOS          04/30/2014
>   [   33.275834] Workqueue: events_unbound async_run_entry_fn
>   [   33.275838]  0000000000000000 ffffffffa05b7908 ffffffff8152ca4d
>   ffff880035effc58
>   [   33.275840]  ffffffff8106bce1 ffff880073587f20 0000000000000000
>   ffff880073580000
>   [   33.275842]  ffff88003534f860 ffff880073580000 ffffffff8106bd5a
>   ffffffffa05c74c1
>   [   33.275843] Call Trace:
>   [   33.275849]  [<ffffffff8152ca4d>] ? dump_stack+0x40/0x50
>   [   33.275853]  [<ffffffff8106bce1>] ? warn_slowpath_common+0x81/0xb0
>   [   33.275855]  [<ffffffff8106bd5a>] ? warn_slowpath_fmt+0x4a/0x50
>   [   33.275865]  [<ffffffffa0520264>] ? i915_gem_suspend+0xe4/0xf0 [i915]
>   [   33.275872]  [<ffffffffa04f48c1>] ? i915_drm_suspend+0x61/0x1b0
>   [i915]
>   [   33.275876]  [<ffffffff81302381>] ? pci_pm_suspend+0x71/0x140
>   [   33.275878]  [<ffffffff81302310>] ? pci_pm_freeze+0xd0/0xd0
>   [   33.275881]  [<ffffffff813e1699>] ? dpm_run_callback+0x39/0xd0
>   [   33.275883]  [<ffffffff813e20d4>] ? __device_suspend+0xe4/0x300
>   [   33.275884]  [<ffffffff813e230e>] ? async_suspend+0x1e/0x90
>   [   33.275887]  [<ffffffff8108a893>] ? async_run_entry_fn+0x43/0x150
>   [   33.275890]  [<ffffffff810828f8>] ? process_one_work+0x148/0x3b0
>   [   33.275892]  [<ffffffff81082e8a>] ? worker_thread+0x4a/0x440
>   [   33.275895]  [<ffffffff81082e40>] ? rescuer_thread+0x2e0/0x2e0
>   [   33.275898]  [<ffffffff81088121>] ? kthread+0xc1/0xe0
>   [   33.275901]  [<ffffffff81088060>] ?
>   kthread_create_on_node+0x190/0x190
>   [   33.275904]  [<ffffffff8153365f>] ? ret_from_fork+0x3f/0x70
>   [   33.275907]  [<ffffffff81088060>] ?
>   kthread_create_on_node+0x190/0x190
>   [   33.275908] ---[ end trace e1c3eb5e163b3520 ]---
>   [   33.560558] PM: suspend of devices complete after 423.034 msecs
>   [   33.577985] PM: late suspend of devices complete after 17.589 msecs
>   [   33.579036] xhci_hcd 0000:00:14.0: System wakeup enabled by ACPI
>   [   33.594059] PM: noirq suspend of devices complete after 16.226 msecs
>   [   33.594498] ACPI: Preparing to enter system sleep state S3
>   [   33.595066] ACPI : EC: EC stopped
>   ...
> 
> -- 
> - Jeremiah Mahler

I bisected the kernel and found that the following patch introduced the
bug.

  From b47161858ba13c9c7e03333132230d66e008dd55 Mon Sep 17 00:00:00 2001
  From: Chris Wilson <chris@chris-wilson.co.uk>
  Date: Mon, 27 Apr 2015 13:41:17 +0100
  Subject: [PATCH] drm/i915: Implement inter-engine read-read optimisations
  MIME-Version: 1.0
  Content-Type: text/plain; charset=UTF-8
  Content-Transfer-Encoding: 8bit
  
  Currently, we only track the last request globally across all engines.
  This prevents us from issuing concurrent read requests on e.g. the RCS
  and BCS engines (or more likely the render and media engines). Without
  semaphores, we incur costly stalls as we synchronise between rings -
  greatly impacting the current performance of Broadwell versus Haswell in
  certain workloads (like video decode). With the introduction of
  reference counted requests, it is much easier to track the last request
  per ring, as well as the last global write request so that we can
  optimise inter-engine read read requests (as well as better optimise
  certain CPU waits).
  
  v2: Fix inverted readonly condition for nonblocking waits.
  v3: Handle non-continguous engine array after waits
  v4: Rebase, tidy, rewrite ring list debugging
  v5: Use obj->active as a bitfield, it looks cool
  v6: Micro-optimise, mostly involving moving code around
  v7: Fix retire-requests-upto for execlists (and multiple rq->ringbuf)
  v8: Rebase
  v9: Refactor i915_gem_object_sync() to allow the compiler to better
  optimise it.
  
  Benchmark: igt/gem_read_read_speed
  hsw:gt3e (with semaphores):
  Before: Time to read-read 1024k:		275.794µs
  After:  Time to read-read 1024k:		123.260µs
  
  hsw:gt3e (w/o semaphores):
  Before: Time to read-read 1024k:		230.433µs
  After:  Time to read-read 1024k:		124.593µs
  
  bdw-u (w/o semaphores):             Before          After
  Time to read-read 1x1:            26.274µs       10.350µs
  Time to read-read 128x128:        40.097µs       21.366µs
  Time to read-read 256x256:        77.087µs       42.608µs
  Time to read-read 512x512:       281.999µs      181.155µs
  Time to read-read 1024x1024:    1196.141µs     1118.223µs
  Time to read-read 2048x2048:    5639.072µs     5225.837µs
  Time to read-read 4096x4096:   22401.662µs    21137.067µs
  Time to read-read 8192x8192:   89617.735µs    85637.681µs
  
  Testcase: igt/gem_concurrent_blit (read-read and friends)
  Cc: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>
  Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
  Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
  Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> [v8]
  [danvet: s/\<rq\>/req/g]
  Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  ---
   drivers/gpu/drm/i915/i915_debugfs.c     |  16 +-
   drivers/gpu/drm/i915/i915_drv.h         |  19 +-
   drivers/gpu/drm/i915/i915_gem.c         | 540 ++++++++++++++++++++------------
   drivers/gpu/drm/i915/i915_gem_context.c |   2 -
   drivers/gpu/drm/i915/i915_gem_debug.c   |  92 ++----
   drivers/gpu/drm/i915/i915_gpu_error.c   |  19 +-
   drivers/gpu/drm/i915/intel_display.c    |   6 +-
   drivers/gpu/drm/i915/intel_lrc.c        |  19 +-
   drivers/gpu/drm/i915/intel_overlay.c    |   2 -
   drivers/gpu/drm/i915/intel_ringbuffer.c |  26 +-
   10 files changed, 416 insertions(+), 325 deletions(-)
  ...

-- 
- Jeremiah Mahler

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Intel-gfx] [BUG, bisect] Re: drm/i915: WARN_ON(dev_priv->mm.busy)
  2015-06-08  5:56 ` [BUG, bisect] " Jeremiah Mahler
@ 2015-06-15  6:57   ` Daniel Vetter
  2015-06-15  8:25     ` Jeremiah Mahler
  0 siblings, 1 reply; 8+ messages in thread
From: Daniel Vetter @ 2015-06-15  6:57 UTC (permalink / raw)
  To: Jeremiah Mahler, linux-kernel, Daniel Vetter, Jani Nikula,
	David Airlie, intel-gfx, dri-devel

Can you please retest with

commit 0aedb1626566efd72b369c01992ee7413c82a0c5
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Thu May 28 18:32:36 2015 +0300

    drm/i915: Don't skip request retirement if the active list is empty

Thanks, Daniel

On Sun, Jun 07, 2015 at 10:56:41PM -0700, Jeremiah Mahler wrote:
> all,
> 
> On Sat, Jun 06, 2015 at 08:09:34PM -0700, Jeremiah Mahler wrote:
> > all,
> > 
> > On all my machines with Intel graphics I get the following warning
> > in the logs when the machine is suspended.  Apparently some part of
> > the graphics system is busy when it should be idle. This is present
> > on the latest linux-next 20150604.
> > 
> >   ...
> >   [   33.141747] Suspending console(s) (use no_console_suspend to debug)
> >   [   33.142146] wlan0: deauthenticating from 00:1a:70:5a:6e:0b by local
> >   choice (Reason: 3=DEAUTH_LEAVING)
> >   [   33.147395] queueing ieee80211 work while going to suspend
> >   [   33.151597] cfg80211: Calling CRDA to update world regulatory domain
> >   [   33.190430] sd 0:0:0:0: [sda] Synchronizing SCSI cache
> >   [   33.190523] sd 0:0:0:0: [sda] Stopping disk
> >   [   33.275743] ------------[ cut here ]------------
> >   [   33.275764] WARNING: CPU: 0 PID: 1617 at
> >   drivers/gpu/drm/i915/i915_gem.c:4808 i915_gem_suspend+0xe4/0xf0 [i915]()
> >   [   33.275766] WARN_ON(dev_priv->mm.busy)
> >   [   33.275811] Modules linked in: binfmt_misc snd_hda_codec_hdmi
> >   hid_generic isl29018(C) industrialio regmap_i2c cyapatp crc_itu_t usbhid
> >   hid arc4 x86_pkg_temp_thermal intel_powerclamp intel_rapl iosf_mbi
> >   coretemp ath9k tpm_infineon kvm_intel kvm ath9k_common ath9k_hw
> >   crct10dif_pclmul crc32_pclmul crc32c_intel chromeos_laptop ath mac80211
> >   ghash_clmulni_intel cryptd i915 cfg80211 pcspkr serio_raw sg ath3k btusb
> >   btrtl lpc_ich snd_hda_codec_realtek shpchp i2c_i801 mfd_core
> >   snd_hda_codec_generic btbcm btintel bluetooth snd_hda_intel battery
> >   snd_hda_codec ac i2c_algo_bit drm_kms_helper tpm_tis snd_hwdep tpm
> >   snd_hda_core drm snd_pcm video rfkill processor button snd_timer snd
> >   soundcore i2c_designware_pci i2c_designware_core evdev uvcvideo
> >   videobuf2_vmalloc videobuf2_memops videobuf2_core v4l2_common videodev
> >   [   33.275825]  media i2c_core fuse autofs4 ext4 crc16 mbcache jbd2
> >   sd_mod fan xhci_pci sdhci_acpi sdhci xhci_hcd mmc_core thermal
> >   thermal_sys usbcore ahci libahci usb_common libata scsi_mod
> >   [   33.275828] CPU: 0 PID: 1617 Comm: kworker/u4:4 Tainted: G         C
> >   4.1.0-rc6-next-20150604+ #207
> >   [   33.275829] Hardware name: Acer Peppy, BIOS          04/30/2014
> >   [   33.275834] Workqueue: events_unbound async_run_entry_fn
> >   [   33.275838]  0000000000000000 ffffffffa05b7908 ffffffff8152ca4d
> >   ffff880035effc58
> >   [   33.275840]  ffffffff8106bce1 ffff880073587f20 0000000000000000
> >   ffff880073580000
> >   [   33.275842]  ffff88003534f860 ffff880073580000 ffffffff8106bd5a
> >   ffffffffa05c74c1
> >   [   33.275843] Call Trace:
> >   [   33.275849]  [<ffffffff8152ca4d>] ? dump_stack+0x40/0x50
> >   [   33.275853]  [<ffffffff8106bce1>] ? warn_slowpath_common+0x81/0xb0
> >   [   33.275855]  [<ffffffff8106bd5a>] ? warn_slowpath_fmt+0x4a/0x50
> >   [   33.275865]  [<ffffffffa0520264>] ? i915_gem_suspend+0xe4/0xf0 [i915]
> >   [   33.275872]  [<ffffffffa04f48c1>] ? i915_drm_suspend+0x61/0x1b0
> >   [i915]
> >   [   33.275876]  [<ffffffff81302381>] ? pci_pm_suspend+0x71/0x140
> >   [   33.275878]  [<ffffffff81302310>] ? pci_pm_freeze+0xd0/0xd0
> >   [   33.275881]  [<ffffffff813e1699>] ? dpm_run_callback+0x39/0xd0
> >   [   33.275883]  [<ffffffff813e20d4>] ? __device_suspend+0xe4/0x300
> >   [   33.275884]  [<ffffffff813e230e>] ? async_suspend+0x1e/0x90
> >   [   33.275887]  [<ffffffff8108a893>] ? async_run_entry_fn+0x43/0x150
> >   [   33.275890]  [<ffffffff810828f8>] ? process_one_work+0x148/0x3b0
> >   [   33.275892]  [<ffffffff81082e8a>] ? worker_thread+0x4a/0x440
> >   [   33.275895]  [<ffffffff81082e40>] ? rescuer_thread+0x2e0/0x2e0
> >   [   33.275898]  [<ffffffff81088121>] ? kthread+0xc1/0xe0
> >   [   33.275901]  [<ffffffff81088060>] ?
> >   kthread_create_on_node+0x190/0x190
> >   [   33.275904]  [<ffffffff8153365f>] ? ret_from_fork+0x3f/0x70
> >   [   33.275907]  [<ffffffff81088060>] ?
> >   kthread_create_on_node+0x190/0x190
> >   [   33.275908] ---[ end trace e1c3eb5e163b3520 ]---
> >   [   33.560558] PM: suspend of devices complete after 423.034 msecs
> >   [   33.577985] PM: late suspend of devices complete after 17.589 msecs
> >   [   33.579036] xhci_hcd 0000:00:14.0: System wakeup enabled by ACPI
> >   [   33.594059] PM: noirq suspend of devices complete after 16.226 msecs
> >   [   33.594498] ACPI: Preparing to enter system sleep state S3
> >   [   33.595066] ACPI : EC: EC stopped
> >   ...
> > 
> > -- 
> > - Jeremiah Mahler
> 
> I bisected the kernel and found that the following patch introduced the
> bug.
> 
>   From b47161858ba13c9c7e03333132230d66e008dd55 Mon Sep 17 00:00:00 2001
>   From: Chris Wilson <chris@chris-wilson.co.uk>
>   Date: Mon, 27 Apr 2015 13:41:17 +0100
>   Subject: [PATCH] drm/i915: Implement inter-engine read-read optimisations
>   MIME-Version: 1.0
>   Content-Type: text/plain; charset=UTF-8
>   Content-Transfer-Encoding: 8bit
>   
>   Currently, we only track the last request globally across all engines.
>   This prevents us from issuing concurrent read requests on e.g. the RCS
>   and BCS engines (or more likely the render and media engines). Without
>   semaphores, we incur costly stalls as we synchronise between rings -
>   greatly impacting the current performance of Broadwell versus Haswell in
>   certain workloads (like video decode). With the introduction of
>   reference counted requests, it is much easier to track the last request
>   per ring, as well as the last global write request so that we can
>   optimise inter-engine read read requests (as well as better optimise
>   certain CPU waits).
>   
>   v2: Fix inverted readonly condition for nonblocking waits.
>   v3: Handle non-continguous engine array after waits
>   v4: Rebase, tidy, rewrite ring list debugging
>   v5: Use obj->active as a bitfield, it looks cool
>   v6: Micro-optimise, mostly involving moving code around
>   v7: Fix retire-requests-upto for execlists (and multiple rq->ringbuf)
>   v8: Rebase
>   v9: Refactor i915_gem_object_sync() to allow the compiler to better
>   optimise it.
>   
>   Benchmark: igt/gem_read_read_speed
>   hsw:gt3e (with semaphores):
>   Before: Time to read-read 1024k:		275.794µs
>   After:  Time to read-read 1024k:		123.260µs
>   
>   hsw:gt3e (w/o semaphores):
>   Before: Time to read-read 1024k:		230.433µs
>   After:  Time to read-read 1024k:		124.593µs
>   
>   bdw-u (w/o semaphores):             Before          After
>   Time to read-read 1x1:            26.274µs       10.350µs
>   Time to read-read 128x128:        40.097µs       21.366µs
>   Time to read-read 256x256:        77.087µs       42.608µs
>   Time to read-read 512x512:       281.999µs      181.155µs
>   Time to read-read 1024x1024:    1196.141µs     1118.223µs
>   Time to read-read 2048x2048:    5639.072µs     5225.837µs
>   Time to read-read 4096x4096:   22401.662µs    21137.067µs
>   Time to read-read 8192x8192:   89617.735µs    85637.681µs
>   
>   Testcase: igt/gem_concurrent_blit (read-read and friends)
>   Cc: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>
>   Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>   Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>   Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> [v8]
>   [danvet: s/\<rq\>/req/g]
>   Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>   ---
>    drivers/gpu/drm/i915/i915_debugfs.c     |  16 +-
>    drivers/gpu/drm/i915/i915_drv.h         |  19 +-
>    drivers/gpu/drm/i915/i915_gem.c         | 540 ++++++++++++++++++++------------
>    drivers/gpu/drm/i915/i915_gem_context.c |   2 -
>    drivers/gpu/drm/i915/i915_gem_debug.c   |  92 ++----
>    drivers/gpu/drm/i915/i915_gpu_error.c   |  19 +-
>    drivers/gpu/drm/i915/intel_display.c    |   6 +-
>    drivers/gpu/drm/i915/intel_lrc.c        |  19 +-
>    drivers/gpu/drm/i915/intel_overlay.c    |   2 -
>    drivers/gpu/drm/i915/intel_ringbuffer.c |  26 +-
>    10 files changed, 416 insertions(+), 325 deletions(-)
>   ...
> 
> -- 
> - Jeremiah Mahler
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Intel-gfx] [BUG, bisect] Re: drm/i915: WARN_ON(dev_priv->mm.busy)
  2015-06-15  6:57   ` [Intel-gfx] " Daniel Vetter
@ 2015-06-15  8:25     ` Jeremiah Mahler
  2015-06-15  8:51       ` Ville Syrjälä
  0 siblings, 1 reply; 8+ messages in thread
From: Jeremiah Mahler @ 2015-06-15  8:25 UTC (permalink / raw)
  To: linux-kernel, Daniel Vetter, Jani Nikula, David Airlie,
	intel-gfx, dri-devel

Daniel,

On Mon, Jun 15, 2015 at 08:57:47AM +0200, Daniel Vetter wrote:
> Can you please retest with
> 
> commit 0aedb1626566efd72b369c01992ee7413c82a0c5
> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Date:   Thu May 28 18:32:36 2015 +0300
> 
>     drm/i915: Don't skip request retirement if the active list is empty
> 
> Thanks, Daniel
> 

The bug is still present with that patch applied.  And it is still
present up to linux-next 20150611.

-- 
- Jeremiah Mahler

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Intel-gfx] [BUG, bisect] Re: drm/i915: WARN_ON(dev_priv->mm.busy)
  2015-06-15  8:25     ` Jeremiah Mahler
@ 2015-06-15  8:51       ` Ville Syrjälä
  2015-06-15  9:06         ` Jani Nikula
  2015-06-15 11:40         ` Jani Nikula
  0 siblings, 2 replies; 8+ messages in thread
From: Ville Syrjälä @ 2015-06-15  8:51 UTC (permalink / raw)
  To: Jeremiah Mahler, linux-kernel, Daniel Vetter, Jani Nikula,
	David Airlie, intel-gfx, dri-devel

On Mon, Jun 15, 2015 at 01:25:38AM -0700, Jeremiah Mahler wrote:
> Daniel,
> 
> On Mon, Jun 15, 2015 at 08:57:47AM +0200, Daniel Vetter wrote:
> > Can you please retest with
> > 
> > commit 0aedb1626566efd72b369c01992ee7413c82a0c5
> > Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Date:   Thu May 28 18:32:36 2015 +0300
> > 
> >     drm/i915: Don't skip request retirement if the active list is empty
> > 
> > Thanks, Daniel
> > 
> 
> The bug is still present with that patch applied.  And it is still
> present up to linux-next 20150611.

The patch was misapplied, so what's in the tree at the moment isn't what
I sent to the list.

-- 
Ville Syrjälä
Intel OTC

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Intel-gfx] [BUG, bisect] Re: drm/i915: WARN_ON(dev_priv->mm.busy)
  2015-06-15  8:51       ` Ville Syrjälä
@ 2015-06-15  9:06         ` Jani Nikula
  2015-06-15 11:40         ` Jani Nikula
  1 sibling, 0 replies; 8+ messages in thread
From: Jani Nikula @ 2015-06-15  9:06 UTC (permalink / raw)
  To: Ville Syrjälä,
	Jeremiah Mahler, linux-kernel, Daniel Vetter, David Airlie,
	intel-gfx, dri-devel

On Mon, 15 Jun 2015, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Mon, Jun 15, 2015 at 01:25:38AM -0700, Jeremiah Mahler wrote:
>> Daniel,
>> 
>> On Mon, Jun 15, 2015 at 08:57:47AM +0200, Daniel Vetter wrote:
>> > Can you please retest with
>> > 
>> > commit 0aedb1626566efd72b369c01992ee7413c82a0c5
>> > Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> > Date:   Thu May 28 18:32:36 2015 +0300
>> > 
>> >     drm/i915: Don't skip request retirement if the active list is empty
>> > 
>> > Thanks, Daniel
>> > 
>> 
>> The bug is still present with that patch applied.  And it is still
>> present up to linux-next 20150611.
>
> The patch was misapplied, so what's in the tree at the moment isn't what
> I sent to the list.

Auch, my bad.

So we should

1) revert

commit 0aedb1626566efd72b369c01992ee7413c82a0c5
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Thu May 28 18:32:36 2015 +0300

    drm/i915: Don't skip request retirement if the active list is empty

in v4.1

and

2) reapply http://patchwork.freedesktop.org/patch/50659 to
drm-intel-next-fixes for v4.2.

Is that right?

BR,
Jani.


>
> -- 
> Ville Syrjälä
> Intel OTC

-- 
Jani Nikula, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Intel-gfx] [BUG, bisect] Re: drm/i915: WARN_ON(dev_priv->mm.busy)
  2015-06-15  8:51       ` Ville Syrjälä
  2015-06-15  9:06         ` Jani Nikula
@ 2015-06-15 11:40         ` Jani Nikula
  2015-06-18  3:30           ` Jeremiah Mahler
  1 sibling, 1 reply; 8+ messages in thread
From: Jani Nikula @ 2015-06-15 11:40 UTC (permalink / raw)
  To: Ville Syrjälä,
	Jeremiah Mahler, linux-kernel, Daniel Vetter, David Airlie,
	intel-gfx, dri-devel

On Mon, 15 Jun 2015, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Mon, Jun 15, 2015 at 01:25:38AM -0700, Jeremiah Mahler wrote:
>> Daniel,
>> 
>> On Mon, Jun 15, 2015 at 08:57:47AM +0200, Daniel Vetter wrote:
>> > Can you please retest with
>> > 
>> > commit 0aedb1626566efd72b369c01992ee7413c82a0c5
>> > Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> > Date:   Thu May 28 18:32:36 2015 +0300
>> > 
>> >     drm/i915: Don't skip request retirement if the active list is empty
>> > 
>> > Thanks, Daniel
>> > 
>> 
>> The bug is still present with that patch applied.  And it is still
>> present up to linux-next 20150611.
>
> The patch was misapplied, so what's in the tree at the moment isn't what
> I sent to the list.

This should be rectified in current drm-intel-nightly branch of
[1]. Jeremiah, please give that a try.

BR,
Jani.


[1] http://cgit.freedesktop.org/drm-intel


>
> -- 
> Ville Syrjälä
> Intel OTC

-- 
Jani Nikula, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Intel-gfx] [BUG, bisect] Re: drm/i915: WARN_ON(dev_priv->mm.busy)
  2015-06-15 11:40         ` Jani Nikula
@ 2015-06-18  3:30           ` Jeremiah Mahler
  0 siblings, 0 replies; 8+ messages in thread
From: Jeremiah Mahler @ 2015-06-18  3:30 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Ville Syrjälä,
	linux-kernel, Daniel Vetter, David Airlie, intel-gfx, dri-devel

Jani,

On Mon, Jun 15, 2015 at 02:40:42PM +0300, Jani Nikula wrote:
> On Mon, 15 Jun 2015, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> > On Mon, Jun 15, 2015 at 01:25:38AM -0700, Jeremiah Mahler wrote:
> >> Daniel,
> >> 
> >> On Mon, Jun 15, 2015 at 08:57:47AM +0200, Daniel Vetter wrote:
> >> > Can you please retest with
> >> > 
> >> > commit 0aedb1626566efd72b369c01992ee7413c82a0c5
> >> > Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >> > Date:   Thu May 28 18:32:36 2015 +0300
> >> > 
> >> >     drm/i915: Don't skip request retirement if the active list is empty
> >> > 
> >> > Thanks, Daniel
> >> > 
> >> 
> >> The bug is still present with that patch applied.  And it is still
> >> present up to linux-next 20150611.
> >
> > The patch was misapplied, so what's in the tree at the moment isn't what
> > I sent to the list.
> 
> This should be rectified in current drm-intel-nightly branch of
> [1]. Jeremiah, please give that a try.
> 
> BR,
> Jani.
> 
> 
> [1] http://cgit.freedesktop.org/drm-intel
> 
> 
> >
> > -- 
> > Ville Syrjälä
> > Intel OTC
> 
> -- 
> Jani Nikula, Intel Open Source Technology Center

I tested drm-intel-nightly and all the warnings appear to be resolved
in there.  So when these get to -next it should be good.

-- 
- Jeremiah Mahler

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-06-18  3:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-07  3:09 drm/i915: WARN_ON(dev_priv->mm.busy) Jeremiah Mahler
2015-06-08  5:56 ` [BUG, bisect] " Jeremiah Mahler
2015-06-15  6:57   ` [Intel-gfx] " Daniel Vetter
2015-06-15  8:25     ` Jeremiah Mahler
2015-06-15  8:51       ` Ville Syrjälä
2015-06-15  9:06         ` Jani Nikula
2015-06-15 11:40         ` Jani Nikula
2015-06-18  3:30           ` Jeremiah Mahler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).