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
next prev 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.