From: Valdis.Kletnieks@vt.edu
To: Andrew Morton <akpm@linux-foundation.org>,
David Airlie <airlied@linux.ie>, Ben Skeggs <bskeggs@redhat.com>,
Francisco Jerez <currojerez@riseup.net>
Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org
Subject: mmotm 2010-07-27 - nouveau lockdep issues.
Date: Wed, 28 Jul 2010 01:42:03 -0400 [thread overview]
Message-ID: <31845.1280295723@localhost> (raw)
In-Reply-To: Your message of "Tue, 27 Jul 2010 14:56:50 PDT." <201007272226.o6RMQRBm008735@imap1.linux-foundation.org>
[-- Attachment #1: Type: text/plain, Size: 19505 bytes --]
On Tue, 27 Jul 2010 14:56:50 PDT, akpm@linux-foundation.org said:
> The mm-of-the-moment snapshot 2010-07-27-14-56 has been uploaded to
>
> http://userweb.kernel.org/~akpm/mmotm/
Hit this while the X server was on its way down during a 'shutdown -r now'. Worked fine
in -rc5-mmotm0719. 'e16' is the Enlightenment window manager, if that matters.
[ 93.181787] [drm:output_poll_execute] *ERROR* delayed enqueue failed 1
[ 99.802836] [drm] nouveau 0000:01:00.0: Allocating FIFO number 4
[ 99.808875] [drm] nouveau 0000:01:00.0: nouveau_channel_alloc: initialised FIFO 4
[ 103.262226] [drm:output_poll_execute] *ERROR* delayed enqueue failed 1
[ 113.341948] [drm:output_poll_execute] *ERROR* delayed enqueue failed 1
[ 123.421836] [drm:output_poll_execute] *ERROR* delayed enqueue failed 1
[ 123.550520] [drm] nouveau 0000:01:00.0: nouveau_channel_free: freeing fifo 4
[ 123.551253]
[ 123.551253] ======================================================
[ 123.551253] [ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ]
[ 123.551253] 2.6.35-rc6-mmotm0727 #1
[ 123.551253] ------------------------------------------------------
[ 123.551253] e16/3822 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
[ 123.551253] (&(&mm->unused_lock)->rlock){+.+...}, at: [<ffffffff812a94bc>] drm_mm_put_block+0x10e/0x142
[ 123.551253]
[ 123.551253] and this task is already holding:
[ 123.551253] (&(&dev_priv->context_switch_lock)->rlock){-.....}, at: [<ffffffff812bdbab>] nouveau_channel_free+0x10f/0x233
[ 123.551253] which would create a new lock dependency:
[ 123.551253] (&(&dev_priv->context_switch_lock)->rlock){-.....} -> (&(&mm->unused_lock)->rlock){+.+...}
[ 123.551253]
[ 123.551253] but this new dependency connects a HARDIRQ-irq-safe lock:
[ 123.551253] (&(&dev_priv->context_switch_lock)->rlock){-.....}
[ 123.551253] ... which became HARDIRQ-irq-safe at:
[ 123.551253] [<ffffffff81065043>] __lock_acquire+0x301/0xd6a
[ 123.551253] [<ffffffff81065fca>] lock_acquire+0x10a/0x130
[ 123.551253] [<ffffffff81594dda>] _raw_spin_lock_irqsave+0x44/0x57
[ 123.551253] [<ffffffff812c264b>] nouveau_irq_handler+0x63/0x1920
[ 123.551253] [<ffffffff810817bb>] handle_IRQ_event+0xad/0x213
[ 123.551253] [<ffffffff81083bd2>] handle_fasteoi_irq+0xd1/0x115
[ 123.551253] [<ffffffff81004b6e>] handle_irq+0x122/0x133
[ 123.551253] [<ffffffff8100499f>] do_IRQ+0x57/0xaf
[ 123.551253]
[ 123.604031] [drm] nouveau 0000:01:00.0: GPU lockup - switching to software fbcon
[ 123.604031] [<ffffffff81595cd3>] ret_from_intr+0x0/0xf
[ 123.604031] [<ffffffff81000c73>] cpu_idle+0x85/0x169
[ 123.604031] [<ffffffff81b62061>] start_secondary+0x1b1/0x1b5
[ 123.604031]
[ 123.604031] to a HARDIRQ-irq-unsafe lock:
[ 123.604031] (&(&mm->unused_lock)->rlock){+.+...}
[ 123.604031] ... which became HARDIRQ-irq-unsafe at:
[ 123.604031] ... [<ffffffff810650c4>] __lock_acquire+0x382/0xd6a
[ 123.604031] [<ffffffff81065fca>] lock_acquire+0x10a/0x130
[ 123.604031] [<ffffffff81594ce1>] _raw_spin_lock+0x36/0x45
[ 123.604031] [<ffffffff812a9669>] drm_mm_pre_get+0x24/0xb2
[ 123.604031] [<ffffffff812b748b>] ttm_bo_init+0x1fe/0x3c0
[ 123.604031] [<ffffffff812c5dce>] nouveau_bo_new+0x3ae/0x423
[ 123.604031] [<ffffffff812bf2c8>] nouveau_mem_init+0x293/0x487
[ 123.604031] [<ffffffff812bce55>] nouveau_card_init+0xa5e/0xd52
[ 123.604031] [<ffffffff812bd675>] nouveau_load+0x519/0x528
[ 123.604031] [<ffffffff812a74af>] drm_get_pci_dev+0x174/0x26a
[ 123.604031] [<ffffffff8158a14e>] nouveau_pci_probe+0x10/0x12
[ 123.604031] [<ffffffff812228ce>] local_pci_probe+0x3f/0x70
[ 123.604031] [<ffffffff81222c4c>] pci_device_probe+0x65/0x96
[ 123.604031] [<ffffffff8130a840>] driver_probe_device+0xe8/0x182
[ 123.604031] [<ffffffff8130a924>] __driver_attach+0x4a/0x6b
[ 123.604031] [<ffffffff81309a2f>] bus_for_each_dev+0x57/0x83
[ 123.604031] [<ffffffff8130a505>] driver_attach+0x19/0x1b
[ 123.604031] [<ffffffff8130a147>] bus_add_driver+0xae/0x205
[ 123.604031] [<ffffffff8130ab80>] driver_register+0xb5/0x122
[ 123.604031] [<ffffffff81222e82>] __pci_register_driver+0x61/0xcd
[ 123.604031] [<ffffffff812a7839>] drm_pci_init+0x31/0x98
[ 123.604031] [<ffffffff812a003f>] drm_init+0x5d/0x61
[ 123.604031] [<ffffffff81b4e59a>] nouveau_init+0x48/0x4a
[ 123.604031] [<ffffffff810002ff>] do_one_initcall+0x7a/0x12f
[ 123.604031] [<ffffffff81b2ccae>] kernel_init+0x138/0x1c2
[ 123.604031] [<ffffffff81003554>] kernel_thread_helper+0x4/0x10
[ 123.604031]
[ 123.604031] other info that might help us debug this:
[ 123.604031]
[ 123.604031] 1 lock held by e16/3822:
[ 123.604031] #0: (&(&dev_priv->context_switch_lock)->rlock){-.....}, at: [<ffffffff812bdbab>] nouveau_channel_free+0x10f/0x233
[ 123.604031]
[ 123.604031] the dependencies between HARDIRQ-irq-safe lock and the holding lock:
[ 123.604031] -> (&(&dev_priv->context_switch_lock)->rlock){-.....} ops: 15 {
[ 123.604031] IN-HARDIRQ-W at:
[ 123.604031] [<ffffffff81065043>] __lock_acquire+0x301/0xd6a
[ 123.604031] [<ffffffff81065fca>] lock_acquire+0x10a/0x130
[ 123.604031] [<ffffffff81594dda>] _raw_spin_lock_irqsave+0x44/0x57
[ 123.604031] [<ffffffff812c264b>] nouveau_irq_handler+0x63/0x1920
[ 123.604031] [<ffffffff810817bb>] handle_IRQ_event+0xad/0x213
[ 123.604031] [<ffffffff81083bd2>] handle_fasteoi_irq+0xd1/0x115
[ 123.604031] [<ffffffff81004b6e>] handle_irq+0x122/0x133
[ 123.604031] [<ffffffff8100499f>] do_IRQ+0x57/0xaf
[ 123.604031] [<ffffffff81595cd3>] ret_from_intr+0x0/0xf
[ 123.604031] [<ffffffff81000c73>] cpu_idle+0x85/0x169
[ 123.604031] [<ffffffff81b62061>] start_secondary+0x1b1/0x1b5
[ 123.604031] INITIAL USE at:
[ 123.604031] [<ffffffff81065145>] __lock_acquire+0x403/0xd6a
[ 123.604031] [<ffffffff81065fca>] lock_acquire+0x10a/0x130
[ 123.604031] [<ffffffff81594dda>] _raw_spin_lock_irqsave+0x44/0x57
[ 123.604031] [<ffffffff812c264b>] nouveau_irq_handler+0x63/0x1920
[ 123.604031] [<ffffffff810817bb>] handle_IRQ_event+0xad/0x213
[ 123.604031] [<ffffffff81083bd2>] handle_fasteoi_irq+0xd1/0x115
[ 123.604031] [<ffffffff81004b6e>] handle_irq+0x122/0x133
[ 123.604031] [<ffffffff8100499f>] do_IRQ+0x57/0xaf
[ 123.604031] [<ffffffff81595cd3>] ret_from_intr+0x0/0xf
[ 123.604031] [<ffffffff81000c73>] cpu_idle+0x85/0x169
[ 123.604031] [<ffffffff81b62061>] start_secondary+0x1b1/0x1b5
[ 123.604031] }
[ 123.604031] ... key at: [<ffffffff8243b758>] __key.32520+0x0/0x8
[ 123.604031] ... acquired at:
[ 123.604031] [<ffffffff810648cd>] check_irq_usage+0x42/0x89
[ 123.604031] [<ffffffff810657d6>] __lock_acquire+0xa94/0xd6a
[ 123.604031] [<ffffffff81065fca>] lock_acquire+0x10a/0x130
[ 123.604031] [<ffffffff81594ce1>] _raw_spin_lock+0x36/0x45
[ 123.604031] [<ffffffff812a94bc>] drm_mm_put_block+0x10e/0x142
[ 123.604031] [<ffffffff812bf7e2>] nouveau_gpuobj_del+0x14c/0x179
[ 123.604031] [<ffffffff812c02ad>] nouveau_gpuobj_ref_del+0x25d/0x284
[ 123.604031] [<ffffffff812e3fb2>] nv50_graph_destroy_context+0xd0/0xdc
[ 123.604031] [<ffffffff812bdbdd>] nouveau_channel_free+0x141/0x233
[ 123.604031] [<ffffffff812be5bf>] nouveau_ioctl_fifo_free+0x79/0x86
[ 123.604031] [<ffffffff8129fdab>] drm_ioctl+0x2b3/0x36b
[ 123.604031] [<ffffffff810ec6fc>] vfs_ioctl+0x31/0xa2
[ 123.604031] [<ffffffff810ed07b>] do_vfs_ioctl+0x496/0x4c9
[ 123.604031] [<ffffffff810ed105>] sys_ioctl+0x57/0x96
[ 123.604031] [<ffffffff8100272b>] system_call_fastpath+0x16/0x1b
[ 123.604031]
[ 123.604031]
[ 123.604031] the dependencies between the lock to be acquired and HARDIRQ-irq-unsafe lock:
[ 123.604031] -> (&(&mm->unused_lock)->rlock){+.+...} ops: 10338 {
[ 123.604031] HARDIRQ-ON-W at:
[ 123.604031] [<ffffffff810650c4>] __lock_acquire+0x382/0xd6a
[ 123.604031] [<ffffffff81065fca>] lock_acquire+0x10a/0x130
[ 123.604031] [<ffffffff81594ce1>] _raw_spin_lock+0x36/0x45
[ 123.604031] [<ffffffff812a9669>] drm_mm_pre_get+0x24/0xb2
[ 123.604031] [<ffffffff812b748b>] ttm_bo_init+0x1fe/0x3c0
[ 123.604031] [<ffffffff812c5dce>] nouveau_bo_new+0x3ae/0x423
[ 123.604031] [<ffffffff812bf2c8>] nouveau_mem_init+0x293/0x487
[ 123.604031] [<ffffffff812bce55>] nouveau_card_init+0xa5e/0xd52
[ 123.604031] [<ffffffff812bd675>] nouveau_load+0x519/0x528
[ 123.604031] [<ffffffff812a74af>] drm_get_pci_dev+0x174/0x26a
[ 123.604031] [<ffffffff8158a14e>] nouveau_pci_probe+0x10/0x12
[ 123.604031] [<ffffffff812228ce>] local_pci_probe+0x3f/0x70
[ 123.604031] [<ffffffff81222c4c>] pci_device_probe+0x65/0x96
[ 123.604031] [<ffffffff8130a840>] driver_probe_device+0xe8/0x182
[ 123.604031] [<ffffffff8130a924>] __driver_attach+0x4a/0x6b
[ 123.604031] [<ffffffff81309a2f>] bus_for_each_dev+0x57/0x83
[ 123.604031] [<ffffffff8130a505>] driver_attach+0x19/0x1b
[ 123.604031] [<ffffffff8130a147>] bus_add_driver+0xae/0x205
[ 123.604031] [<ffffffff8130ab80>] driver_register+0xb5/0x122
[ 123.604031] [<ffffffff81222e82>] __pci_register_driver+0x61/0xcd
[ 123.604031] [<ffffffff812a7839>] drm_pci_init+0x31/0x98
[ 123.604031] [<ffffffff812a003f>] drm_init+0x5d/0x61
[ 123.604031] [<ffffffff81b4e59a>] nouveau_init+0x48/0x4a
[ 123.604031] [<ffffffff810002ff>] do_one_initcall+0x7a/0x12f
[ 123.604031] [<ffffffff81b2ccae>] kernel_init+0x138/0x1c2
[ 123.604031] [<ffffffff81003554>] kernel_thread_helper+0x4/0x10
[ 123.604031] SOFTIRQ-ON-W at:
[ 123.604031] [<ffffffff810650e5>] __lock_acquire+0x3a3/0xd6a
[ 123.604031] [<ffffffff81065fca>] lock_acquire+0x10a/0x130
[ 123.604031] [<ffffffff81594ce1>] _raw_spin_lock+0x36/0x45
[ 123.604031] [<ffffffff812a9669>] drm_mm_pre_get+0x24/0xb2
[ 123.604031] [<ffffffff812b748b>] ttm_bo_init+0x1fe/0x3c0
[ 123.604031] [<ffffffff812c5dce>] nouveau_bo_new+0x3ae/0x423
[ 123.604031] [<ffffffff812bf2c8>] nouveau_mem_init+0x293/0x487
[ 123.604031] [<ffffffff812bce55>] nouveau_card_init+0xa5e/0xd52
[ 123.604031] [<ffffffff812bd675>] nouveau_load+0x519/0x528
[ 123.604031] [<ffffffff812a74af>] drm_get_pci_dev+0x174/0x26a
[ 123.604031] [<ffffffff8158a14e>] nouveau_pci_probe+0x10/0x12
[ 123.604031] [<ffffffff812228ce>] local_pci_probe+0x3f/0x70
[ 123.604031] [<ffffffff81222c4c>] pci_device_probe+0x65/0x96
[ 123.604031] [<ffffffff8130a840>] driver_probe_device+0xe8/0x182
[ 123.604031] [<ffffffff8130a924>] __driver_attach+0x4a/0x6b
[ 123.604031] [<ffffffff81309a2f>] bus_for_each_dev+0x57/0x83
[ 123.604031] [<ffffffff8130a505>] driver_attach+0x19/0x1b
[ 123.604031] [<ffffffff8130a147>] bus_add_driver+0xae/0x205
[ 123.604031] [<ffffffff8130ab80>] driver_register+0xb5/0x122
[ 123.604031] [<ffffffff81222e82>] __pci_register_driver+0x61/0xcd
[ 123.604031] [<ffffffff812a7839>] drm_pci_init+0x31/0x98
[ 123.604031] [<ffffffff812a003f>] drm_init+0x5d/0x61
[ 123.604031] [<ffffffff81b4e59a>] nouveau_init+0x48/0x4a
[ 123.604031] [<ffffffff810002ff>] do_one_initcall+0x7a/0x12f
[ 123.604031] [<ffffffff81b2ccae>] kernel_init+0x138/0x1c2
[ 123.604031] [<ffffffff81003554>] kernel_thread_helper+0x4/0x10
[ 123.604031] INITIAL USE at:
[ 123.604031] [<ffffffff81065145>] __lock_acquire+0x403/0xd6a
[ 123.604031] [<ffffffff81065fca>] lock_acquire+0x10a/0x130
[ 123.604031] [<ffffffff81594ce1>] _raw_spin_lock+0x36/0x45
[ 123.604031] [<ffffffff812a9669>] drm_mm_pre_get+0x24/0xb2
[ 123.604031] [<ffffffff812b748b>] ttm_bo_init+0x1fe/0x3c0
[ 123.604031] [<ffffffff812c5dce>] nouveau_bo_new+0x3ae/0x423
[ 123.604031] [<ffffffff812bf2c8>] nouveau_mem_init+0x293/0x487
[ 123.604031] [<ffffffff812bce55>] nouveau_card_init+0xa5e/0xd52
[ 123.604031] [<ffffffff812bd675>] nouveau_load+0x519/0x528
[ 123.604031] [<ffffffff812a74af>] drm_get_pci_dev+0x174/0x26a
[ 123.604031] [<ffffffff8158a14e>] nouveau_pci_probe+0x10/0x12
[ 123.604031] [<ffffffff812228ce>] local_pci_probe+0x3f/0x70
[ 123.604031] [<ffffffff81222c4c>] pci_device_probe+0x65/0x96
[ 123.604031] [<ffffffff8130a840>] driver_probe_device+0xe8/0x182
[ 123.604031] [<ffffffff8130a924>] __driver_attach+0x4a/0x6b
[ 123.604031] [<ffffffff81309a2f>] bus_for_each_dev+0x57/0x83
[ 123.604031] [<ffffffff8130a505>] driver_attach+0x19/0x1b
[ 123.604031] [<ffffffff8130a147>] bus_add_driver+0xae/0x205
[ 123.604031] [<ffffffff8130ab80>] driver_register+0xb5/0x122
[ 123.604031] [<ffffffff81222e82>] __pci_register_driver+0x61/0xcd
[ 123.604031] [<ffffffff812a7839>] drm_pci_init+0x31/0x98
[ 123.604031] [<ffffffff812a003f>] drm_init+0x5d/0x61
[ 123.604031] [<ffffffff81b4e59a>] nouveau_init+0x48/0x4a
[ 123.604031] [<ffffffff810002ff>] do_one_initcall+0x7a/0x12f
[ 123.604031] [<ffffffff81b2ccae>] kernel_init+0x138/0x1c2
[ 123.604031] [<ffffffff81003554>] kernel_thread_helper+0x4/0x10
[ 123.604031] }
[ 123.604031] ... key at: [<ffffffff8243b408>] __key.30042+0x0/0x8
[ 123.604031] ... acquired at:
[ 123.604031] [<ffffffff810648cd>] check_irq_usage+0x42/0x89
[ 123.604031] [<ffffffff810657d6>] __lock_acquire+0xa94/0xd6a
[ 123.604031] [<ffffffff81065fca>] lock_acquire+0x10a/0x130
[ 123.604031] [<ffffffff81594ce1>] _raw_spin_lock+0x36/0x45
[ 123.604031] [<ffffffff812a94bc>] drm_mm_put_block+0x10e/0x142
[ 123.604031] [<ffffffff812bf7e2>] nouveau_gpuobj_del+0x14c/0x179
[ 123.604031] [<ffffffff812c02ad>] nouveau_gpuobj_ref_del+0x25d/0x284
[ 123.604031] [<ffffffff812e3fb2>] nv50_graph_destroy_context+0xd0/0xdc
[ 123.604031] [<ffffffff812bdbdd>] nouveau_channel_free+0x141/0x233
[ 123.604031] [<ffffffff812be5bf>] nouveau_ioctl_fifo_free+0x79/0x86
[ 123.604031] [<ffffffff8129fdab>] drm_ioctl+0x2b3/0x36b
[ 123.604031] [<ffffffff810ec6fc>] vfs_ioctl+0x31/0xa2
[ 123.604031] [<ffffffff810ed07b>] do_vfs_ioctl+0x496/0x4c9
[ 123.604031] [<ffffffff810ed105>] sys_ioctl+0x57/0x96
[ 123.604031] [<ffffffff8100272b>] system_call_fastpath+0x16/0x1b
[ 123.604031]
[ 123.604031]
[ 123.604031] stack backtrace:
[ 123.604031] Pid: 3822, comm: e16 Tainted: G W 2.6.35-rc6-mmotm0727 #1
[ 123.604031] Call Trace:
[ 123.604031] [<ffffffff81064876>] check_usage+0x351/0x366
[ 123.604031] [<ffffffff8106313b>] ? register_lock_class+0x1e/0x2c7
[ 123.604031] [<ffffffff810648cd>] check_irq_usage+0x42/0x89
[ 123.604031] [<ffffffff810657d6>] __lock_acquire+0xa94/0xd6a
[ 123.604031] [<ffffffff810652ba>] ? __lock_acquire+0x578/0xd6a
[ 123.604031] [<ffffffff812a94bc>] ? drm_mm_put_block+0x10e/0x142
[ 123.604031] [<ffffffff81065fca>] lock_acquire+0x10a/0x130
[ 123.604031] [<ffffffff812a94bc>] ? drm_mm_put_block+0x10e/0x142
[ 123.604031] [<ffffffff81594ce1>] _raw_spin_lock+0x36/0x45
[ 123.604031] [<ffffffff812a94bc>] ? drm_mm_put_block+0x10e/0x142
[ 123.604031] [<ffffffff812a94bc>] drm_mm_put_block+0x10e/0x142
[ 123.604031] [<ffffffff812bf7e2>] nouveau_gpuobj_del+0x14c/0x179
[ 123.604031] [<ffffffff812c02ad>] nouveau_gpuobj_ref_del+0x25d/0x284
[ 123.604031] [<ffffffff812e3fb2>] nv50_graph_destroy_context+0xd0/0xdc
[ 123.604031] [<ffffffff812bdbdd>] nouveau_channel_free+0x141/0x233
[ 123.604031] [<ffffffff8109a0f9>] ? trace_preempt_off+0x15/0x28
[ 123.604031] [<ffffffff8129fd9c>] ? drm_ioctl+0x2a4/0x36b
[ 123.604031] [<ffffffff812be5bf>] nouveau_ioctl_fifo_free+0x79/0x86
[ 123.604031] [<ffffffff8129fdab>] drm_ioctl+0x2b3/0x36b
[ 123.604031] [<ffffffff812be546>] ? nouveau_ioctl_fifo_free+0x0/0x86
[ 123.604031] [<ffffffff81064b97>] ? mark_lock+0x2d/0x1d8
[ 123.604031] [<ffffffff810ec6fc>] vfs_ioctl+0x31/0xa2
[ 123.604031] [<ffffffff810ed07b>] do_vfs_ioctl+0x496/0x4c9
[ 123.604031] [<ffffffff810ed105>] sys_ioctl+0x57/0x96
[ 123.604031] [<ffffffff8100272b>] system_call_fastpath+0x16/0x1b
[-- Attachment #2: Type: application/pgp-signature, Size: 227 bytes --]
next prev parent reply other threads:[~2010-07-28 5:43 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-27 21:56 mmotm 2010-07-27-14-56 uploaded akpm
2010-07-28 5:30 ` mmotm 2010-07-27 - WARNING in ec_parse_io_ports() Valdis.Kletnieks
2010-07-28 11:17 ` Thomas Renninger
2010-07-28 5:42 ` Valdis.Kletnieks [this message]
2010-07-28 6:03 ` mmotm 2010-07-27 - nouveau lockdep issues Marcin Slusarz
2010-07-28 15:54 ` mmotm 2010-07-27-14-56 uploaded (staging/iio) Randy Dunlap
2010-07-28 18:32 ` Jonathan Cameron
2010-07-28 22:23 ` mmotm 2010-07-27 - hda-intel audio fails to initialize Valdis.Kletnieks
2010-07-29 5:37 ` Takashi Iwai
2010-07-29 16:05 ` Valdis.Kletnieks
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=31845.1280295723@localhost \
--to=valdis.kletnieks@vt.edu \
--cc=airlied@linux.ie \
--cc=akpm@linux-foundation.org \
--cc=bskeggs@redhat.com \
--cc=currojerez@riseup.net \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox