All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mika Kuoppala <mika.kuoppala@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: Leave the aliasing-ppgtt size alone
Date: Thu, 07 Nov 2019 10:32:47 +0200	[thread overview]
Message-ID: <877e4cnl1s.fsf@gaia.fi.intel.com> (raw)
In-Reply-To: <20191106221223.7437-1-chris@chris-wilson.co.uk>

Chris Wilson <chris@chris-wilson.co.uk> writes:

> The hidden aliasing-ppgtt's size is never revealed, as we only inspect
> the front GTT when engaged. However, we were "fixing" the hidden ppgtt
> to match, with the net result that we ended up leaking the unused
> portion (on Braswell were we preallocated the entire range).

On here I think that the comment is a bit misleading. We preallocate
the pdps upfront, the va_ranges that the aliasing init does matches
in size.

As there is two types of 'preallocation' at play in here,
the commit message should be amended to explicitly state that the top
pdps leak.

Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>

>
> [   26.025364] DMA-API: pci 0000:00:02.0: device driver has pending DMA allocations while released from device [count=2]
> [   26.025364] One of leaked entries details: [device address=0x0000000230778000] [size=4096 bytes] [mapped with DMA_BIDIRECTIONAL] [mapped as single]
> [   26.025683] WARNING: CPU: 0 PID: 415 at kernel/dma/debug.c:894 dma_debug_device_change+0x1a4/0x1f0
> [   26.025905] Modules linked in: i915(E-) intel_powerclamp(E) nls_ascii(E) nls_cp437(E) crct10dif_pclmul(E) crc32_pclmul(E) vfat(E) crc32c_intel(E) fat(E) ghash_clmulni_intel(E) prime_numbers(E) intel_gtt(E) i2c_algo_bit(E) efi_pstore(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) fb_sys_fops(E) evdev(E) drm(E) aesni_intel(E) glue_helper(E) crypto_simd(E) cryptd(E) intel_cstate(E) sg(E) efivars(E) pcspkr(E) video(E) button(E) efivarfs(E) ip_tables(E) x_tables(E) autofs4(E) sd_mod(E) lpc_ich(E) ahci(E) mfd_core(E) i2c_i801(E) libahci(E) i2c_designware_pci(E) i2c_designware_core(E)
> [   26.026613] CPU: 0 PID: 415 Comm: rmmod Tainted: G            E     5.4.0-rc6+ #25
> [   26.026837] Hardware name:  /, BIOS PYBSWCEL.86A.0027.2015.0507.1758 05/07/2015
> [   26.027080] RIP: 0010:dma_debug_device_change+0x1a4/0x1f0
> [   26.027319] Code: 89 54 24 08 e8 ad 60 62 00 48 8b 54 24 08 48 89 c6 41 57 4d 89 e9 49 89 d8 44 89 f1 41 54 48 c7 c7 e0 61 06 82 e8 c1 aa f5 ff <0f> 0b 5a 59 48 83 3c 24 00 0f 85 97 26 00 00 8b 05 77 47 92 01 85
> [   26.027600] RSP: 0018:ffff888228d2fcc8 EFLAGS: 00010282
> [   26.027831] RAX: 0000000000000000 RBX: 0000000230778000 RCX: 0000000000000000
> [   26.028053] RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffffed10451a5f8f
> [   26.028279] RBP: ffff88823480c0b0 R08: 0000000000000001 R09: ffffed1046e83eb1
> [   26.028500] R10: ffffed1046e83eb0 R11: ffff88823741f587 R12: ffffffff82067340
> [   26.028725] R13: 0000000000001000 R14: 0000000000000002 R15: ffffffff82067480
> [   26.028952] FS:  00007fdf3ed174c0(0000) GS:ffff888237400000(0000) knlGS:0000000000000000
> [   26.029185] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   26.029405] CR2: 000055e211109030 CR3: 0000000230139000 CR4: 00000000001006f0
> [   26.029622] Call Trace:
> [   26.029846]  notifier_call_chain+0x67/0xa0
> [   26.030076]  blocking_notifier_call_chain+0x5a/0x80
> [   26.030305]  device_release_driver_internal+0x20d/0x260
> [   26.030535]  driver_detach+0x7b/0xe1
> [   26.030761]  bus_remove_driver+0x8c/0x153
> [   26.030993]  pci_unregister_driver+0x2d/0xf0
> [   26.032603]  i915_exit+0x16/0x1c [i915]
>
> Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_gem_gtt.c | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index 88179202c556..6239a9adbf14 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -2609,8 +2609,6 @@ static int init_aliasing_ppgtt(struct i915_ggtt *ggtt)
>  	GEM_BUG_ON(ggtt->vm.vma_ops.unbind_vma != ggtt_unbind_vma);
>  	ggtt->vm.vma_ops.unbind_vma = aliasing_gtt_unbind_vma;
>  
> -	ppgtt->vm.total = ggtt->vm.total;
> -
>  	return 0;
>  
>  err_ppgtt:
> -- 
> 2.24.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Mika Kuoppala <mika.kuoppala@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH] drm/i915: Leave the aliasing-ppgtt size alone
Date: Thu, 07 Nov 2019 10:32:47 +0200	[thread overview]
Message-ID: <877e4cnl1s.fsf@gaia.fi.intel.com> (raw)
Message-ID: <20191107083247.g38miA5st0QXXahWEe8g1fvyhY8DXAFZrJCQi3x_4No@z> (raw)
In-Reply-To: <20191106221223.7437-1-chris@chris-wilson.co.uk>

Chris Wilson <chris@chris-wilson.co.uk> writes:

> The hidden aliasing-ppgtt's size is never revealed, as we only inspect
> the front GTT when engaged. However, we were "fixing" the hidden ppgtt
> to match, with the net result that we ended up leaking the unused
> portion (on Braswell were we preallocated the entire range).

On here I think that the comment is a bit misleading. We preallocate
the pdps upfront, the va_ranges that the aliasing init does matches
in size.

As there is two types of 'preallocation' at play in here,
the commit message should be amended to explicitly state that the top
pdps leak.

Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>

>
> [   26.025364] DMA-API: pci 0000:00:02.0: device driver has pending DMA allocations while released from device [count=2]
> [   26.025364] One of leaked entries details: [device address=0x0000000230778000] [size=4096 bytes] [mapped with DMA_BIDIRECTIONAL] [mapped as single]
> [   26.025683] WARNING: CPU: 0 PID: 415 at kernel/dma/debug.c:894 dma_debug_device_change+0x1a4/0x1f0
> [   26.025905] Modules linked in: i915(E-) intel_powerclamp(E) nls_ascii(E) nls_cp437(E) crct10dif_pclmul(E) crc32_pclmul(E) vfat(E) crc32c_intel(E) fat(E) ghash_clmulni_intel(E) prime_numbers(E) intel_gtt(E) i2c_algo_bit(E) efi_pstore(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) fb_sys_fops(E) evdev(E) drm(E) aesni_intel(E) glue_helper(E) crypto_simd(E) cryptd(E) intel_cstate(E) sg(E) efivars(E) pcspkr(E) video(E) button(E) efivarfs(E) ip_tables(E) x_tables(E) autofs4(E) sd_mod(E) lpc_ich(E) ahci(E) mfd_core(E) i2c_i801(E) libahci(E) i2c_designware_pci(E) i2c_designware_core(E)
> [   26.026613] CPU: 0 PID: 415 Comm: rmmod Tainted: G            E     5.4.0-rc6+ #25
> [   26.026837] Hardware name:  /, BIOS PYBSWCEL.86A.0027.2015.0507.1758 05/07/2015
> [   26.027080] RIP: 0010:dma_debug_device_change+0x1a4/0x1f0
> [   26.027319] Code: 89 54 24 08 e8 ad 60 62 00 48 8b 54 24 08 48 89 c6 41 57 4d 89 e9 49 89 d8 44 89 f1 41 54 48 c7 c7 e0 61 06 82 e8 c1 aa f5 ff <0f> 0b 5a 59 48 83 3c 24 00 0f 85 97 26 00 00 8b 05 77 47 92 01 85
> [   26.027600] RSP: 0018:ffff888228d2fcc8 EFLAGS: 00010282
> [   26.027831] RAX: 0000000000000000 RBX: 0000000230778000 RCX: 0000000000000000
> [   26.028053] RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffffed10451a5f8f
> [   26.028279] RBP: ffff88823480c0b0 R08: 0000000000000001 R09: ffffed1046e83eb1
> [   26.028500] R10: ffffed1046e83eb0 R11: ffff88823741f587 R12: ffffffff82067340
> [   26.028725] R13: 0000000000001000 R14: 0000000000000002 R15: ffffffff82067480
> [   26.028952] FS:  00007fdf3ed174c0(0000) GS:ffff888237400000(0000) knlGS:0000000000000000
> [   26.029185] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   26.029405] CR2: 000055e211109030 CR3: 0000000230139000 CR4: 00000000001006f0
> [   26.029622] Call Trace:
> [   26.029846]  notifier_call_chain+0x67/0xa0
> [   26.030076]  blocking_notifier_call_chain+0x5a/0x80
> [   26.030305]  device_release_driver_internal+0x20d/0x260
> [   26.030535]  driver_detach+0x7b/0xe1
> [   26.030761]  bus_remove_driver+0x8c/0x153
> [   26.030993]  pci_unregister_driver+0x2d/0xf0
> [   26.032603]  i915_exit+0x16/0x1c [i915]
>
> Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_gem_gtt.c | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index 88179202c556..6239a9adbf14 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -2609,8 +2609,6 @@ static int init_aliasing_ppgtt(struct i915_ggtt *ggtt)
>  	GEM_BUG_ON(ggtt->vm.vma_ops.unbind_vma != ggtt_unbind_vma);
>  	ggtt->vm.vma_ops.unbind_vma = aliasing_gtt_unbind_vma;
>  
> -	ppgtt->vm.total = ggtt->vm.total;
> -
>  	return 0;
>  
>  err_ppgtt:
> -- 
> 2.24.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2019-11-07  8:32 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-06 22:12 [PATCH] drm/i915: Leave the aliasing-ppgtt size alone Chris Wilson
2019-11-06 22:12 ` [Intel-gfx] " Chris Wilson
2019-11-07  0:25 ` ✓ Fi.CI.BAT: success for " Patchwork
2019-11-07  0:25   ` [Intel-gfx] " Patchwork
2019-11-07  8:32 ` Mika Kuoppala [this message]
2019-11-07  8:32   ` [Intel-gfx] [PATCH] " Mika Kuoppala
2019-11-07  8:35   ` Chris Wilson
2019-11-07  8:35     ` [Intel-gfx] " Chris Wilson
2019-11-08  2:47 ` ✓ Fi.CI.IGT: success for " Patchwork
2019-11-08  2:47   ` [Intel-gfx] " 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=877e4cnl1s.fsf@gaia.fi.intel.com \
    --to=mika.kuoppala@linux.intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.org \
    /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.