linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* drm, qxl: post 5.11 merge warning+explosion
@ 2020-12-16  2:41 Mike Galbraith
  2020-12-16 13:34 ` Mike Galbraith
  0 siblings, 1 reply; 9+ messages in thread
From: Mike Galbraith @ 2020-12-16  2:41 UTC (permalink / raw)
  To: LKML; +Cc: Dave Airlie

Little kvm works fine with nomodeset, so will be busy for a while
bisecting two other problems that popped up here this cycle. (hohum)

[    1.815561] WARNING: CPU: 7 PID: 355 at drivers/gpu/drm/ttm/ttm_pool.c:365 ttm_pool_alloc+0x41b/0x540 [ttm]
[    1.815561] Modules linked in: ext4(E) crc16(E) mbcache(E) jbd2(E) ata_generic(E) ata_piix(E) virtio_console(E) virtio_rng(E) virtio_blk(E) qxl(E) drm_ttm_helper(E) ttm(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) ahci(E) fb_sys_fops(E) cec(E) libahci(E) uhci_hcd(E) ehci_pci(E) rc_core(E) ehci_hcd(E) crc32c_intel(E) serio_raw(E) virtio_pci(E) virtio_ring(E) 8139cp(E) virtio(E) libata(E) drm(E) usbcore(E) mii(E) sg(E) dm_multipath(E) dm_mod(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) scsi_mod(E) autofs4(E)
[    1.815589] CPU: 7 PID: 355 Comm: kworker/7:2 Tainted: G            E     5.10.0.g489e9fe-master #26
[    1.815590] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014
[    1.815614] Workqueue: events drm_fb_helper_dirty_work [drm_kms_helper]
[    1.815621] RIP: 0010:ttm_pool_alloc+0x41b/0x540 [ttm]
[    1.815623] Code: fc ff ff 89 ea 48 8d 04 d5 00 00 00 00 48 29 d0 48 8d 3c c5 00 1c 40 a0 e9 d7 fc ff ff 85 c0 0f 89 2f fc ff ff e9 28 fc ff ff <0f> 0b e9 35 fc ff ff 89 e9 49 8b 7d 00 b8 00 10 00 00 48 d3 e0 45
[    1.815623] RSP: 0018:ffff888105d3b818 EFLAGS: 00010246
[    1.815625] RAX: 0000000000000000 RBX: ffff888106978800 RCX: 0000000000000000
[    1.815626] RDX: ffff888105d3bc68 RSI: 0000000000000001 RDI: ffff888106238820
[    1.815626] RBP: ffff888106238758 R08: ffffc90000296000 R09: 800000000000016b
[    1.815627] R10: 0000000000000001 R11: ffffc90000296000 R12: 0000000000000000
[    1.815628] R13: ffff888106238820 R14: 0000000000000000 R15: ffff888106978800
[    1.815628] FS:  0000000000000000(0000) GS:ffff888237dc0000(0000) knlGS:0000000000000000
[    1.815632] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    1.815633] CR2: 00007eff52a0d5b8 CR3: 0000000002010003 CR4: 00000000001706e0
[    1.815633] Call Trace:
[    1.815644]  ttm_tt_populate+0xb1/0xc0 [ttm]
[    1.815647]  ttm_bo_move_memcpy+0x4a5/0x500 [ttm]
[    1.815652]  qxl_bo_move+0x230/0x2f0 [qxl]
[    1.815655]  ttm_bo_handle_move_mem+0x79/0x140 [ttm]
[    1.815657]  ttm_bo_evict+0x124/0x250 [ttm]
[    1.815693]  ? drm_mm_insert_node_in_range+0x55c/0x580 [drm]
[    1.815696]  ttm_mem_evict_first+0x110/0x3d0 [ttm]
[    1.815698]  ttm_bo_mem_space+0x261/0x270 [ttm]
[    1.815702]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
[    1.815705]  ttm_bo_validate+0x117/0x150 [ttm]
[    1.815756]  ttm_bo_init_reserved+0x2c8/0x3c0 [ttm]
[    1.815772]  qxl_bo_create+0x134/0x1d0 [qxl]
[    1.815775]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
[    1.815791]  qxl_alloc_bo_reserved+0x2c/0x90 [qxl]
[    1.815794]  qxl_image_alloc_objects+0xa3/0x120 [qxl]
[    1.815797]  qxl_draw_dirty_fb+0x155/0x450 [qxl]
[    1.815815]  ? _cond_resched+0x15/0x40
[    1.815819]  ? ww_mutex_lock_interruptible+0x12/0x60
[    1.815822]  qxl_framebuffer_surface_dirty+0x14f/0x1a0 [qxl]
[    1.815841]  drm_fb_helper_dirty_work+0x11d/0x180 [drm_kms_helper]
[    1.815853]  process_one_work+0x1f5/0x3c0
[    1.815866]  ? process_one_work+0x3c0/0x3c0
[    1.815867]  worker_thread+0x2d/0x3d0
[    1.815868]  ? process_one_work+0x3c0/0x3c0
[    1.815872]  kthread+0x117/0x130
[    1.815876]  ? kthread_park+0x90/0x90
[    1.815880]  ret_from_fork+0x1f/0x30
[    1.815886] ---[ end trace 51e464c1e89a1728 ]---
[    1.815894] BUG: kernel NULL pointer dereference, address: 0000000000000230
[    1.815895] #PF: supervisor read access in kernel mode
[    1.815895] #PF: error_code(0x0000) - not-present page
[    1.815896] PGD 0 P4D 0
[    1.815898] Oops: 0000 [#1] SMP NOPTI
[    1.815900] CPU: 7 PID: 355 Comm: kworker/7:2 Tainted: G        W   E     5.10.0.g489e9fe-master #26
[    1.815901] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014
[    1.815916] Workqueue: events drm_fb_helper_dirty_work [drm_kms_helper]
[    1.815921] RIP: 0010:dma_map_page_attrs+0xf/0x1c0
[    1.815922] Code: 1f 17 5b 01 48 85 c0 75 e3 31 c0 c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 0f 1f 44 00 00 41 55 41 54 55 53 48 83 ec 08 <48> 8b 87 30 02 00 00 48 85 c0 48 0f 44 05 e7 16 5b 01 41 83 f8 02
[    1.815923] RSP: 0018:ffff888105d3b7e8 EFLAGS: 00010296
[    1.815924] RAX: 0000000000001000 RBX: 0000000000000001 RCX: 0000000000001000
[    1.815924] RDX: 0000000000000000 RSI: ffffea0004171e40 RDI: 0000000000000000
[    1.815925] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
[    1.815925] R10: ffffea0004171e40 R11: ffffc90000296000 R12: 0000000000000001
[    1.815926] R13: ffff888106238820 R14: ffff888105d07100 R15: ffff888106978800
[    1.815926] FS:  0000000000000000(0000) GS:ffff888237dc0000(0000) knlGS:0000000000000000
[    1.815928] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    1.815929] CR2: 0000000000000230 CR3: 0000000002010003 CR4: 00000000001706e0
[    1.815929] Call Trace:
[    1.815937]  ttm_pool_alloc+0x448/0x540 [ttm]
[    1.815940]  ttm_tt_populate+0xb1/0xc0 [ttm]
[    1.815942]  ttm_bo_move_memcpy+0x4a5/0x500 [ttm]
[    1.815945]  qxl_bo_move+0x230/0x2f0 [qxl]
[    1.815947]  ttm_bo_handle_move_mem+0x79/0x140 [ttm]
[    1.815949]  ttm_bo_evict+0x124/0x250 [ttm]
[    1.815982]  ? drm_mm_insert_node_in_range+0x55c/0x580 [drm]
[    1.815984]  ttm_mem_evict_first+0x110/0x3d0 [ttm]
[    1.815988]  ttm_bo_mem_space+0x261/0x270 [ttm]
[    1.890133]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
[    1.890138]  ttm_bo_validate+0x117/0x150 [ttm]
[    1.891740]  ttm_bo_init_reserved+0x2c8/0x3c0 [ttm]
[    1.891744]  qxl_bo_create+0x134/0x1d0 [qxl]
[    1.893398]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
[    1.893400]  qxl_alloc_bo_reserved+0x2c/0x90 [qxl]
[    1.893402]  qxl_image_alloc_objects+0xa3/0x120 [qxl]
[    1.893405]  qxl_draw_dirty_fb+0x155/0x450 [qxl]
[    1.896515]  ? _cond_resched+0x15/0x40
[    1.896517]  ? ww_mutex_lock_interruptible+0x12/0x60
[    1.896520]  qxl_framebuffer_surface_dirty+0x14f/0x1a0 [qxl]
[    1.896533]  drm_fb_helper_dirty_work+0x11d/0x180 [drm_kms_helper]
[    1.896537]  process_one_work+0x1f5/0x3c0
[    1.900535]  ? process_one_work+0x3c0/0x3c0
[    1.900536]  worker_thread+0x2d/0x3d0
[    1.900538]  ? process_one_work+0x3c0/0x3c0
[    1.902704]  kthread+0x117/0x130
[    1.902706]  ? kthread_park+0x90/0x90
[    1.902709]  ret_from_fork+0x1f/0x30
[    1.902711] Modules linked in: ext4(E) crc16(E) mbcache(E) jbd2(E) ata_generic(E) ata_piix(E) virtio_console(E) virtio_rng(E) virtio_blk(E) qxl(E) drm_ttm_helper(E) ttm(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) ahci(E) fb_sys_fops(E) cec(E) libahci(E) uhci_hcd(E) ehci_pci(E) rc_core(E) ehci_hcd(E) crc32c_intel(E) serio_raw(E) virtio_pci(E) virtio_ring(E) 8139cp(E) virtio(E) libata(E) drm(E) usbcore(E) mii(E) sg(E) dm_multipath(E) dm_mod(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) scsi_mod(E) autofs4(E)
[    1.904797] Dumping ftrace buffer:
[    1.911038]    (ftrace buffer empty)
[    1.911041] CR2: 0000000000000230


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

* Re: drm, qxl: post 5.11 merge warning+explosion
  2020-12-16  2:41 drm, qxl: post 5.11 merge warning+explosion Mike Galbraith
@ 2020-12-16 13:34 ` Mike Galbraith
  2020-12-17 16:21   ` [bisected] " Mike Galbraith
  0 siblings, 1 reply; 9+ messages in thread
From: Mike Galbraith @ 2020-12-16 13:34 UTC (permalink / raw)
  To: LKML; +Cc: Dave Airlie, virtualization

<adds virt list>

On Wed, 2020-12-16 at 03:41 +0100, Mike Galbraith wrote:
> Little kvm works fine with nomodeset, so will be busy for a while
> bisecting two other problems that popped up here this cycle. (hohum)
>
> [    1.815561] WARNING: CPU: 7 PID: 355 at drivers/gpu/drm/ttm/ttm_pool.c:365 ttm_pool_alloc+0x41b/0x540 [ttm]
> [    1.815561] Modules linked in: ext4(E) crc16(E) mbcache(E) jbd2(E) ata_generic(E) ata_piix(E) virtio_console(E) virtio_rng(E) virtio_blk(E) qxl(E) drm_ttm_helper(E) ttm(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) ahci(E) fb_sys_fops(E) cec(E) libahci(E) uhci_hcd(E) ehci_pci(E) rc_core(E) ehci_hcd(E) crc32c_intel(E) serio_raw(E) virtio_pci(E) virtio_ring(E) 8139cp(E) virtio(E) libata(E) drm(E) usbcore(E) mii(E) sg(E) dm_multipath(E) dm_mod(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) scsi_mod(E) autofs4(E)
> [    1.815589] CPU: 7 PID: 355 Comm: kworker/7:2 Tainted: G            E     5.10.0.g489e9fe-master #26
> [    1.815590] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014
> [    1.815614] Workqueue: events drm_fb_helper_dirty_work [drm_kms_helper]
> [    1.815621] RIP: 0010:ttm_pool_alloc+0x41b/0x540 [ttm]
> [    1.815623] Code: fc ff ff 89 ea 48 8d 04 d5 00 00 00 00 48 29 d0 48 8d 3c c5 00 1c 40 a0 e9 d7 fc ff ff 85 c0 0f 89 2f fc ff ff e9 28 fc ff ff <0f> 0b e9 35 fc ff ff 89 e9 49 8b 7d 00 b8 00 10 00 00 48 d3 e0 45
> [    1.815623] RSP: 0018:ffff888105d3b818 EFLAGS: 00010246
> [    1.815625] RAX: 0000000000000000 RBX: ffff888106978800 RCX: 0000000000000000
> [    1.815626] RDX: ffff888105d3bc68 RSI: 0000000000000001 RDI: ffff888106238820
> [    1.815626] RBP: ffff888106238758 R08: ffffc90000296000 R09: 800000000000016b
> [    1.815627] R10: 0000000000000001 R11: ffffc90000296000 R12: 0000000000000000
> [    1.815628] R13: ffff888106238820 R14: 0000000000000000 R15: ffff888106978800
> [    1.815628] FS:  0000000000000000(0000) GS:ffff888237dc0000(0000) knlGS:0000000000000000
> [    1.815632] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [    1.815633] CR2: 00007eff52a0d5b8 CR3: 0000000002010003 CR4: 00000000001706e0
> [    1.815633] Call Trace:
> [    1.815644]  ttm_tt_populate+0xb1/0xc0 [ttm]
> [    1.815647]  ttm_bo_move_memcpy+0x4a5/0x500 [ttm]
> [    1.815652]  qxl_bo_move+0x230/0x2f0 [qxl]
> [    1.815655]  ttm_bo_handle_move_mem+0x79/0x140 [ttm]
> [    1.815657]  ttm_bo_evict+0x124/0x250 [ttm]
> [    1.815693]  ? drm_mm_insert_node_in_range+0x55c/0x580 [drm]
> [    1.815696]  ttm_mem_evict_first+0x110/0x3d0 [ttm]
> [    1.815698]  ttm_bo_mem_space+0x261/0x270 [ttm]
> [    1.815702]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
> [    1.815705]  ttm_bo_validate+0x117/0x150 [ttm]
> [    1.815756]  ttm_bo_init_reserved+0x2c8/0x3c0 [ttm]
> [    1.815772]  qxl_bo_create+0x134/0x1d0 [qxl]
> [    1.815775]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
> [    1.815791]  qxl_alloc_bo_reserved+0x2c/0x90 [qxl]
> [    1.815794]  qxl_image_alloc_objects+0xa3/0x120 [qxl]
> [    1.815797]  qxl_draw_dirty_fb+0x155/0x450 [qxl]
> [    1.815815]  ? _cond_resched+0x15/0x40
> [    1.815819]  ? ww_mutex_lock_interruptible+0x12/0x60
> [    1.815822]  qxl_framebuffer_surface_dirty+0x14f/0x1a0 [qxl]
> [    1.815841]  drm_fb_helper_dirty_work+0x11d/0x180 [drm_kms_helper]
> [    1.815853]  process_one_work+0x1f5/0x3c0
> [    1.815866]  ? process_one_work+0x3c0/0x3c0
> [    1.815867]  worker_thread+0x2d/0x3d0
> [    1.815868]  ? process_one_work+0x3c0/0x3c0
> [    1.815872]  kthread+0x117/0x130
> [    1.815876]  ? kthread_park+0x90/0x90
> [    1.815880]  ret_from_fork+0x1f/0x30
> [    1.815886] ---[ end trace 51e464c1e89a1728 ]---
> [    1.815894] BUG: kernel NULL pointer dereference, address: 0000000000000230
> [    1.815895] #PF: supervisor read access in kernel mode
> [    1.815895] #PF: error_code(0x0000) - not-present page
> [    1.815896] PGD 0 P4D 0
> [    1.815898] Oops: 0000 [#1] SMP NOPTI
> [    1.815900] CPU: 7 PID: 355 Comm: kworker/7:2 Tainted: G        W   E     5.10.0.g489e9fe-master #26
> [    1.815901] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014
> [    1.815916] Workqueue: events drm_fb_helper_dirty_work [drm_kms_helper]
> [    1.815921] RIP: 0010:dma_map_page_attrs+0xf/0x1c0
> [    1.815922] Code: 1f 17 5b 01 48 85 c0 75 e3 31 c0 c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 0f 1f 44 00 00 41 55 41 54 55 53 48 83 ec 08 <48> 8b 87 30 02 00 00 48 85 c0 48 0f 44 05 e7 16 5b 01 41 83 f8 02
> [    1.815923] RSP: 0018:ffff888105d3b7e8 EFLAGS: 00010296
> [    1.815924] RAX: 0000000000001000 RBX: 0000000000000001 RCX: 0000000000001000
> [    1.815924] RDX: 0000000000000000 RSI: ffffea0004171e40 RDI: 0000000000000000
> [    1.815925] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
> [    1.815925] R10: ffffea0004171e40 R11: ffffc90000296000 R12: 0000000000000001
> [    1.815926] R13: ffff888106238820 R14: ffff888105d07100 R15: ffff888106978800
> [    1.815926] FS:  0000000000000000(0000) GS:ffff888237dc0000(0000) knlGS:0000000000000000
> [    1.815928] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [    1.815929] CR2: 0000000000000230 CR3: 0000000002010003 CR4: 00000000001706e0
> [    1.815929] Call Trace:
> [    1.815937]  ttm_pool_alloc+0x448/0x540 [ttm]
> [    1.815940]  ttm_tt_populate+0xb1/0xc0 [ttm]
> [    1.815942]  ttm_bo_move_memcpy+0x4a5/0x500 [ttm]
> [    1.815945]  qxl_bo_move+0x230/0x2f0 [qxl]
> [    1.815947]  ttm_bo_handle_move_mem+0x79/0x140 [ttm]
> [    1.815949]  ttm_bo_evict+0x124/0x250 [ttm]
> [    1.815982]  ? drm_mm_insert_node_in_range+0x55c/0x580 [drm]
> [    1.815984]  ttm_mem_evict_first+0x110/0x3d0 [ttm]
> [    1.815988]  ttm_bo_mem_space+0x261/0x270 [ttm]
> [    1.890133]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
> [    1.890138]  ttm_bo_validate+0x117/0x150 [ttm]
> [    1.891740]  ttm_bo_init_reserved+0x2c8/0x3c0 [ttm]
> [    1.891744]  qxl_bo_create+0x134/0x1d0 [qxl]
> [    1.893398]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
> [    1.893400]  qxl_alloc_bo_reserved+0x2c/0x90 [qxl]
> [    1.893402]  qxl_image_alloc_objects+0xa3/0x120 [qxl]
> [    1.893405]  qxl_draw_dirty_fb+0x155/0x450 [qxl]
> [    1.896515]  ? _cond_resched+0x15/0x40
> [    1.896517]  ? ww_mutex_lock_interruptible+0x12/0x60
> [    1.896520]  qxl_framebuffer_surface_dirty+0x14f/0x1a0 [qxl]
> [    1.896533]  drm_fb_helper_dirty_work+0x11d/0x180 [drm_kms_helper]
> [    1.896537]  process_one_work+0x1f5/0x3c0
> [    1.900535]  ? process_one_work+0x3c0/0x3c0
> [    1.900536]  worker_thread+0x2d/0x3d0
> [    1.900538]  ? process_one_work+0x3c0/0x3c0
> [    1.902704]  kthread+0x117/0x130
> [    1.902706]  ? kthread_park+0x90/0x90
> [    1.902709]  ret_from_fork+0x1f/0x30
> [    1.902711] Modules linked in: ext4(E) crc16(E) mbcache(E) jbd2(E) ata_generic(E) ata_piix(E) virtio_console(E) virtio_rng(E) virtio_blk(E) qxl(E) drm_ttm_helper(E) ttm(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) ahci(E) fb_sys_fops(E) cec(E) libahci(E) uhci_hcd(E) ehci_pci(E) rc_core(E) ehci_hcd(E) crc32c_intel(E) serio_raw(E) virtio_pci(E) virtio_ring(E) 8139cp(E) virtio(E) libata(E) drm(E) usbcore(E) mii(E) sg(E) dm_multipath(E) dm_mod(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) scsi_mod(E) autofs4(E)
> [    1.904797] Dumping ftrace buffer:
> [    1.911038]    (ftrace buffer empty)
> [    1.911041] CR2: 0000000000000230
>


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

* [bisected] Re: drm, qxl: post 5.11 merge warning+explosion
  2020-12-16 13:34 ` Mike Galbraith
@ 2020-12-17 16:21   ` Mike Galbraith
  2020-12-17 16:24     ` Christian König
  0 siblings, 1 reply; 9+ messages in thread
From: Mike Galbraith @ 2020-12-17 16:21 UTC (permalink / raw)
  To: LKML; +Cc: Dave Airlie, virtualization, Christian König

ee5d2a8e549e90325fcc31825269f89647cd6fac is the first bad commit
commit ee5d2a8e549e90325fcc31825269f89647cd6fac
Author: Christian König <christian.koenig@amd.com>
Date:   Sat Oct 24 13:10:28 2020 +0200

    drm/ttm: wire up the new pool as default one v2

    Provide the necessary parameters by all drivers and use the new pool alloc
    when no driver specific function is provided.

    v2: fix the GEM VRAM helpers

    Signed-off-by: Christian König <christian.koenig@amd.com>
    Reviewed-by: Dave Airlie <airlied@redhat.com>
    Reviewed-by: Madhav Chauhan <madhav.chauhan@amd.com>
    Tested-by: Huang Rui <ray.huang@amd.com>
    Link: https://patchwork.freedesktop.org/patch/397081/?series=83051&rev=1

 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c |  4 ++--
 drivers/gpu/drm/drm_gem_vram_helper.c   |  4 ++--
 drivers/gpu/drm/nouveau/nouveau_ttm.c   | 14 +++++++++-----
 drivers/gpu/drm/qxl/qxl_ttm.c           |  5 ++---
 drivers/gpu/drm/radeon/radeon_ttm.c     |  4 ++--
 drivers/gpu/drm/ttm/ttm_bo.c            |  8 ++++++--
 drivers/gpu/drm/ttm/ttm_memory.c        |  2 +-
 drivers/gpu/drm/ttm/ttm_tt.c            |  5 ++---
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c     |  5 +++--
 include/drm/ttm/ttm_bo_driver.h         | 11 +++++++----
 10 files changed, 36 insertions(+), 26 deletions(-)

git bisect start 'drivers/gpu/drm/qxl'
# good: [2c85ebc57b3e1817b6ce1a6b703928e113a90442] Linux 5.10
git bisect good 2c85ebc57b3e1817b6ce1a6b703928e113a90442
# bad: [accefff5b547a9a1d959c7e76ad539bf2480e78b] Merge tag 'arm-soc-omap-genpd-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
git bisect bad accefff5b547a9a1d959c7e76ad539bf2480e78b
# bad: [d635a69dd4981cc51f90293f5f64268620ed1565] Merge tag 'net-next-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
git bisect bad d635a69dd4981cc51f90293f5f64268620ed1565
# bad: [0ca2ce81eb8ee30f3ba8ac7967fef9cfbb44dbdb] Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
git bisect bad 0ca2ce81eb8ee30f3ba8ac7967fef9cfbb44dbdb
# bad: [f8aab60422c371425365d386dfd51e0c6c5b1041] drm/amdgpu: Initialise drm_gem_object_funcs for imported BOs
git bisect bad f8aab60422c371425365d386dfd51e0c6c5b1041
# bad: [c0f98d2f8b076bf3e3183aa547395f919c943a14] Merge tag 'drm-misc-next-2020-11-05' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
git bisect bad c0f98d2f8b076bf3e3183aa547395f919c943a14
# good: [6a6e5988a2657cd0c91f6f1a3e7d194599248b6d] drm/ttm: replace last move_notify with delete_mem_notify
git bisect good 6a6e5988a2657cd0c91f6f1a3e7d194599248b6d
# good: [f566fdcd6cc49a9d5b5d782f56e3e7cb243f01b8] drm/i915: Force VT'd workarounds when running as a guest OS
git bisect good f566fdcd6cc49a9d5b5d782f56e3e7cb243f01b8
# good: [e76ab2cf21c38331155ea613cdf18582f011c30f] drm/i915: Remove per-platform IIR HPD masking
git bisect good e76ab2cf21c38331155ea613cdf18582f011c30f
# bad: [268af50f38b1f2199a2e85e38073d7a25c20190c] drm/panfrost: Support cache-coherent integrations
git bisect bad 268af50f38b1f2199a2e85e38073d7a25c20190c
# good: [e000650375b65ff77c5ee852b5086f58c741179e] fbdev/atafb: Remove unused extern variables
git bisect good e000650375b65ff77c5ee852b5086f58c741179e
# bad: [461619f5c3242aaee9ec3f0b7072719bd86ea207] drm/nouveau: switch to new allocator
git bisect bad 461619f5c3242aaee9ec3f0b7072719bd86ea207
# good: [d099fc8f540add80f725014fdd4f7f49f3c58911] drm/ttm: new TT backend allocation pool v3
git bisect good d099fc8f540add80f725014fdd4f7f49f3c58911
# bad: [e93b2da9799e5cb97760969f3e1f02a5bdac29fe] drm/amdgpu: switch to new allocator v2
git bisect bad e93b2da9799e5cb97760969f3e1f02a5bdac29fe
# bad: [ee5d2a8e549e90325fcc31825269f89647cd6fac] drm/ttm: wire up the new pool as default one v2
git bisect bad ee5d2a8e549e90325fcc31825269f89647cd6fac
# first bad commit: [ee5d2a8e549e90325fcc31825269f89647cd6fac] drm/ttm: wire up the new pool as default one v2


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

* Re: [bisected] Re: drm, qxl: post 5.11 merge warning+explosion
  2020-12-17 16:21   ` [bisected] " Mike Galbraith
@ 2020-12-17 16:24     ` Christian König
  2020-12-17 16:26       ` Mike Galbraith
  0 siblings, 1 reply; 9+ messages in thread
From: Christian König @ 2020-12-17 16:24 UTC (permalink / raw)
  To: Mike Galbraith, LKML; +Cc: Dave Airlie, virtualization

Hi Mike,

what exactly is the warning from qxl you are seeing?

Thanks,
Christian.

Am 17.12.20 um 17:21 schrieb Mike Galbraith:
> ee5d2a8e549e90325fcc31825269f89647cd6fac is the first bad commit
> commit ee5d2a8e549e90325fcc31825269f89647cd6fac
> Author: Christian König <christian.koenig@amd.com>
> Date:   Sat Oct 24 13:10:28 2020 +0200
>
>      drm/ttm: wire up the new pool as default one v2
>
>      Provide the necessary parameters by all drivers and use the new pool alloc
>      when no driver specific function is provided.
>
>      v2: fix the GEM VRAM helpers
>
>      Signed-off-by: Christian König <christian.koenig@amd.com>
>      Reviewed-by: Dave Airlie <airlied@redhat.com>
>      Reviewed-by: Madhav Chauhan <madhav.chauhan@amd.com>
>      Tested-by: Huang Rui <ray.huang@amd.com>
>      Link: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchwork.freedesktop.org%2Fpatch%2F397081%2F%3Fseries%3D83051%26rev%3D1&amp;data=04%7C01%7Cchristian.koenig%40amd.com%7C5e5b079ebef74f3ef56b08d8a2a7c416%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637438189325014013%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=7dT4qkc4SEBLYDZwl5V4glm9ynvFHwAVdzn3y7eO7Kc%3D&amp;reserved=0
>
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c |  4 ++--
>   drivers/gpu/drm/drm_gem_vram_helper.c   |  4 ++--
>   drivers/gpu/drm/nouveau/nouveau_ttm.c   | 14 +++++++++-----
>   drivers/gpu/drm/qxl/qxl_ttm.c           |  5 ++---
>   drivers/gpu/drm/radeon/radeon_ttm.c     |  4 ++--
>   drivers/gpu/drm/ttm/ttm_bo.c            |  8 ++++++--
>   drivers/gpu/drm/ttm/ttm_memory.c        |  2 +-
>   drivers/gpu/drm/ttm/ttm_tt.c            |  5 ++---
>   drivers/gpu/drm/vmwgfx/vmwgfx_drv.c     |  5 +++--
>   include/drm/ttm/ttm_bo_driver.h         | 11 +++++++----
>   10 files changed, 36 insertions(+), 26 deletions(-)
>
> git bisect start 'drivers/gpu/drm/qxl'
> # good: [2c85ebc57b3e1817b6ce1a6b703928e113a90442] Linux 5.10
> git bisect good 2c85ebc57b3e1817b6ce1a6b703928e113a90442
> # bad: [accefff5b547a9a1d959c7e76ad539bf2480e78b] Merge tag 'arm-soc-omap-genpd-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
> git bisect bad accefff5b547a9a1d959c7e76ad539bf2480e78b
> # bad: [d635a69dd4981cc51f90293f5f64268620ed1565] Merge tag 'net-next-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
> git bisect bad d635a69dd4981cc51f90293f5f64268620ed1565
> # bad: [0ca2ce81eb8ee30f3ba8ac7967fef9cfbb44dbdb] Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
> git bisect bad 0ca2ce81eb8ee30f3ba8ac7967fef9cfbb44dbdb
> # bad: [f8aab60422c371425365d386dfd51e0c6c5b1041] drm/amdgpu: Initialise drm_gem_object_funcs for imported BOs
> git bisect bad f8aab60422c371425365d386dfd51e0c6c5b1041
> # bad: [c0f98d2f8b076bf3e3183aa547395f919c943a14] Merge tag 'drm-misc-next-2020-11-05' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
> git bisect bad c0f98d2f8b076bf3e3183aa547395f919c943a14
> # good: [6a6e5988a2657cd0c91f6f1a3e7d194599248b6d] drm/ttm: replace last move_notify with delete_mem_notify
> git bisect good 6a6e5988a2657cd0c91f6f1a3e7d194599248b6d
> # good: [f566fdcd6cc49a9d5b5d782f56e3e7cb243f01b8] drm/i915: Force VT'd workarounds when running as a guest OS
> git bisect good f566fdcd6cc49a9d5b5d782f56e3e7cb243f01b8
> # good: [e76ab2cf21c38331155ea613cdf18582f011c30f] drm/i915: Remove per-platform IIR HPD masking
> git bisect good e76ab2cf21c38331155ea613cdf18582f011c30f
> # bad: [268af50f38b1f2199a2e85e38073d7a25c20190c] drm/panfrost: Support cache-coherent integrations
> git bisect bad 268af50f38b1f2199a2e85e38073d7a25c20190c
> # good: [e000650375b65ff77c5ee852b5086f58c741179e] fbdev/atafb: Remove unused extern variables
> git bisect good e000650375b65ff77c5ee852b5086f58c741179e
> # bad: [461619f5c3242aaee9ec3f0b7072719bd86ea207] drm/nouveau: switch to new allocator
> git bisect bad 461619f5c3242aaee9ec3f0b7072719bd86ea207
> # good: [d099fc8f540add80f725014fdd4f7f49f3c58911] drm/ttm: new TT backend allocation pool v3
> git bisect good d099fc8f540add80f725014fdd4f7f49f3c58911
> # bad: [e93b2da9799e5cb97760969f3e1f02a5bdac29fe] drm/amdgpu: switch to new allocator v2
> git bisect bad e93b2da9799e5cb97760969f3e1f02a5bdac29fe
> # bad: [ee5d2a8e549e90325fcc31825269f89647cd6fac] drm/ttm: wire up the new pool as default one v2
> git bisect bad ee5d2a8e549e90325fcc31825269f89647cd6fac
> # first bad commit: [ee5d2a8e549e90325fcc31825269f89647cd6fac] drm/ttm: wire up the new pool as default one v2
>


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

* Re: [bisected] Re: drm, qxl: post 5.11 merge warning+explosion
  2020-12-17 16:24     ` Christian König
@ 2020-12-17 16:26       ` Mike Galbraith
  2020-12-17 16:38         ` Christian König
  0 siblings, 1 reply; 9+ messages in thread
From: Mike Galbraith @ 2020-12-17 16:26 UTC (permalink / raw)
  To: Christian König, LKML; +Cc: Dave Airlie, virtualization

On Thu, 2020-12-17 at 17:24 +0100, Christian König wrote:
> Hi Mike,
>
> what exactly is the warning from qxl you are seeing?

[    1.815561] WARNING: CPU: 7 PID: 355 at drivers/gpu/drm/ttm/ttm_pool.c:365 ttm_pool_alloc+0x41b/0x540 [ttm]
[    1.815561] Modules linked in: ext4(E) crc16(E) mbcache(E) jbd2(E) ata_generic(E) ata_piix(E) virtio_console(E) virtio_rng(E) virtio_blk(E) qxl(E) drm_ttm_helper(E) ttm(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) ahci(E) fb_sys_fops(E) cec(E) libahci(E) uhci_hcd(E) ehci_pci(E) rc_core(E) ehci_hcd(E) crc32c_intel(E) serio_raw(E) virtio_pci(E) virtio_ring(E) 8139cp(E) virtio(E) libata(E) drm(E) usbcore(E) mii(E) sg(E) dm_multipath(E) dm_mod(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) scsi_mod(E) autofs4(E)
[    1.815589] CPU: 7 PID: 355 Comm: kworker/7:2 Tainted: G            E     5.10.0.g489e9fe-master #26
[    1.815590] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014
[    1.815614] Workqueue: events drm_fb_helper_dirty_work [drm_kms_helper]
[    1.815621] RIP: 0010:ttm_pool_alloc+0x41b/0x540 [ttm]
[    1.815623] Code: fc ff ff 89 ea 48 8d 04 d5 00 00 00 00 48 29 d0 48 8d 3c c5 00 1c 40 a0 e9 d7 fc ff ff 85 c0 0f 89 2f fc ff ff e9 28 fc ff ff <0f> 0b e9 35 fc ff ff 89 e9 49 8b 7d 00 b8 00 10 00 00 48 d3 e0 45
[    1.815623] RSP: 0018:ffff888105d3b818 EFLAGS: 00010246
[    1.815625] RAX: 0000000000000000 RBX: ffff888106978800 RCX: 0000000000000000
[    1.815626] RDX: ffff888105d3bc68 RSI: 0000000000000001 RDI: ffff888106238820
[    1.815626] RBP: ffff888106238758 R08: ffffc90000296000 R09: 800000000000016b
[    1.815627] R10: 0000000000000001 R11: ffffc90000296000 R12: 0000000000000000
[    1.815628] R13: ffff888106238820 R14: 0000000000000000 R15: ffff888106978800
[    1.815628] FS:  0000000000000000(0000) GS:ffff888237dc0000(0000) knlGS:0000000000000000
[    1.815632] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    1.815633] CR2: 00007eff52a0d5b8 CR3: 0000000002010003 CR4: 00000000001706e0
[    1.815633] Call Trace:
[    1.815644]  ttm_tt_populate+0xb1/0xc0 [ttm]
[    1.815647]  ttm_bo_move_memcpy+0x4a5/0x500 [ttm]
[    1.815652]  qxl_bo_move+0x230/0x2f0 [qxl]
[    1.815655]  ttm_bo_handle_move_mem+0x79/0x140 [ttm]
[    1.815657]  ttm_bo_evict+0x124/0x250 [ttm]
[    1.815693]  ? drm_mm_insert_node_in_range+0x55c/0x580 [drm]
[    1.815696]  ttm_mem_evict_first+0x110/0x3d0 [ttm]
[    1.815698]  ttm_bo_mem_space+0x261/0x270 [ttm]
[    1.815702]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
[    1.815705]  ttm_bo_validate+0x117/0x150 [ttm]
[    1.815756]  ttm_bo_init_reserved+0x2c8/0x3c0 [ttm]
[    1.815772]  qxl_bo_create+0x134/0x1d0 [qxl]
[    1.815775]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
[    1.815791]  qxl_alloc_bo_reserved+0x2c/0x90 [qxl]
[    1.815794]  qxl_image_alloc_objects+0xa3/0x120 [qxl]
[    1.815797]  qxl_draw_dirty_fb+0x155/0x450 [qxl]
[    1.815815]  ? _cond_resched+0x15/0x40
[    1.815819]  ? ww_mutex_lock_interruptible+0x12/0x60
[    1.815822]  qxl_framebuffer_surface_dirty+0x14f/0x1a0 [qxl]
[    1.815841]  drm_fb_helper_dirty_work+0x11d/0x180 [drm_kms_helper]
[    1.815853]  process_one_work+0x1f5/0x3c0
[    1.815866]  ? process_one_work+0x3c0/0x3c0
[    1.815867]  worker_thread+0x2d/0x3d0
[    1.815868]  ? process_one_work+0x3c0/0x3c0
[    1.815872]  kthread+0x117/0x130
[    1.815876]  ? kthread_park+0x90/0x90
[    1.815880]  ret_from_fork+0x1f/0x30
[    1.815886] ---[ end trace 51e464c1e89a1728 ]---
[    1.815894] BUG: kernel NULL pointer dereference, address: 0000000000000230
[    1.815895] #PF: supervisor read access in kernel mode
[    1.815895] #PF: error_code(0x0000) - not-present page
[    1.815896] PGD 0 P4D 0
[    1.815898] Oops: 0000 [#1] SMP NOPTI
[    1.815900] CPU: 7 PID: 355 Comm: kworker/7:2 Tainted: G        W   E     5.10.0.g489e9fe-master #26
[    1.815901] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014
[    1.815916] Workqueue: events drm_fb_helper_dirty_work [drm_kms_helper]
[    1.815921] RIP: 0010:dma_map_page_attrs+0xf/0x1c0
[    1.815922] Code: 1f 17 5b 01 48 85 c0 75 e3 31 c0 c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 0f 1f 44 00 00 41 55 41 54 55 53 48 83 ec 08 <48> 8b 87 30 02 00 00 48 85 c0 48 0f 44 05 e7 16 5b 01 41 83 f8 02
[    1.815923] RSP: 0018:ffff888105d3b7e8 EFLAGS: 00010296
[    1.815924] RAX: 0000000000001000 RBX: 0000000000000001 RCX: 0000000000001000
[    1.815924] RDX: 0000000000000000 RSI: ffffea0004171e40 RDI: 0000000000000000
[    1.815925] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
[    1.815925] R10: ffffea0004171e40 R11: ffffc90000296000 R12: 0000000000000001
[    1.815926] R13: ffff888106238820 R14: ffff888105d07100 R15: ffff888106978800
[    1.815926] FS:  0000000000000000(0000) GS:ffff888237dc0000(0000) knlGS:0000000000000000
[    1.815928] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    1.815929] CR2: 0000000000000230 CR3: 0000000002010003 CR4: 00000000001706e0
[    1.815929] Call Trace:
[    1.815937]  ttm_pool_alloc+0x448/0x540 [ttm]
[    1.815940]  ttm_tt_populate+0xb1/0xc0 [ttm]
[    1.815942]  ttm_bo_move_memcpy+0x4a5/0x500 [ttm]
[    1.815945]  qxl_bo_move+0x230/0x2f0 [qxl]
[    1.815947]  ttm_bo_handle_move_mem+0x79/0x140 [ttm]
[    1.815949]  ttm_bo_evict+0x124/0x250 [ttm]
[    1.815982]  ? drm_mm_insert_node_in_range+0x55c/0x580 [drm]
[    1.815984]  ttm_mem_evict_first+0x110/0x3d0 [ttm]
[    1.815988]  ttm_bo_mem_space+0x261/0x270 [ttm]
[    1.890133]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
[    1.890138]  ttm_bo_validate+0x117/0x150 [ttm]
[    1.891740]  ttm_bo_init_reserved+0x2c8/0x3c0 [ttm]
[    1.891744]  qxl_bo_create+0x134/0x1d0 [qxl]
[    1.893398]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
[    1.893400]  qxl_alloc_bo_reserved+0x2c/0x90 [qxl]
[    1.893402]  qxl_image_alloc_objects+0xa3/0x120 [qxl]
[    1.893405]  qxl_draw_dirty_fb+0x155/0x450 [qxl]
[    1.896515]  ? _cond_resched+0x15/0x40
[    1.896517]  ? ww_mutex_lock_interruptible+0x12/0x60
[    1.896520]  qxl_framebuffer_surface_dirty+0x14f/0x1a0 [qxl]
[    1.896533]  drm_fb_helper_dirty_work+0x11d/0x180 [drm_kms_helper]
[    1.896537]  process_one_work+0x1f5/0x3c0
[    1.900535]  ? process_one_work+0x3c0/0x3c0
[    1.900536]  worker_thread+0x2d/0x3d0
[    1.900538]  ? process_one_work+0x3c0/0x3c0
[    1.902704]  kthread+0x117/0x130
[    1.902706]  ? kthread_park+0x90/0x90
[    1.902709]  ret_from_fork+0x1f/0x30
[    1.902711] Modules linked in: ext4(E) crc16(E) mbcache(E) jbd2(E) ata_generic(E) ata_piix(E) virtio_console(E) virtio_rng(E) virtio_blk(E) qxl(E) drm_ttm_helper(E) ttm(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) ahci(E) fb_sys_fops(E) cec(E) libahci(E) uhci_hcd(E) ehci_pci(E) rc_core(E) ehci_hcd(E) crc32c_intel(E) serio_raw(E) virtio_pci(E) virtio_ring(E) 8139cp(E) virtio(E) libata(E) drm(E) usbcore(E) mii(E) sg(E) dm_multipath(E) dm_mod(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) scsi_mod(E) autofs4(E)
[    1.904797] Dumping ftrace buffer:
[    1.911038]    (ftrace buffer empty)
[    1.911041] CR2: 0000000000000230




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

* Re: [bisected] Re: drm, qxl: post 5.11 merge warning+explosion
  2020-12-17 16:26       ` Mike Galbraith
@ 2020-12-17 16:38         ` Christian König
  2020-12-17 16:55           ` Mike Galbraith
  2020-12-17 18:50           ` David Airlie
  0 siblings, 2 replies; 9+ messages in thread
From: Christian König @ 2020-12-17 16:38 UTC (permalink / raw)
  To: Mike Galbraith, LKML; +Cc: Dave Airlie, virtualization

[-- Attachment #1: Type: text/plain, Size: 7758 bytes --]

Am 17.12.20 um 17:26 schrieb Mike Galbraith:
> On Thu, 2020-12-17 at 17:24 +0100, Christian König wrote:
>> Hi Mike,
>>
>> what exactly is the warning from qxl you are seeing?
> [    1.815561] WARNING: CPU: 7 PID: 355 at drivers/gpu/drm/ttm/ttm_pool.c:365 ttm_pool_alloc+0x41b/0x540 [ttm]

Yeah, that is an expected result.

Looks like qxl does something quite odd here, it allocates an 
dma_address array but doesn't have a device to fill them.

On the other hand I don't see qxl using the allocated dma_addresses. 
Dave do you have an idea why qxl is doing that?

Mike can you test the attached patch?

Thanks in advance,
Christian.

> [    1.815561] Modules linked in: ext4(E) crc16(E) mbcache(E) jbd2(E) ata_generic(E) ata_piix(E) virtio_console(E) virtio_rng(E) virtio_blk(E) qxl(E) drm_ttm_helper(E) ttm(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) ahci(E) fb_sys_fops(E) cec(E) libahci(E) uhci_hcd(E) ehci_pci(E) rc_core(E) ehci_hcd(E) crc32c_intel(E) serio_raw(E) virtio_pci(E) virtio_ring(E) 8139cp(E) virtio(E) libata(E) drm(E) usbcore(E) mii(E) sg(E) dm_multipath(E) dm_mod(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) scsi_mod(E) autofs4(E)
> [    1.815589] CPU: 7 PID: 355 Comm: kworker/7:2 Tainted: G            E     5.10.0.g489e9fe-master #26
> [    1.815590] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014
> [    1.815614] Workqueue: events drm_fb_helper_dirty_work [drm_kms_helper]
> [    1.815621] RIP: 0010:ttm_pool_alloc+0x41b/0x540 [ttm]
> [    1.815623] Code: fc ff ff 89 ea 48 8d 04 d5 00 00 00 00 48 29 d0 48 8d 3c c5 00 1c 40 a0 e9 d7 fc ff ff 85 c0 0f 89 2f fc ff ff e9 28 fc ff ff <0f> 0b e9 35 fc ff ff 89 e9 49 8b 7d 00 b8 00 10 00 00 48 d3 e0 45
> [    1.815623] RSP: 0018:ffff888105d3b818 EFLAGS: 00010246
> [    1.815625] RAX: 0000000000000000 RBX: ffff888106978800 RCX: 0000000000000000
> [    1.815626] RDX: ffff888105d3bc68 RSI: 0000000000000001 RDI: ffff888106238820
> [    1.815626] RBP: ffff888106238758 R08: ffffc90000296000 R09: 800000000000016b
> [    1.815627] R10: 0000000000000001 R11: ffffc90000296000 R12: 0000000000000000
> [    1.815628] R13: ffff888106238820 R14: 0000000000000000 R15: ffff888106978800
> [    1.815628] FS:  0000000000000000(0000) GS:ffff888237dc0000(0000) knlGS:0000000000000000
> [    1.815632] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [    1.815633] CR2: 00007eff52a0d5b8 CR3: 0000000002010003 CR4: 00000000001706e0
> [    1.815633] Call Trace:
> [    1.815644]  ttm_tt_populate+0xb1/0xc0 [ttm]
> [    1.815647]  ttm_bo_move_memcpy+0x4a5/0x500 [ttm]
> [    1.815652]  qxl_bo_move+0x230/0x2f0 [qxl]
> [    1.815655]  ttm_bo_handle_move_mem+0x79/0x140 [ttm]
> [    1.815657]  ttm_bo_evict+0x124/0x250 [ttm]
> [    1.815693]  ? drm_mm_insert_node_in_range+0x55c/0x580 [drm]
> [    1.815696]  ttm_mem_evict_first+0x110/0x3d0 [ttm]
> [    1.815698]  ttm_bo_mem_space+0x261/0x270 [ttm]
> [    1.815702]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
> [    1.815705]  ttm_bo_validate+0x117/0x150 [ttm]
> [    1.815756]  ttm_bo_init_reserved+0x2c8/0x3c0 [ttm]
> [    1.815772]  qxl_bo_create+0x134/0x1d0 [qxl]
> [    1.815775]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
> [    1.815791]  qxl_alloc_bo_reserved+0x2c/0x90 [qxl]
> [    1.815794]  qxl_image_alloc_objects+0xa3/0x120 [qxl]
> [    1.815797]  qxl_draw_dirty_fb+0x155/0x450 [qxl]
> [    1.815815]  ? _cond_resched+0x15/0x40
> [    1.815819]  ? ww_mutex_lock_interruptible+0x12/0x60
> [    1.815822]  qxl_framebuffer_surface_dirty+0x14f/0x1a0 [qxl]
> [    1.815841]  drm_fb_helper_dirty_work+0x11d/0x180 [drm_kms_helper]
> [    1.815853]  process_one_work+0x1f5/0x3c0
> [    1.815866]  ? process_one_work+0x3c0/0x3c0
> [    1.815867]  worker_thread+0x2d/0x3d0
> [    1.815868]  ? process_one_work+0x3c0/0x3c0
> [    1.815872]  kthread+0x117/0x130
> [    1.815876]  ? kthread_park+0x90/0x90
> [    1.815880]  ret_from_fork+0x1f/0x30
> [    1.815886] ---[ end trace 51e464c1e89a1728 ]---
> [    1.815894] BUG: kernel NULL pointer dereference, address: 0000000000000230
> [    1.815895] #PF: supervisor read access in kernel mode
> [    1.815895] #PF: error_code(0x0000) - not-present page
> [    1.815896] PGD 0 P4D 0
> [    1.815898] Oops: 0000 [#1] SMP NOPTI
> [    1.815900] CPU: 7 PID: 355 Comm: kworker/7:2 Tainted: G        W   E     5.10.0.g489e9fe-master #26
> [    1.815901] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014
> [    1.815916] Workqueue: events drm_fb_helper_dirty_work [drm_kms_helper]
> [    1.815921] RIP: 0010:dma_map_page_attrs+0xf/0x1c0
> [    1.815922] Code: 1f 17 5b 01 48 85 c0 75 e3 31 c0 c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 0f 1f 44 00 00 41 55 41 54 55 53 48 83 ec 08 <48> 8b 87 30 02 00 00 48 85 c0 48 0f 44 05 e7 16 5b 01 41 83 f8 02
> [    1.815923] RSP: 0018:ffff888105d3b7e8 EFLAGS: 00010296
> [    1.815924] RAX: 0000000000001000 RBX: 0000000000000001 RCX: 0000000000001000
> [    1.815924] RDX: 0000000000000000 RSI: ffffea0004171e40 RDI: 0000000000000000
> [    1.815925] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
> [    1.815925] R10: ffffea0004171e40 R11: ffffc90000296000 R12: 0000000000000001
> [    1.815926] R13: ffff888106238820 R14: ffff888105d07100 R15: ffff888106978800
> [    1.815926] FS:  0000000000000000(0000) GS:ffff888237dc0000(0000) knlGS:0000000000000000
> [    1.815928] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [    1.815929] CR2: 0000000000000230 CR3: 0000000002010003 CR4: 00000000001706e0
> [    1.815929] Call Trace:
> [    1.815937]  ttm_pool_alloc+0x448/0x540 [ttm]
> [    1.815940]  ttm_tt_populate+0xb1/0xc0 [ttm]
> [    1.815942]  ttm_bo_move_memcpy+0x4a5/0x500 [ttm]
> [    1.815945]  qxl_bo_move+0x230/0x2f0 [qxl]
> [    1.815947]  ttm_bo_handle_move_mem+0x79/0x140 [ttm]
> [    1.815949]  ttm_bo_evict+0x124/0x250 [ttm]
> [    1.815982]  ? drm_mm_insert_node_in_range+0x55c/0x580 [drm]
> [    1.815984]  ttm_mem_evict_first+0x110/0x3d0 [ttm]
> [    1.815988]  ttm_bo_mem_space+0x261/0x270 [ttm]
> [    1.890133]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
> [    1.890138]  ttm_bo_validate+0x117/0x150 [ttm]
> [    1.891740]  ttm_bo_init_reserved+0x2c8/0x3c0 [ttm]
> [    1.891744]  qxl_bo_create+0x134/0x1d0 [qxl]
> [    1.893398]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
> [    1.893400]  qxl_alloc_bo_reserved+0x2c/0x90 [qxl]
> [    1.893402]  qxl_image_alloc_objects+0xa3/0x120 [qxl]
> [    1.893405]  qxl_draw_dirty_fb+0x155/0x450 [qxl]
> [    1.896515]  ? _cond_resched+0x15/0x40
> [    1.896517]  ? ww_mutex_lock_interruptible+0x12/0x60
> [    1.896520]  qxl_framebuffer_surface_dirty+0x14f/0x1a0 [qxl]
> [    1.896533]  drm_fb_helper_dirty_work+0x11d/0x180 [drm_kms_helper]
> [    1.896537]  process_one_work+0x1f5/0x3c0
> [    1.900535]  ? process_one_work+0x3c0/0x3c0
> [    1.900536]  worker_thread+0x2d/0x3d0
> [    1.900538]  ? process_one_work+0x3c0/0x3c0
> [    1.902704]  kthread+0x117/0x130
> [    1.902706]  ? kthread_park+0x90/0x90
> [    1.902709]  ret_from_fork+0x1f/0x30
> [    1.902711] Modules linked in: ext4(E) crc16(E) mbcache(E) jbd2(E) ata_generic(E) ata_piix(E) virtio_console(E) virtio_rng(E) virtio_blk(E) qxl(E) drm_ttm_helper(E) ttm(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) ahci(E) fb_sys_fops(E) cec(E) libahci(E) uhci_hcd(E) ehci_pci(E) rc_core(E) ehci_hcd(E) crc32c_intel(E) serio_raw(E) virtio_pci(E) virtio_ring(E) 8139cp(E) virtio(E) libata(E) drm(E) usbcore(E) mii(E) sg(E) dm_multipath(E) dm_mod(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) scsi_mod(E) autofs4(E)
> [    1.904797] Dumping ftrace buffer:
> [    1.911038]    (ftrace buffer empty)
> [    1.911041] CR2: 0000000000000230
>
>
>


[-- Attachment #2: 0001-drm-qxl-don-t-allocate-a-dma_address-array.patch --]
[-- Type: text/x-patch, Size: 1027 bytes --]

From 083cb816505261e4d9d5c71716295650f8334521 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
Date: Thu, 17 Dec 2020 17:36:57 +0100
Subject: [PATCH] drm/qxl: don't allocate a dma_address array
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

That seems to be unused.

Signed-off-by: Christian König <christian.koenig@amd.com>
---
 drivers/gpu/drm/qxl/qxl_ttm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
index d8ecfb8b3193..66640f4947bd 100644
--- a/drivers/gpu/drm/qxl/qxl_ttm.c
+++ b/drivers/gpu/drm/qxl/qxl_ttm.c
@@ -116,7 +116,7 @@ static struct ttm_tt *qxl_ttm_tt_create(struct ttm_buffer_object *bo,
 	ttm = kzalloc(sizeof(struct ttm_tt), GFP_KERNEL);
 	if (ttm == NULL)
 		return NULL;
-	if (ttm_dma_tt_init(ttm, bo, page_flags, ttm_cached)) {
+	if (ttm_tt_init(ttm, bo, page_flags, ttm_cached)) {
 		kfree(ttm);
 		return NULL;
 	}
-- 
2.25.1


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

* Re: [bisected] Re: drm, qxl: post 5.11 merge warning+explosion
  2020-12-17 16:38         ` Christian König
@ 2020-12-17 16:55           ` Mike Galbraith
  2020-12-17 18:50           ` David Airlie
  1 sibling, 0 replies; 9+ messages in thread
From: Mike Galbraith @ 2020-12-17 16:55 UTC (permalink / raw)
  To: Christian König, LKML; +Cc: Dave Airlie, virtualization

On Thu, 2020-12-17 at 17:38 +0100, Christian König wrote:
>
> Mike can you test the attached patch?

Yup, one-liner made it all better. That was quick like bunny.

	-Mike


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

* Re: [bisected] Re: drm, qxl: post 5.11 merge warning+explosion
  2020-12-17 16:38         ` Christian König
  2020-12-17 16:55           ` Mike Galbraith
@ 2020-12-17 18:50           ` David Airlie
  2020-12-18 13:52             ` Christian König
  1 sibling, 1 reply; 9+ messages in thread
From: David Airlie @ 2020-12-17 18:50 UTC (permalink / raw)
  To: Christian König; +Cc: Mike Galbraith, LKML, virtualization

Yes this looks correct, please add my rb and get into a fixes queue somewhere.

Dave.

On Fri, Dec 18, 2020 at 2:39 AM Christian König
<christian.koenig@amd.com> wrote:
>
> Am 17.12.20 um 17:26 schrieb Mike Galbraith:
> > On Thu, 2020-12-17 at 17:24 +0100, Christian König wrote:
> >> Hi Mike,
> >>
> >> what exactly is the warning from qxl you are seeing?
> > [    1.815561] WARNING: CPU: 7 PID: 355 at drivers/gpu/drm/ttm/ttm_pool.c:365 ttm_pool_alloc+0x41b/0x540 [ttm]
>
> Yeah, that is an expected result.
>
> Looks like qxl does something quite odd here, it allocates an
> dma_address array but doesn't have a device to fill them.
>
> On the other hand I don't see qxl using the allocated dma_addresses.
> Dave do you have an idea why qxl is doing that?
>
> Mike can you test the attached patch?
>
> Thanks in advance,
> Christian.
>
> > [    1.815561] Modules linked in: ext4(E) crc16(E) mbcache(E) jbd2(E) ata_generic(E) ata_piix(E) virtio_console(E) virtio_rng(E) virtio_blk(E) qxl(E) drm_ttm_helper(E) ttm(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) ahci(E) fb_sys_fops(E) cec(E) libahci(E) uhci_hcd(E) ehci_pci(E) rc_core(E) ehci_hcd(E) crc32c_intel(E) serio_raw(E) virtio_pci(E) virtio_ring(E) 8139cp(E) virtio(E) libata(E) drm(E) usbcore(E) mii(E) sg(E) dm_multipath(E) dm_mod(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) scsi_mod(E) autofs4(E)
> > [    1.815589] CPU: 7 PID: 355 Comm: kworker/7:2 Tainted: G            E     5.10.0.g489e9fe-master #26
> > [    1.815590] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014
> > [    1.815614] Workqueue: events drm_fb_helper_dirty_work [drm_kms_helper]
> > [    1.815621] RIP: 0010:ttm_pool_alloc+0x41b/0x540 [ttm]
> > [    1.815623] Code: fc ff ff 89 ea 48 8d 04 d5 00 00 00 00 48 29 d0 48 8d 3c c5 00 1c 40 a0 e9 d7 fc ff ff 85 c0 0f 89 2f fc ff ff e9 28 fc ff ff <0f> 0b e9 35 fc ff ff 89 e9 49 8b 7d 00 b8 00 10 00 00 48 d3 e0 45
> > [    1.815623] RSP: 0018:ffff888105d3b818 EFLAGS: 00010246
> > [    1.815625] RAX: 0000000000000000 RBX: ffff888106978800 RCX: 0000000000000000
> > [    1.815626] RDX: ffff888105d3bc68 RSI: 0000000000000001 RDI: ffff888106238820
> > [    1.815626] RBP: ffff888106238758 R08: ffffc90000296000 R09: 800000000000016b
> > [    1.815627] R10: 0000000000000001 R11: ffffc90000296000 R12: 0000000000000000
> > [    1.815628] R13: ffff888106238820 R14: 0000000000000000 R15: ffff888106978800
> > [    1.815628] FS:  0000000000000000(0000) GS:ffff888237dc0000(0000) knlGS:0000000000000000
> > [    1.815632] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [    1.815633] CR2: 00007eff52a0d5b8 CR3: 0000000002010003 CR4: 00000000001706e0
> > [    1.815633] Call Trace:
> > [    1.815644]  ttm_tt_populate+0xb1/0xc0 [ttm]
> > [    1.815647]  ttm_bo_move_memcpy+0x4a5/0x500 [ttm]
> > [    1.815652]  qxl_bo_move+0x230/0x2f0 [qxl]
> > [    1.815655]  ttm_bo_handle_move_mem+0x79/0x140 [ttm]
> > [    1.815657]  ttm_bo_evict+0x124/0x250 [ttm]
> > [    1.815693]  ? drm_mm_insert_node_in_range+0x55c/0x580 [drm]
> > [    1.815696]  ttm_mem_evict_first+0x110/0x3d0 [ttm]
> > [    1.815698]  ttm_bo_mem_space+0x261/0x270 [ttm]
> > [    1.815702]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
> > [    1.815705]  ttm_bo_validate+0x117/0x150 [ttm]
> > [    1.815756]  ttm_bo_init_reserved+0x2c8/0x3c0 [ttm]
> > [    1.815772]  qxl_bo_create+0x134/0x1d0 [qxl]
> > [    1.815775]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
> > [    1.815791]  qxl_alloc_bo_reserved+0x2c/0x90 [qxl]
> > [    1.815794]  qxl_image_alloc_objects+0xa3/0x120 [qxl]
> > [    1.815797]  qxl_draw_dirty_fb+0x155/0x450 [qxl]
> > [    1.815815]  ? _cond_resched+0x15/0x40
> > [    1.815819]  ? ww_mutex_lock_interruptible+0x12/0x60
> > [    1.815822]  qxl_framebuffer_surface_dirty+0x14f/0x1a0 [qxl]
> > [    1.815841]  drm_fb_helper_dirty_work+0x11d/0x180 [drm_kms_helper]
> > [    1.815853]  process_one_work+0x1f5/0x3c0
> > [    1.815866]  ? process_one_work+0x3c0/0x3c0
> > [    1.815867]  worker_thread+0x2d/0x3d0
> > [    1.815868]  ? process_one_work+0x3c0/0x3c0
> > [    1.815872]  kthread+0x117/0x130
> > [    1.815876]  ? kthread_park+0x90/0x90
> > [    1.815880]  ret_from_fork+0x1f/0x30
> > [    1.815886] ---[ end trace 51e464c1e89a1728 ]---
> > [    1.815894] BUG: kernel NULL pointer dereference, address: 0000000000000230
> > [    1.815895] #PF: supervisor read access in kernel mode
> > [    1.815895] #PF: error_code(0x0000) - not-present page
> > [    1.815896] PGD 0 P4D 0
> > [    1.815898] Oops: 0000 [#1] SMP NOPTI
> > [    1.815900] CPU: 7 PID: 355 Comm: kworker/7:2 Tainted: G        W   E     5.10.0.g489e9fe-master #26
> > [    1.815901] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014
> > [    1.815916] Workqueue: events drm_fb_helper_dirty_work [drm_kms_helper]
> > [    1.815921] RIP: 0010:dma_map_page_attrs+0xf/0x1c0
> > [    1.815922] Code: 1f 17 5b 01 48 85 c0 75 e3 31 c0 c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 0f 1f 44 00 00 41 55 41 54 55 53 48 83 ec 08 <48> 8b 87 30 02 00 00 48 85 c0 48 0f 44 05 e7 16 5b 01 41 83 f8 02
> > [    1.815923] RSP: 0018:ffff888105d3b7e8 EFLAGS: 00010296
> > [    1.815924] RAX: 0000000000001000 RBX: 0000000000000001 RCX: 0000000000001000
> > [    1.815924] RDX: 0000000000000000 RSI: ffffea0004171e40 RDI: 0000000000000000
> > [    1.815925] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
> > [    1.815925] R10: ffffea0004171e40 R11: ffffc90000296000 R12: 0000000000000001
> > [    1.815926] R13: ffff888106238820 R14: ffff888105d07100 R15: ffff888106978800
> > [    1.815926] FS:  0000000000000000(0000) GS:ffff888237dc0000(0000) knlGS:0000000000000000
> > [    1.815928] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [    1.815929] CR2: 0000000000000230 CR3: 0000000002010003 CR4: 00000000001706e0
> > [    1.815929] Call Trace:
> > [    1.815937]  ttm_pool_alloc+0x448/0x540 [ttm]
> > [    1.815940]  ttm_tt_populate+0xb1/0xc0 [ttm]
> > [    1.815942]  ttm_bo_move_memcpy+0x4a5/0x500 [ttm]
> > [    1.815945]  qxl_bo_move+0x230/0x2f0 [qxl]
> > [    1.815947]  ttm_bo_handle_move_mem+0x79/0x140 [ttm]
> > [    1.815949]  ttm_bo_evict+0x124/0x250 [ttm]
> > [    1.815982]  ? drm_mm_insert_node_in_range+0x55c/0x580 [drm]
> > [    1.815984]  ttm_mem_evict_first+0x110/0x3d0 [ttm]
> > [    1.815988]  ttm_bo_mem_space+0x261/0x270 [ttm]
> > [    1.890133]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
> > [    1.890138]  ttm_bo_validate+0x117/0x150 [ttm]
> > [    1.891740]  ttm_bo_init_reserved+0x2c8/0x3c0 [ttm]
> > [    1.891744]  qxl_bo_create+0x134/0x1d0 [qxl]
> > [    1.893398]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
> > [    1.893400]  qxl_alloc_bo_reserved+0x2c/0x90 [qxl]
> > [    1.893402]  qxl_image_alloc_objects+0xa3/0x120 [qxl]
> > [    1.893405]  qxl_draw_dirty_fb+0x155/0x450 [qxl]
> > [    1.896515]  ? _cond_resched+0x15/0x40
> > [    1.896517]  ? ww_mutex_lock_interruptible+0x12/0x60
> > [    1.896520]  qxl_framebuffer_surface_dirty+0x14f/0x1a0 [qxl]
> > [    1.896533]  drm_fb_helper_dirty_work+0x11d/0x180 [drm_kms_helper]
> > [    1.896537]  process_one_work+0x1f5/0x3c0
> > [    1.900535]  ? process_one_work+0x3c0/0x3c0
> > [    1.900536]  worker_thread+0x2d/0x3d0
> > [    1.900538]  ? process_one_work+0x3c0/0x3c0
> > [    1.902704]  kthread+0x117/0x130
> > [    1.902706]  ? kthread_park+0x90/0x90
> > [    1.902709]  ret_from_fork+0x1f/0x30
> > [    1.902711] Modules linked in: ext4(E) crc16(E) mbcache(E) jbd2(E) ata_generic(E) ata_piix(E) virtio_console(E) virtio_rng(E) virtio_blk(E) qxl(E) drm_ttm_helper(E) ttm(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) ahci(E) fb_sys_fops(E) cec(E) libahci(E) uhci_hcd(E) ehci_pci(E) rc_core(E) ehci_hcd(E) crc32c_intel(E) serio_raw(E) virtio_pci(E) virtio_ring(E) 8139cp(E) virtio(E) libata(E) drm(E) usbcore(E) mii(E) sg(E) dm_multipath(E) dm_mod(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) scsi_mod(E) autofs4(E)
> > [    1.904797] Dumping ftrace buffer:
> > [    1.911038]    (ftrace buffer empty)
> > [    1.911041] CR2: 0000000000000230
> >
> >
> >
>


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

* Re: [bisected] Re: drm, qxl: post 5.11 merge warning+explosion
  2020-12-17 18:50           ` David Airlie
@ 2020-12-18 13:52             ` Christian König
  0 siblings, 0 replies; 9+ messages in thread
From: Christian König @ 2020-12-18 13:52 UTC (permalink / raw)
  To: David Airlie; +Cc: Mike Galbraith, LKML, virtualization

Since -rc1 is not out yet I've just pushed it to drm-misc-next-fixes.

Thanks,
Christian.

Am 17.12.20 um 19:50 schrieb David Airlie:
> Yes this looks correct, please add my rb and get into a fixes queue somewhere.
>
> Dave.
>
> On Fri, Dec 18, 2020 at 2:39 AM Christian König
> <christian.koenig@amd.com> wrote:
>> Am 17.12.20 um 17:26 schrieb Mike Galbraith:
>>> On Thu, 2020-12-17 at 17:24 +0100, Christian König wrote:
>>>> Hi Mike,
>>>>
>>>> what exactly is the warning from qxl you are seeing?
>>> [    1.815561] WARNING: CPU: 7 PID: 355 at drivers/gpu/drm/ttm/ttm_pool.c:365 ttm_pool_alloc+0x41b/0x540 [ttm]
>> Yeah, that is an expected result.
>>
>> Looks like qxl does something quite odd here, it allocates an
>> dma_address array but doesn't have a device to fill them.
>>
>> On the other hand I don't see qxl using the allocated dma_addresses.
>> Dave do you have an idea why qxl is doing that?
>>
>> Mike can you test the attached patch?
>>
>> Thanks in advance,
>> Christian.
>>
>>> [    1.815561] Modules linked in: ext4(E) crc16(E) mbcache(E) jbd2(E) ata_generic(E) ata_piix(E) virtio_console(E) virtio_rng(E) virtio_blk(E) qxl(E) drm_ttm_helper(E) ttm(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) ahci(E) fb_sys_fops(E) cec(E) libahci(E) uhci_hcd(E) ehci_pci(E) rc_core(E) ehci_hcd(E) crc32c_intel(E) serio_raw(E) virtio_pci(E) virtio_ring(E) 8139cp(E) virtio(E) libata(E) drm(E) usbcore(E) mii(E) sg(E) dm_multipath(E) dm_mod(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) scsi_mod(E) autofs4(E)
>>> [    1.815589] CPU: 7 PID: 355 Comm: kworker/7:2 Tainted: G            E     5.10.0.g489e9fe-master #26
>>> [    1.815590] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014
>>> [    1.815614] Workqueue: events drm_fb_helper_dirty_work [drm_kms_helper]
>>> [    1.815621] RIP: 0010:ttm_pool_alloc+0x41b/0x540 [ttm]
>>> [    1.815623] Code: fc ff ff 89 ea 48 8d 04 d5 00 00 00 00 48 29 d0 48 8d 3c c5 00 1c 40 a0 e9 d7 fc ff ff 85 c0 0f 89 2f fc ff ff e9 28 fc ff ff <0f> 0b e9 35 fc ff ff 89 e9 49 8b 7d 00 b8 00 10 00 00 48 d3 e0 45
>>> [    1.815623] RSP: 0018:ffff888105d3b818 EFLAGS: 00010246
>>> [    1.815625] RAX: 0000000000000000 RBX: ffff888106978800 RCX: 0000000000000000
>>> [    1.815626] RDX: ffff888105d3bc68 RSI: 0000000000000001 RDI: ffff888106238820
>>> [    1.815626] RBP: ffff888106238758 R08: ffffc90000296000 R09: 800000000000016b
>>> [    1.815627] R10: 0000000000000001 R11: ffffc90000296000 R12: 0000000000000000
>>> [    1.815628] R13: ffff888106238820 R14: 0000000000000000 R15: ffff888106978800
>>> [    1.815628] FS:  0000000000000000(0000) GS:ffff888237dc0000(0000) knlGS:0000000000000000
>>> [    1.815632] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>> [    1.815633] CR2: 00007eff52a0d5b8 CR3: 0000000002010003 CR4: 00000000001706e0
>>> [    1.815633] Call Trace:
>>> [    1.815644]  ttm_tt_populate+0xb1/0xc0 [ttm]
>>> [    1.815647]  ttm_bo_move_memcpy+0x4a5/0x500 [ttm]
>>> [    1.815652]  qxl_bo_move+0x230/0x2f0 [qxl]
>>> [    1.815655]  ttm_bo_handle_move_mem+0x79/0x140 [ttm]
>>> [    1.815657]  ttm_bo_evict+0x124/0x250 [ttm]
>>> [    1.815693]  ? drm_mm_insert_node_in_range+0x55c/0x580 [drm]
>>> [    1.815696]  ttm_mem_evict_first+0x110/0x3d0 [ttm]
>>> [    1.815698]  ttm_bo_mem_space+0x261/0x270 [ttm]
>>> [    1.815702]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
>>> [    1.815705]  ttm_bo_validate+0x117/0x150 [ttm]
>>> [    1.815756]  ttm_bo_init_reserved+0x2c8/0x3c0 [ttm]
>>> [    1.815772]  qxl_bo_create+0x134/0x1d0 [qxl]
>>> [    1.815775]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
>>> [    1.815791]  qxl_alloc_bo_reserved+0x2c/0x90 [qxl]
>>> [    1.815794]  qxl_image_alloc_objects+0xa3/0x120 [qxl]
>>> [    1.815797]  qxl_draw_dirty_fb+0x155/0x450 [qxl]
>>> [    1.815815]  ? _cond_resched+0x15/0x40
>>> [    1.815819]  ? ww_mutex_lock_interruptible+0x12/0x60
>>> [    1.815822]  qxl_framebuffer_surface_dirty+0x14f/0x1a0 [qxl]
>>> [    1.815841]  drm_fb_helper_dirty_work+0x11d/0x180 [drm_kms_helper]
>>> [    1.815853]  process_one_work+0x1f5/0x3c0
>>> [    1.815866]  ? process_one_work+0x3c0/0x3c0
>>> [    1.815867]  worker_thread+0x2d/0x3d0
>>> [    1.815868]  ? process_one_work+0x3c0/0x3c0
>>> [    1.815872]  kthread+0x117/0x130
>>> [    1.815876]  ? kthread_park+0x90/0x90
>>> [    1.815880]  ret_from_fork+0x1f/0x30
>>> [    1.815886] ---[ end trace 51e464c1e89a1728 ]---
>>> [    1.815894] BUG: kernel NULL pointer dereference, address: 0000000000000230
>>> [    1.815895] #PF: supervisor read access in kernel mode
>>> [    1.815895] #PF: error_code(0x0000) - not-present page
>>> [    1.815896] PGD 0 P4D 0
>>> [    1.815898] Oops: 0000 [#1] SMP NOPTI
>>> [    1.815900] CPU: 7 PID: 355 Comm: kworker/7:2 Tainted: G        W   E     5.10.0.g489e9fe-master #26
>>> [    1.815901] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014
>>> [    1.815916] Workqueue: events drm_fb_helper_dirty_work [drm_kms_helper]
>>> [    1.815921] RIP: 0010:dma_map_page_attrs+0xf/0x1c0
>>> [    1.815922] Code: 1f 17 5b 01 48 85 c0 75 e3 31 c0 c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 0f 1f 44 00 00 41 55 41 54 55 53 48 83 ec 08 <48> 8b 87 30 02 00 00 48 85 c0 48 0f 44 05 e7 16 5b 01 41 83 f8 02
>>> [    1.815923] RSP: 0018:ffff888105d3b7e8 EFLAGS: 00010296
>>> [    1.815924] RAX: 0000000000001000 RBX: 0000000000000001 RCX: 0000000000001000
>>> [    1.815924] RDX: 0000000000000000 RSI: ffffea0004171e40 RDI: 0000000000000000
>>> [    1.815925] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
>>> [    1.815925] R10: ffffea0004171e40 R11: ffffc90000296000 R12: 0000000000000001
>>> [    1.815926] R13: ffff888106238820 R14: ffff888105d07100 R15: ffff888106978800
>>> [    1.815926] FS:  0000000000000000(0000) GS:ffff888237dc0000(0000) knlGS:0000000000000000
>>> [    1.815928] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>> [    1.815929] CR2: 0000000000000230 CR3: 0000000002010003 CR4: 00000000001706e0
>>> [    1.815929] Call Trace:
>>> [    1.815937]  ttm_pool_alloc+0x448/0x540 [ttm]
>>> [    1.815940]  ttm_tt_populate+0xb1/0xc0 [ttm]
>>> [    1.815942]  ttm_bo_move_memcpy+0x4a5/0x500 [ttm]
>>> [    1.815945]  qxl_bo_move+0x230/0x2f0 [qxl]
>>> [    1.815947]  ttm_bo_handle_move_mem+0x79/0x140 [ttm]
>>> [    1.815949]  ttm_bo_evict+0x124/0x250 [ttm]
>>> [    1.815982]  ? drm_mm_insert_node_in_range+0x55c/0x580 [drm]
>>> [    1.815984]  ttm_mem_evict_first+0x110/0x3d0 [ttm]
>>> [    1.815988]  ttm_bo_mem_space+0x261/0x270 [ttm]
>>> [    1.890133]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
>>> [    1.890138]  ttm_bo_validate+0x117/0x150 [ttm]
>>> [    1.891740]  ttm_bo_init_reserved+0x2c8/0x3c0 [ttm]
>>> [    1.891744]  qxl_bo_create+0x134/0x1d0 [qxl]
>>> [    1.893398]  ? qxl_ttm_debugfs_init+0xb0/0xb0 [qxl]
>>> [    1.893400]  qxl_alloc_bo_reserved+0x2c/0x90 [qxl]
>>> [    1.893402]  qxl_image_alloc_objects+0xa3/0x120 [qxl]
>>> [    1.893405]  qxl_draw_dirty_fb+0x155/0x450 [qxl]
>>> [    1.896515]  ? _cond_resched+0x15/0x40
>>> [    1.896517]  ? ww_mutex_lock_interruptible+0x12/0x60
>>> [    1.896520]  qxl_framebuffer_surface_dirty+0x14f/0x1a0 [qxl]
>>> [    1.896533]  drm_fb_helper_dirty_work+0x11d/0x180 [drm_kms_helper]
>>> [    1.896537]  process_one_work+0x1f5/0x3c0
>>> [    1.900535]  ? process_one_work+0x3c0/0x3c0
>>> [    1.900536]  worker_thread+0x2d/0x3d0
>>> [    1.900538]  ? process_one_work+0x3c0/0x3c0
>>> [    1.902704]  kthread+0x117/0x130
>>> [    1.902706]  ? kthread_park+0x90/0x90
>>> [    1.902709]  ret_from_fork+0x1f/0x30
>>> [    1.902711] Modules linked in: ext4(E) crc16(E) mbcache(E) jbd2(E) ata_generic(E) ata_piix(E) virtio_console(E) virtio_rng(E) virtio_blk(E) qxl(E) drm_ttm_helper(E) ttm(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) ahci(E) fb_sys_fops(E) cec(E) libahci(E) uhci_hcd(E) ehci_pci(E) rc_core(E) ehci_hcd(E) crc32c_intel(E) serio_raw(E) virtio_pci(E) virtio_ring(E) 8139cp(E) virtio(E) libata(E) drm(E) usbcore(E) mii(E) sg(E) dm_multipath(E) dm_mod(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) scsi_mod(E) autofs4(E)
>>> [    1.904797] Dumping ftrace buffer:
>>> [    1.911038]    (ftrace buffer empty)
>>> [    1.911041] CR2: 0000000000000230
>>>
>>>
>>>


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

end of thread, other threads:[~2020-12-18 13:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-16  2:41 drm, qxl: post 5.11 merge warning+explosion Mike Galbraith
2020-12-16 13:34 ` Mike Galbraith
2020-12-17 16:21   ` [bisected] " Mike Galbraith
2020-12-17 16:24     ` Christian König
2020-12-17 16:26       ` Mike Galbraith
2020-12-17 16:38         ` Christian König
2020-12-17 16:55           ` Mike Galbraith
2020-12-17 18:50           ` David Airlie
2020-12-18 13:52             ` Christian König

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).