Skip to contentSkip to conversation

Panic in gen8_ggtt_insert_entries() with v6.5

REGRESSION Oleksandr Natalenko 5 participants 15 messages Sep 2, 2023 – Sep 29, 2023

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

Hello.

Since v6.5 kernel the following HW:

* Lenovo T460s laptop with Skylake GT2 [HD Graphics 520] (rev 07)
* Lenovo T490s laptop with WhiskeyLake-U GT2 [UHD Graphics 620] (rev 02)

is affected by the following crash once KDE on either X11 or Wayland is started:

i915 0000:00:02.0: enabling device (0006 -> 0007)
i915 0000:00:02.0: vgaarb: deactivate vga console
i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=mem i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/skl_dmc_ver1_27.bin (v1.27) [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 1
fbcon: i915drmfb (fb0) is primary device
i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
…
memfd_create() without MFD_EXEC nor MFD_NOEXEC_SEAL, pid=674 'kwin_wayland'

BUG: unable to handle page fault for address: ffffb422c2800000
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 100000067 P4D 100000067 PUD 1001df067 PMD 10d1cf067 PTE 0
Oops: 0002 [#1] PREEMPT SMP PTI
CPU: 1 PID: 674 Comm: kwin_wayland Not tainted 6.5.0-pf1 #1 a6c58ff41a7b8bb16a19f5af9e0e9bce20f9f38d
Hardware name: LENOVO 20FAS2BM0F/20FAS2BM0F, BIOS N1CET90W (1.58 ) 11/15/2022
RIP: 0010:gen8_ggtt_insert_entries+0xc2/0x140 [i915]
…
Call Trace:
 <TASK>
 intel_ggtt_bind_vma+0x3e/0x60 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_vma_bind+0x216/0x4b0 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_vma_pin_ww+0x405/0xa80 [i915 a83fdc6539431252dba13053979a8b680af86836]
 __i915_ggtt_pin+0x5a/0x130 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_ggtt_pin+0x78/0x1f0 [i915 a83fdc6539431252dba13053979a8b680af86836]
 __intel_context_do_pin_ww+0x312/0x700 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_gem_do_execbuffer+0xfc6/0x2720 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_gem_execbuffer2_ioctl+0x111/0x260 [i915 a83fdc6539431252dba13053979a8b680af86836]
 drm_ioctl_kernel+0xca/0x170
 drm_ioctl+0x30f/0x580
 __x64_sys_ioctl+0x94/0xd0
 do_syscall_64+0x5d/0x90
 entry_SYSCALL_64_after_hwframe+0x6e/0xd8

…
note: kwin_wayland[674] exited with irqs disabled

RIP seems to translate into this:

$ scripts/faddr2line drivers/gpu/drm/i915/gt/intel_ggtt.o gen8_ggtt_insert_entries+0xc2
gen8_ggtt_insert_entries+0xc2/0x150:
writeq at /home/pf/work/devel/own/pf-kernel/linux/./arch/x86/include/asm/io.h:99
(inlined by) gen8_set_pte at /home/pf/work/devel/own/pf-kernel/linux/drivers/gpu/drm/i915/gt/intel_ggtt.c:257
(inlined by) gen8_ggtt_insert_entries at /home/pf/work/devel/own/pf-kernel/linux/drivers/gpu/drm/i915/gt/intel_ggtt.c:300

Probably, recent PTE-related changes are relevant:

$ git log --oneline --no-merges v6.4..v6.5 -- drivers/gpu/drm/i915/gt/intel_ggtt.c
3532e75dfadcf drm/i915/uc: perma-pin firmwares
4722e2ebe6f21 drm/i915/gt: Fix second parameter type of pre-gen8 pte_encode callbacks
9275277d53248 drm/i915: use pat_index instead of cache_level
5e352e32aec23 drm/i915: preparation for using PAT index
341ad0e8e2542 drm/i915/mtl: Add PTE encode function

Also note Lenovo T14s laptop with TigerLake-LP GT2 [Iris Xe Graphics] (rev 01) is not affected by this issue.

Full dmesg with DRM debug enabled is available in the bugreport I've reported earlier [1]. I'm sending this email to make the issue more visible.

Please help.

Thanks.

[1] https://gitlab.freedesktop.org/drm/intel/-/issues/9256

Signature · 1 line
Oleksandr Natalenko (post-factum)
#1 lore raw

/cc Matthew Wilcox and Andrew Morton because of folios (please see below).

Quoted 64 lines · On sobota 2. září 2023 18:14:12 CEST Oleksandr Natalenko wrote:

Hello.

Since v6.5 kernel the following HW:

* Lenovo T460s laptop with Skylake GT2 [HD Graphics 520] (rev 07)
* Lenovo T490s laptop with WhiskeyLake-U GT2 [UHD Graphics 620] (rev 02)

is affected by the following crash once KDE on either X11 or Wayland is started:

i915 0000:00:02.0: enabling device (0006 -> 0007)
i915 0000:00:02.0: vgaarb: deactivate vga console
i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=mem i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/skl_dmc_ver1_27.bin (v1.27) [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 1
fbcon: i915drmfb (fb0) is primary device
i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
…
memfd_create() without MFD_EXEC nor MFD_NOEXEC_SEAL, pid=674 'kwin_wayland'

BUG: unable to handle page fault for address: ffffb422c2800000
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 100000067 P4D 100000067 PUD 1001df067 PMD 10d1cf067 PTE 0
Oops: 0002 [#1] PREEMPT SMP PTI
CPU: 1 PID: 674 Comm: kwin_wayland Not tainted 6.5.0-pf1 #1 a6c58ff41a7b8bb16a19f5af9e0e9bce20f9f38d
Hardware name: LENOVO 20FAS2BM0F/20FAS2BM0F, BIOS N1CET90W (1.58 ) 11/15/2022
RIP: 0010:gen8_ggtt_insert_entries+0xc2/0x140 [i915]
…
Call Trace:
 <TASK>
 intel_ggtt_bind_vma+0x3e/0x60 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_vma_bind+0x216/0x4b0 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_vma_pin_ww+0x405/0xa80 [i915 a83fdc6539431252dba13053979a8b680af86836]
 __i915_ggtt_pin+0x5a/0x130 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_ggtt_pin+0x78/0x1f0 [i915 a83fdc6539431252dba13053979a8b680af86836]
 __intel_context_do_pin_ww+0x312/0x700 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_gem_do_execbuffer+0xfc6/0x2720 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_gem_execbuffer2_ioctl+0x111/0x260 [i915 a83fdc6539431252dba13053979a8b680af86836]
 drm_ioctl_kernel+0xca/0x170
 drm_ioctl+0x30f/0x580
 __x64_sys_ioctl+0x94/0xd0
 do_syscall_64+0x5d/0x90
 entry_SYSCALL_64_after_hwframe+0x6e/0xd8

…
note: kwin_wayland[674] exited with irqs disabled

RIP seems to translate into this:

$ scripts/faddr2line drivers/gpu/drm/i915/gt/intel_ggtt.o gen8_ggtt_insert_entries+0xc2
gen8_ggtt_insert_entries+0xc2/0x150:
writeq at /home/pf/work/devel/own/pf-kernel/linux/./arch/x86/include/asm/io.h:99
(inlined by) gen8_set_pte at /home/pf/work/devel/own/pf-kernel/linux/drivers/gpu/drm/i915/gt/intel_ggtt.c:257
(inlined by) gen8_ggtt_insert_entries at /home/pf/work/devel/own/pf-kernel/linux/drivers/gpu/drm/i915/gt/intel_ggtt.c:300

Probably, recent PTE-related changes are relevant:

$ git log --oneline --no-merges v6.4..v6.5 -- drivers/gpu/drm/i915/gt/intel_ggtt.c
3532e75dfadcf drm/i915/uc: perma-pin firmwares
4722e2ebe6f21 drm/i915/gt: Fix second parameter type of pre-gen8 pte_encode callbacks
9275277d53248 drm/i915: use pat_index instead of cache_level
5e352e32aec23 drm/i915: preparation for using PAT index
341ad0e8e2542 drm/i915/mtl: Add PTE encode function

Also note Lenovo T14s laptop with TigerLake-LP GT2 [Iris Xe Graphics] (rev 01) is not affected by this issue.

Quoted 7 lines

Full dmesg with DRM debug enabled is available in the bugreport I've reported earlier [1]. I'm sending this email to make the issue more visible.

Please help.

Thanks.

[1] https://gitlab.freedesktop.org/drm/intel/-/issues/9256

Matthew,

Andrzej asked me to try to revert commits 0b62af28f249, e0b72c14d8dc and 1e0877d58b1e, and reverting those fixed the i915 crash for me. The e0b72c14d8dc and 1e0877d58b1e commits look like just prerequisites, so I assume 0b62af28f249 ("i915: convert shmem_sg_free_table() to use a folio_batch") is the culprit here.

Could you please check this?

Our conversation with Andrzej is available at drm-intel GitLab [1].

Thanks.

[1] https://gitlab.freedesktop.org/drm/intel/-/issues/9256

Signature · 1 line
Oleksandr Natalenko (post-factum)
#2 lore raw

/cc Bagas as well (see below).

Quoted 79 lines · On úterý 19. září 2023 10:26:42 CEST Oleksandr Natalenko wrote:

/cc Matthew Wilcox and Andrew Morton because of folios (please see below).

Quoted 64 lines · On sobota 2. září 2023 18:14:12 CEST Oleksandr Natalenko wrote:

Hello.

Since v6.5 kernel the following HW:

* Lenovo T460s laptop with Skylake GT2 [HD Graphics 520] (rev 07)
* Lenovo T490s laptop with WhiskeyLake-U GT2 [UHD Graphics 620] (rev 02)

is affected by the following crash once KDE on either X11 or Wayland is started:

i915 0000:00:02.0: enabling device (0006 -> 0007)
i915 0000:00:02.0: vgaarb: deactivate vga console
i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=mem i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/skl_dmc_ver1_27.bin (v1.27) [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 1
fbcon: i915drmfb (fb0) is primary device
i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
…
memfd_create() without MFD_EXEC nor MFD_NOEXEC_SEAL, pid=674 'kwin_wayland'

BUG: unable to handle page fault for address: ffffb422c2800000
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 100000067 P4D 100000067 PUD 1001df067 PMD 10d1cf067 PTE 0
Oops: 0002 [#1] PREEMPT SMP PTI
CPU: 1 PID: 674 Comm: kwin_wayland Not tainted 6.5.0-pf1 #1 a6c58ff41a7b8bb16a19f5af9e0e9bce20f9f38d
Hardware name: LENOVO 20FAS2BM0F/20FAS2BM0F, BIOS N1CET90W (1.58 ) 11/15/2022
RIP: 0010:gen8_ggtt_insert_entries+0xc2/0x140 [i915]
…
Call Trace:
 <TASK>
 intel_ggtt_bind_vma+0x3e/0x60 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_vma_bind+0x216/0x4b0 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_vma_pin_ww+0x405/0xa80 [i915 a83fdc6539431252dba13053979a8b680af86836]
 __i915_ggtt_pin+0x5a/0x130 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_ggtt_pin+0x78/0x1f0 [i915 a83fdc6539431252dba13053979a8b680af86836]
 __intel_context_do_pin_ww+0x312/0x700 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_gem_do_execbuffer+0xfc6/0x2720 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_gem_execbuffer2_ioctl+0x111/0x260 [i915 a83fdc6539431252dba13053979a8b680af86836]
 drm_ioctl_kernel+0xca/0x170
 drm_ioctl+0x30f/0x580
 __x64_sys_ioctl+0x94/0xd0
 do_syscall_64+0x5d/0x90
 entry_SYSCALL_64_after_hwframe+0x6e/0xd8

…
note: kwin_wayland[674] exited with irqs disabled

RIP seems to translate into this:

$ scripts/faddr2line drivers/gpu/drm/i915/gt/intel_ggtt.o gen8_ggtt_insert_entries+0xc2
gen8_ggtt_insert_entries+0xc2/0x150:
writeq at /home/pf/work/devel/own/pf-kernel/linux/./arch/x86/include/asm/io.h:99
(inlined by) gen8_set_pte at /home/pf/work/devel/own/pf-kernel/linux/drivers/gpu/drm/i915/gt/intel_ggtt.c:257
(inlined by) gen8_ggtt_insert_entries at /home/pf/work/devel/own/pf-kernel/linux/drivers/gpu/drm/i915/gt/intel_ggtt.c:300

Probably, recent PTE-related changes are relevant:

$ git log --oneline --no-merges v6.4..v6.5 -- drivers/gpu/drm/i915/gt/intel_ggtt.c
3532e75dfadcf drm/i915/uc: perma-pin firmwares
4722e2ebe6f21 drm/i915/gt: Fix second parameter type of pre-gen8 pte_encode callbacks
9275277d53248 drm/i915: use pat_index instead of cache_level
5e352e32aec23 drm/i915: preparation for using PAT index
341ad0e8e2542 drm/i915/mtl: Add PTE encode function

Also note Lenovo T14s laptop with TigerLake-LP GT2 [Iris Xe Graphics] (rev 01) is not affected by this issue.

Quoted 7 lines

Full dmesg with DRM debug enabled is available in the bugreport I've reported earlier [1]. I'm sending this email to make the issue more visible.

Please help.

Thanks.

[1] https://gitlab.freedesktop.org/drm/intel/-/issues/9256

Matthew,

Andrzej asked me to try to revert commits 0b62af28f249, e0b72c14d8dc and 1e0877d58b1e, and reverting those fixed the i915 crash for me. The e0b72c14d8dc and 1e0877d58b1e commits look like just prerequisites, so I assume 0b62af28f249 ("i915: convert shmem_sg_free_table() to use a folio_batch") is the culprit here.

Quoted 7 lines

Could you please check this?

Our conversation with Andrzej is available at drm-intel GitLab [1].

Thanks.

[1] https://gitlab.freedesktop.org/drm/intel/-/issues/9256

Bagas,

would you mind adding this to the regression tracker please?

Thanks.

Signature · 1 line
Oleksandr Natalenko (post-factum)
#3 lore raw
Quoted 86 lines · Oleksandr Natalenko

/cc Bagas as well (see below).

Quoted 83 lines · On úterý 19. září 2023 10:26:42 CEST Oleksandr Natalenko wrote:

/cc Matthew Wilcox and Andrew Morton because of folios (please see below).

Quoted 64 lines · On sobota 2. září 2023 18:14:12 CEST Oleksandr Natalenko wrote:

Hello.

Since v6.5 kernel the following HW:

* Lenovo T460s laptop with Skylake GT2 [HD Graphics 520] (rev 07)
* Lenovo T490s laptop with WhiskeyLake-U GT2 [UHD Graphics 620] (rev 02)

is affected by the following crash once KDE on either X11 or Wayland is started:

i915 0000:00:02.0: enabling device (0006 -> 0007)
i915 0000:00:02.0: vgaarb: deactivate vga console
i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=mem i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/skl_dmc_ver1_27.bin (v1.27) [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 1
fbcon: i915drmfb (fb0) is primary device
i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
…
memfd_create() without MFD_EXEC nor MFD_NOEXEC_SEAL, pid=674 'kwin_wayland'

BUG: unable to handle page fault for address: ffffb422c2800000
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 100000067 P4D 100000067 PUD 1001df067 PMD 10d1cf067 PTE 0
Oops: 0002 [#1] PREEMPT SMP PTI
CPU: 1 PID: 674 Comm: kwin_wayland Not tainted 6.5.0-pf1 #1 a6c58ff41a7b8bb16a19f5af9e0e9bce20f9f38d
Hardware name: LENOVO 20FAS2BM0F/20FAS2BM0F, BIOS N1CET90W (1.58 ) 11/15/2022
RIP: 0010:gen8_ggtt_insert_entries+0xc2/0x140 [i915]
…
Call Trace:
 <TASK>
 intel_ggtt_bind_vma+0x3e/0x60 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_vma_bind+0x216/0x4b0 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_vma_pin_ww+0x405/0xa80 [i915 a83fdc6539431252dba13053979a8b680af86836]
 __i915_ggtt_pin+0x5a/0x130 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_ggtt_pin+0x78/0x1f0 [i915 a83fdc6539431252dba13053979a8b680af86836]
 __intel_context_do_pin_ww+0x312/0x700 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_gem_do_execbuffer+0xfc6/0x2720 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_gem_execbuffer2_ioctl+0x111/0x260 [i915 a83fdc6539431252dba13053979a8b680af86836]
 drm_ioctl_kernel+0xca/0x170
 drm_ioctl+0x30f/0x580
 __x64_sys_ioctl+0x94/0xd0
 do_syscall_64+0x5d/0x90
 entry_SYSCALL_64_after_hwframe+0x6e/0xd8

…
note: kwin_wayland[674] exited with irqs disabled

RIP seems to translate into this:

$ scripts/faddr2line drivers/gpu/drm/i915/gt/intel_ggtt.o gen8_ggtt_insert_entries+0xc2
gen8_ggtt_insert_entries+0xc2/0x150:
writeq at /home/pf/work/devel/own/pf-kernel/linux/./arch/x86/include/asm/io.h:99
(inlined by) gen8_set_pte at /home/pf/work/devel/own/pf-kernel/linux/drivers/gpu/drm/i915/gt/intel_ggtt.c:257
(inlined by) gen8_ggtt_insert_entries at /home/pf/work/devel/own/pf-kernel/linux/drivers/gpu/drm/i915/gt/intel_ggtt.c:300

Probably, recent PTE-related changes are relevant:

$ git log --oneline --no-merges v6.4..v6.5 -- drivers/gpu/drm/i915/gt/intel_ggtt.c
3532e75dfadcf drm/i915/uc: perma-pin firmwares
4722e2ebe6f21 drm/i915/gt: Fix second parameter type of pre-gen8 pte_encode callbacks
9275277d53248 drm/i915: use pat_index instead of cache_level
5e352e32aec23 drm/i915: preparation for using PAT index
341ad0e8e2542 drm/i915/mtl: Add PTE encode function

Also note Lenovo T14s laptop with TigerLake-LP GT2 [Iris Xe Graphics] (rev 01) is not affected by this issue.

Quoted 7 lines

Full dmesg with DRM debug enabled is available in the bugreport I've reported earlier [1]. I'm sending this email to make the issue more visible.

Please help.

Thanks.

[1] https://gitlab.freedesktop.org/drm/intel/-/issues/9256

Matthew,

Andrzej asked me to try to revert commits 0b62af28f249, e0b72c14d8dc and 1e0877d58b1e, and reverting those fixed the i915 crash for me. The e0b72c14d8dc and 1e0877d58b1e commits look like just prerequisites, so I assume 0b62af28f249 ("i915: convert shmem_sg_free_table() to use a folio_batch") is the culprit here.

Could you please check this?

Our conversation with Andrzej is available at drm-intel GitLab [1].

Quoted 8 lines
Quoted 3 lines

Thanks.

[1] https://gitlab.freedesktop.org/drm/intel/-/issues/9256

Bagas,

would you mind adding this to the regression tracker please?

Will add shortly, thanks!

Signature · 1 line
An old man doll... just what I always wanted! - Clara
#4 lore raw
Quoted 9 lines · On úterý 19. září 2023 16:03:03 CEST Bagas Sanjaya wrote:

…

Quoted 6 lines
Quoted 1 line

[1] https://gitlab.freedesktop.org/drm/intel/-/issues/9256

Bagas,

would you mind adding this to the regression tracker please?

Will add shortly, thanks!

Thank you.

Please consider correcting the title though. Lenovo T14s (Tiger Lake) is not affected. Affected are: Lenovo T460s (Skylake) and Lenovo T490s (WhiskeyLake)

Signature · 1 line
Oleksandr Natalenko (post-factum)
#5 lore raw
In reply to Oleksandr Natalenko
Quoted 9 lines · Oleksandr Natalenko

Andrzej asked me to try to revert commits 0b62af28f249, e0b72c14d8dc and 1e0877d58b1e, and reverting those fixed the i915 crash for me. The e0b72c14d8dc and 1e0877d58b1e commits look like just prerequisites, so I assume 0b62af28f249 ("i915: convert shmem_sg_free_table() to use a folio_batch") is the culprit here.

Could you please check this?

Our conversation with Andrzej is available at drm-intel GitLab [1].

Thanks.

[1] https://gitlab.freedesktop.org/drm/intel/-/issues/9256

Wow, that is some great debugging. Thanks for all the time & effort you and others have invested. Sorry for breaking your system.

You're almost right about the "prerequisites", but it's in the other direction; 0b62af28f249 is a prerequisite for the later two cleanups, so reverting all three is necessary to test 0b62af28f249.

It seems to me that you've isolated the problem to constructing overly long sg lists. I didn't realise that was going to be a problem, so that's my fault.

Could I ask you to try this patch? I'll follow up with another patch later because I think I made another assumption that may not be valid.

drivers/gpu/drm/i915/gem/i915_gem_shmem.c +7 -4
index 8f1633c3fb93..73a4a4eb29e0 100644
@@ -100,6 +100,7 @@ int shmem_sg_alloc_table(struct drm_i915_private *i915, struct sg_table *st,
 	st->nents = 0;
 	for (i = 0; i < page_count; i++) {
 		struct folio *folio;
+		unsigned long nr_pages;
 		const unsigned int shrink[] = {
 			I915_SHRINK_BOUND | I915_SHRINK_UNBOUND,
 			0,
@@ -150,6 +151,8 @@ int shmem_sg_alloc_table(struct drm_i915_private *i915, struct sg_table *st,
 			}
 		} while (1);
 
+		nr_pages = min_t(unsigned long,
+				folio_nr_pages(folio), page_count - i);
 		if (!i ||
 		    sg->length >= max_segment ||
 		    folio_pfn(folio) != next_pfn) {
@@ -157,13 +160,13 @@ int shmem_sg_alloc_table(struct drm_i915_private *i915, struct sg_table *st,
 				sg = sg_next(sg);
 
 			st->nents++;
-			sg_set_folio(sg, folio, folio_size(folio), 0);
+			sg_set_folio(sg, folio, nr_pages * PAGE_SIZE, 0);
 		} else {
 			/* XXX: could overflow? */
-			sg->length += folio_size(folio);
+			sg->length += nr_pages * PAGE_SIZE;
 		}
-		next_pfn = folio_pfn(folio) + folio_nr_pages(folio);
-		i += folio_nr_pages(folio) - 1;
+		next_pfn = folio_pfn(folio) + nr_pages;
+		i += nr_pages - 1;
 
 		/* Check that the i965g/gm workaround works. */
 		GEM_BUG_ON(gfp & __GFP_DMA32 && next_pfn >= 0x00100000UL);
#6 lore raw
Quoted 2 lines · Matthew Wilcox

Could I ask you to try this patch? I'll follow up with another patch later because I think I made another assumption that may not be valid.

Ah, no, never mind. I thought we could start in the middle of a folio, but we always start constructing the sg list from index 0 of the file, so we always start at the first page of a folio. If this patch solves your problem, then I think we're done.

author Tested-by
#7 lore raw
In reply to Matthew Wilcox

Hello.

Quoted 18 lines · On úterý 19. září 2023 17:43:40 CEST Matthew Wilcox wrote:
Quoted 9 lines · Oleksandr Natalenko

Andrzej asked me to try to revert commits 0b62af28f249, e0b72c14d8dc and 1e0877d58b1e, and reverting those fixed the i915 crash for me. The e0b72c14d8dc and 1e0877d58b1e commits look like just prerequisites, so I assume 0b62af28f249 ("i915: convert shmem_sg_free_table() to use a folio_batch") is the culprit here.

Could you please check this?

Our conversation with Andrzej is available at drm-intel GitLab [1].

Thanks.

[1] https://gitlab.freedesktop.org/drm/intel/-/issues/9256

Wow, that is some great debugging. Thanks for all the time & effort you and others have invested. Sorry for breaking your system.

You're almost right about the "prerequisites", but it's in the other direction; 0b62af28f249 is a prerequisite for the later two cleanups, so reverting all three is necessary to test 0b62af28f249.

Quoted 6 lines

It seems to me that you've isolated the problem to constructing overly long sg lists. I didn't realise that was going to be a problem, so that's my fault.

Could I ask you to try this patch? I'll follow up with another patch later because I think I made another assumption that may not be valid.

I can confirm this one fixes the issue for me on T460s laptop. Thank you!

Should you submit it, please add:

Quoted 39 lines
drivers/gpu/drm/i915/gem/i915_gem_shmem.c +7 -4
index 8f1633c3fb93..73a4a4eb29e0 100644
@@ -100,6 +100,7 @@ int shmem_sg_alloc_table(struct drm_i915_private *i915, struct sg_table *st,
 	st->nents = 0;
 	for (i = 0; i < page_count; i++) {
 		struct folio *folio;
+		unsigned long nr_pages;
 		const unsigned int shrink[] = {
 			I915_SHRINK_BOUND | I915_SHRINK_UNBOUND,
 			0,
@@ -150,6 +151,8 @@ int shmem_sg_alloc_table(struct drm_i915_private *i915, struct sg_table *st,
 			}
 		} while (1);
 
+		nr_pages = min_t(unsigned long,
+				folio_nr_pages(folio), page_count - i);
 		if (!i ||
 		    sg->length >= max_segment ||
 		    folio_pfn(folio) != next_pfn) {
@@ -157,13 +160,13 @@ int shmem_sg_alloc_table(struct drm_i915_private *i915, struct sg_table *st,
 				sg = sg_next(sg);
 
 			st->nents++;
-			sg_set_folio(sg, folio, folio_size(folio), 0);
+			sg_set_folio(sg, folio, nr_pages * PAGE_SIZE, 0);
 		} else {
 			/* XXX: could overflow? */
-			sg->length += folio_size(folio);
+			sg->length += nr_pages * PAGE_SIZE;
 		}
-		next_pfn = folio_pfn(folio) + folio_nr_pages(folio);
-		i += folio_nr_pages(folio) - 1;
+		next_pfn = folio_pfn(folio) + nr_pages;
+		i += nr_pages - 1;
 
 		/* Check that the i965g/gm workaround works. */
 		GEM_BUG_ON(gfp & __GFP_DMA32 && next_pfn >= 0x00100000UL);
Signature · 1 line
Oleksandr Natalenko (post-factum)
#8 lore raw
Quoted 1 line · Oleksandr Natalenko

I can confirm this one fixes the issue for me on T460s laptop. Thank you!

Yay!

Quoted 3 lines

Should you submit it, please add:

Fixes 0b62af28f2 ("i915: convert shmem_sg_free_table() to use a folio_batch")

Thanks for collecting all these; you're making my life really easy. One minor point is that the standard format for Fixes: is 12 characters, not 10. eg,

Documentation/process/5.Posting.rst: Fixes: 1f2e3d4c5b6a ("The first line of the commit specified by the first 12 characters of its SHA-1 ID")

I have this in my .gitconfig:

[pretty]

        fixes = Fixes: %h (\"%s\")

and in .git/config,

[core]

        abbrev = 12

I'm working on the commit message now.

#9 lore raw
In reply to Oleksandr Natalenko
Quoted 62 lines · Oleksandr Natalenko

Hello.

Since v6.5 kernel the following HW:

* Lenovo T460s laptop with Skylake GT2 [HD Graphics 520] (rev 07)
* Lenovo T490s laptop with WhiskeyLake-U GT2 [UHD Graphics 620] (rev 02)

is affected by the following crash once KDE on either X11 or Wayland is started:

i915 0000:00:02.0: enabling device (0006 -> 0007)
i915 0000:00:02.0: vgaarb: deactivate vga console
i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=mem i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/skl_dmc_ver1_27.bin (v1.27) [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 1
fbcon: i915drmfb (fb0) is primary device
i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
…
memfd_create() without MFD_EXEC nor MFD_NOEXEC_SEAL, pid=674 'kwin_wayland'

BUG: unable to handle page fault for address: ffffb422c2800000
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 100000067 P4D 100000067 PUD 1001df067 PMD 10d1cf067 PTE 0
Oops: 0002 [#1] PREEMPT SMP PTI
CPU: 1 PID: 674 Comm: kwin_wayland Not tainted 6.5.0-pf1 #1 a6c58ff41a7b8bb16a19f5af9e0e9bce20f9f38d
Hardware name: LENOVO 20FAS2BM0F/20FAS2BM0F, BIOS N1CET90W (1.58 ) 11/15/2022
RIP: 0010:gen8_ggtt_insert_entries+0xc2/0x140 [i915]
…
Call Trace:
 <TASK>
 intel_ggtt_bind_vma+0x3e/0x60 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_vma_bind+0x216/0x4b0 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_vma_pin_ww+0x405/0xa80 [i915 a83fdc6539431252dba13053979a8b680af86836]
 __i915_ggtt_pin+0x5a/0x130 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_ggtt_pin+0x78/0x1f0 [i915 a83fdc6539431252dba13053979a8b680af86836]
 __intel_context_do_pin_ww+0x312/0x700 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_gem_do_execbuffer+0xfc6/0x2720 [i915 a83fdc6539431252dba13053979a8b680af86836]
 i915_gem_execbuffer2_ioctl+0x111/0x260 [i915 a83fdc6539431252dba13053979a8b680af86836]
 drm_ioctl_kernel+0xca/0x170
 drm_ioctl+0x30f/0x580
 __x64_sys_ioctl+0x94/0xd0
 do_syscall_64+0x5d/0x90
 entry_SYSCALL_64_after_hwframe+0x6e/0xd8

…
note: kwin_wayland[674] exited with irqs disabled

RIP seems to translate into this:

$ scripts/faddr2line drivers/gpu/drm/i915/gt/intel_ggtt.o gen8_ggtt_insert_entries+0xc2
gen8_ggtt_insert_entries+0xc2/0x150:
writeq at /home/pf/work/devel/own/pf-kernel/linux/./arch/x86/include/asm/io.h:99
(inlined by) gen8_set_pte at /home/pf/work/devel/own/pf-kernel/linux/drivers/gpu/drm/i915/gt/intel_ggtt.c:257
(inlined by) gen8_ggtt_insert_entries at /home/pf/work/devel/own/pf-kernel/linux/drivers/gpu/drm/i915/gt/intel_ggtt.c:300

Probably, recent PTE-related changes are relevant:

$ git log --oneline --no-merges v6.4..v6.5 -- drivers/gpu/drm/i915/gt/intel_ggtt.c
3532e75dfadcf drm/i915/uc: perma-pin firmwares
4722e2ebe6f21 drm/i915/gt: Fix second parameter type of pre-gen8 pte_encode callbacks
9275277d53248 drm/i915: use pat_index instead of cache_level
5e352e32aec23 drm/i915: preparation for using PAT index
341ad0e8e2542 drm/i915/mtl: Add PTE encode function
Quoted 6 lines

Also note Lenovo T14s laptop with TigerLake-LP GT2 [Iris Xe Graphics] (rev 01) is not affected by this issue.

Full dmesg with DRM debug enabled is available in the bugreport I've reported earlier [1]. I'm sending this email to make the issue more visible.

[1] https://gitlab.freedesktop.org/drm/intel/-/issues/9256

Thanks for the regression report. I'm adding it to regzbot:

#regzbot ^introduced: 0b62af28f249b9
#regzbot title: gen8_ggtt_insert_entries() panic on Lenovo T14s (Tiger Lake) due to folio_batch() on shmem_sg_free_table() #regzbot link: https://gitlab.freedesktop.org/drm/intel/-/issues/9256

Signature · 1 line
An old man doll... just what I always wanted! - Clara
#10 lore raw
Quoted 10 lines · Bagas Sanjaya
Quoted 5 lines · Oleksandr Natalenko

Since v6.5 kernel the following HW:

* Lenovo T460s laptop with Skylake GT2 [HD Graphics 520] (rev 07)
* Lenovo T490s laptop with WhiskeyLake-U GT2 [UHD Graphics 620] (rev 02)

#regzbot ^introduced: 0b62af28f249b9
#regzbot title: gen8_ggtt_insert_entries() panic on Lenovo T14s (Tiger Lake) due to folio_batch() on shmem_sg_free_table() #regzbot link: https://gitlab.freedesktop.org/drm/intel/-/issues/9256

#regzbot fix: i915: Limit the length of an sg list to the requested length #regzbot ignore-activity

Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat) --
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
That page also explains what to do if mails like this annoy you.

#11 lore raw

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Panic in gen8_ggtt_insert_entries() with v6.5

In reply to Oleksandr Natalenko
== Series Details ==

== Series Details ==

Series: Panic in gen8_ggtt_insert_entries() with v6.5
URL : https://patchwork.freedesktop.org/series/123922/
State : warning

== Summary ==

Error: dim checkpatch failed
9c7e506f4584 Panic in gen8_ggtt_insert_entries() with v6.5
-:7: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?) #7:

Quoted 1 line

Andrzej asked me to try to revert commits 0b62af28f249, e0b72c14d8dc and 1e0877d58b1e, and reverting those fixed the i915 crash for me. The e0b72c14d8dc and 1e0877d58b1e commits look like just prerequisites, so I assume 0b62af28f249 ("i915: convert shmem_sg_free_table() to use a folio_batch") is the culprit here.

-:7: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit 0b62af28f249 ("i915: convert shmem_sg_free_table() to use a folio_batch")' #7:

Quoted 1 line

Andrzej asked me to try to revert commits 0b62af28f249, e0b72c14d8dc and 1e0877d58b1e, and reverting those fixed the i915 crash for me. The e0b72c14d8dc and 1e0877d58b1e commits look like just prerequisites, so I assume 0b62af28f249 ("i915: convert shmem_sg_free_table() to use a folio_batch") is the culprit here.

-:21: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit 0b62af28f249 ("i915: convert shmem_sg_free_table() to use a folio_batch")' #21:
direction; 0b62af28f249 is a prerequisite for the later two cleanups,

-:48: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis #48: FILE: drivers/gpu/drm/i915/gem/i915_gem_shmem.c:155:
+ nr_pages = min_t(unsigned long,
+ folio_nr_pages(folio), page_count - i);

-:69: ERROR:MISSING_SIGN_OFF: Missing Signed-off-by: line(s)

total: 3 errors, 1 warnings, 1 checks, 32 lines checked

#12 lore raw

Re: [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Panic in gen8_ggtt_insert_entries() with v6.5

Quoted 3 lines · Patchwork

-:7: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?) #7:

Quoted 1 line

Andrzej asked me to try to revert commits 0b62af28f249, e0b72c14d8dc and 1e0877d58b1e, and reverting those fixed the i915 crash for me. The e0b72c14d8dc and 1e0877d58b1e commits look like just prerequisites, so I assume 0b62af28f249 ("i915: convert shmem_sg_free_table() to use a folio_batch") is the culprit here.

This is just a parsing fail.

Review

Quoted 4 lines

-:48: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis #48: FILE: drivers/gpu/drm/i915/gem/i915_gem_shmem.c:155:

(quoted diff) +2 -0
+		nr_pages = min_t(unsigned long,
+				folio_nr_pages(folio), page_count - i);

This is bullshit. Aligning to open paren is an antipattern that leads to significant unnecessary code churn. I will not be part of such a stupid system.

#14 lore raw

[Intel-gfx] ✗ Fi.CI.BAT: failure for Panic in gen8_ggtt_insert_entries() with v6.5

In reply to Oleksandr Natalenko
== Series Details ==

== Series Details ==

Series: Panic in gen8_ggtt_insert_entries() with v6.5
URL : https://patchwork.freedesktop.org/series/123922/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_13651 -> Patchwork_123922v1
====================================================

Summary
-------

**FAILURE**

Serious unknown changes coming with Patchwork_123922v1 absolutely need to be verified manually.

If you think the reported changes have nothing to do with the changes
introduced in Patchwork_123922v1, please notify your bug team ([email protected]) to allow them to document this new failure mode, which will reduce false positives in CI.

External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/index.html

Participating hosts (38 -> 38)
------------------------------

Additional (2): bat-dg2-8 bat-rpls-2
Missing (2): bat-adlm-1 fi-snb-2520m

Possible new issues
-------------------

Here are the unknown changes that may have been introduced in Patchwork_123922v1:

### IGT changes ###

#### Possible regressions ####

* igt@i915_module_load@load:
- bat-mtlp-8: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13651/bat-mtlp-8/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-mtlp-8/igt@[email protected]

* igt@runner@aborted:
- bat-rpls-2: NOTRUN -> [FAIL][3]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-rpls-2/igt@[email protected]

Known issues
------------

Here are the changes found in Patchwork_123922v1 that come from known issues:

### CI changes ###

#### Issues hit ####

* boot:
- fi-hsw-4770: [PASS][4] -> [FAIL][5] ([i915#8293])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13651/fi-hsw-4770/boot.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/fi-hsw-4770/boot.html

### IGT changes ###

#### Issues hit ####

* igt@gem_mmap@basic:
- bat-dg2-8: NOTRUN -> [SKIP][6] ([i915#4083])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@gem_mmap_gtt@basic:
- bat-dg2-8: NOTRUN -> [SKIP][7] ([i915#4077]) +2 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@gem_tiled_pread_basic:
- bat-dg2-8: NOTRUN -> [SKIP][8] ([i915#4079]) +1 other test skip
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@gem_tiled_pread_basic.html

* igt@i915_pm_rps@basic-api:
- bat-dg2-8: NOTRUN -> [SKIP][9] ([i915#6621])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@i915_suspend@basic-s3-without-i915:
- bat-dg2-8: NOTRUN -> [SKIP][10] ([i915#6645])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- bat-dg2-8: NOTRUN -> [SKIP][11] ([i915#5190])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@kms_addfb_basic@basic-y-tiled-legacy:
- bat-dg2-8: NOTRUN -> [SKIP][12] ([i915#4215] / [i915#5190])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@kms_addfb_basic@framebuffer-vs-set-tiling:
- bat-dg2-8: NOTRUN -> [SKIP][13] ([i915#4212]) +6 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@kms_addfb_basic@tile-pitch-mismatch:
- bat-dg2-8: NOTRUN -> [SKIP][14] ([i915#4212] / [i915#5608])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- bat-dg2-8: NOTRUN -> [SKIP][15] ([i915#4103] / [i915#4213] / [i915#5608]) +1 other test skip
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@kms_force_connector_basic@force-load-detect:
- bat-dg2-8: NOTRUN -> [SKIP][16] ([fdo#109285])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@kms_force_connector_basic@prune-stale-modes:
- bat-dg2-8: NOTRUN -> [SKIP][17] ([i915#5274])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
- bat-dg2-11: NOTRUN -> [SKIP][18] ([i915#1845]) +3 other tests skip
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-11/igt@[email protected]

* igt@kms_psr@cursor_plane_move:
- bat-dg2-8: NOTRUN -> [SKIP][19] ([i915#1072]) +3 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@kms_psr@cursor_plane_move.html

* igt@kms_setmode@basic-clone-single-crtc:
- bat-dg2-8: NOTRUN -> [SKIP][20] ([i915#3555])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@prime_vgem@basic-fence-flip:
- bat-dg2-8: NOTRUN -> [SKIP][21] ([i915#3708])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@prime_vgem@basic-fence-mmap:
- bat-dg2-8: NOTRUN -> [SKIP][22] ([i915#3708] / [i915#4077]) +1 other test skip
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

* igt@prime_vgem@basic-write:
- bat-dg2-8: NOTRUN -> [SKIP][23] ([i915#3291] / [i915#3708]) +2 other tests skip
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-8/igt@[email protected]

#### Possible fixes ####

* igt@kms_chamelium_edid@hdmi-edid-read:
- {bat-dg2-13}: [DMESG-WARN][24] ([i915#7952]) -> [PASS][25]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13651/bat-dg2-13/igt@[email protected]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/bat-dg2-13/igt@[email protected]

{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).

[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
[i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
[i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
[i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5608]: https://gitlab.freedesktop.org/drm/intel/issues/5608
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645
[i915#7952]: https://gitlab.freedesktop.org/drm/intel/issues/7952
[i915#8293]: https://gitlab.freedesktop.org/drm/intel/issues/8293

Build changes
-------------

* Linux: CI_DRM_13651 -> Patchwork_123922v1

CI-20190529: 20190529
CI_DRM_13651: 61b71c3f061a44a6ab1dcf756918886aa03a5480 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7493: 2517e42d612e0c1ca096acf8b5f6177f7ef4bce7 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_123922v1: 61b71c3f061a44a6ab1dcf756918886aa03a5480 @ git://anongit.freedesktop.org/gfx-ci/linux

### Linux commits

df5c6e1223ca Panic in gen8_ggtt_insert_entries() with v6.5

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_123922v1/index.html