All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <1528822708.13468.9.camel@nxp.com>

diff --git a/a/1.txt b/N1/1.txt
index 1722958..74cf459 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -7,88 +7,88 @@ dynamically in virt-dma instead of static allocated as before. I'll
 make another uart patch into my next version patchset.
 
 
-[???46.155406] =====================================================
-[???46.161503] WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order
+[   46.155406] =====================================================
+[   46.161503] WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order
 detected
-[???46.168122] 4.17.0-rc6-00008-g7caafa3-dirty #48 Not tainted
-[???46.173696] -----------------------------------------------------
-[???46.179795] mxc_uart_stress/419 [HC0[0]:SC0[0]:HE0:SE1] is trying to
+[   46.168122] 4.17.0-rc6-00008-g7caafa3-dirty #48 Not tainted
+[   46.173696] -----------------------------------------------------
+[   46.179795] mxc_uart_stress/419 [HC0[0]:SC0[0]:HE0:SE1] is trying to
 acquire:
-[???46.186934] fa7c1440 (fs_reclaim){+.+.}, at:
+[   46.186934] fa7c1440 (fs_reclaim){+.+.}, at:
 fs_reclaim_acquire.part.3+0x0/0x48
-[???46.194270]
-[???46.194270] and this task is already holding:
-[???46.200106] 09a17fda (&port_lock_key){-.-.}, at:
+[   46.194270]
+[   46.194270] and this task is already holding:
+[   46.200106] 09a17fda (&port_lock_key){-.-.}, at:
 uart_write+0x84/0x190
-[???46.206658] which would create a new lock dependency:
-[???46.211710]??(&port_lock_key){-.-.} -> (fs_reclaim){+.+.}
-[???46.217132]
-[???46.217132] but this new dependency connects a HARDIRQ-irq-safe
+[   46.206658] which would create a new lock dependency:
+[   46.211710]  (&port_lock_key){-.-.} -> (fs_reclaim){+.+.}
+[   46.217132]
+[   46.217132] but this new dependency connects a HARDIRQ-irq-safe
 lock:
-[???46.225051]??(&port_lock_key){-.-.}
-[???46.225062]
-[???46.225062] ... which became HARDIRQ-irq-safe at:
-[???46.234740]???lock_acquire+0x70/0x90
-[???46.238326]???_raw_spin_lock_irqsave+0x40/0x54
-[???46.242777]???imx_uart_console_write+0x1bc/0x1e0
-[???46.247402]???console_unlock+0x320/0x5f0
-[???46.251329]???vprintk_emit+0x22c/0x3fc
-[???46.255082]???vprintk_default+0x28/0x30
-[???46.258923]???vprintk_func+0x78/0xcc
-[???46.262503]???printk+0x34/0x54
-[???46.265566]???crng_fast_load+0xf8/0x138
-[???46.269407]???add_interrupt_randomness+0x21c/0x24c
-[???46.274204]???handle_irq_event_percpu+0x40/0x84
-[???46.278739]???handle_irq_event+0x40/0x64
-[???46.282667]???handle_fasteoi_irq+0xbc/0x178
-[???46.286854]???generic_handle_irq+0x28/0x3c
-[???46.290954]???__handle_domain_irq+0x6c/0xe8
-[???46.295148]???gic_handle_irq+0x64/0xc4
-[???46.298904]???__irq_svc+0x70/0x98
-[???46.302225]???_raw_spin_unlock_irq+0x30/0x34
-[???46.306505]???finish_task_switch+0xc0/0x27c
-[???46.310693]???__schedule+0x2c0/0x79c
-[???46.314272]???schedule_idle+0x40/0x84
-[???46.317941]???do_idle+0x178/0x2b4
-[???46.321259]???cpu_startup_entry+0x20/0x24
-[???46.325278]???rest_init+0x214/0x264
-[???46.328775]???start_kernel+0x39c/0x424
-[???46.332527]?????(null)
-[???46.334891]
-[???46.334891] to a HARDIRQ-irq-unsafe lock:
-[???46.340379]??(fs_reclaim){+.+.}
-[???46.340391]
-[???46.340391] ... which became HARDIRQ-irq-unsafe at:
-[???46.349885] ...
-[???46.349895]???lock_acquire+0x70/0x90
-[???46.355225]???fs_reclaim_acquire.part.3+0x38/0x48
-[???46.359933]???fs_reclaim_acquire+0x1c/0x20
-[???46.364036]???kmem_cache_alloc+0x2c/0x174
-[???46.368051]???alloc_worker.constprop.10+0x1c/0x58
-[???46.372759]???init_rescuer.part.4+0x18/0xa4
-[???46.376952]???workqueue_init+0xc0/0x210
-[???46.380793]???kernel_init_freeable+0x58/0x1d8
-[???46.385156]???kernel_init+0x10/0x11c
-[???46.388736]???ret_from_fork+0x14/0x20
-[???46.392399]?????(null)
-[???46.394762]
-[???46.394762] other info that might help us debug this:
-[???46.394762]
-[???46.402769]??Possible interrupt unsafe locking scenario:
-[???46.402769]
-[???46.409560]????????CPU0????????????????????CPU1
-[???46.414092]????????----????????????????????----
-[???46.418622]???lock(fs_reclaim);
-[???46.421772]????????????????????????????????local_irq_disable();
-[???46.427693]????????????????????????????????lock(&port_lock_key);
-[???46.433707]????????????????????????????????lock(fs_reclaim);
-[???46.439372]???<Interrupt>
-[???46.441993]?????lock(&port_lock_key);
-[???46.445661]
-[???46.445661]??*** DEADLOCK ***
-[???46.445661]
+[   46.225051]  (&port_lock_key){-.-.}
+[   46.225062]
+[   46.225062] ... which became HARDIRQ-irq-safe at:
+[   46.234740]   lock_acquire+0x70/0x90
+[   46.238326]   _raw_spin_lock_irqsave+0x40/0x54
+[   46.242777]   imx_uart_console_write+0x1bc/0x1e0
+[   46.247402]   console_unlock+0x320/0x5f0
+[   46.251329]   vprintk_emit+0x22c/0x3fc
+[   46.255082]   vprintk_default+0x28/0x30
+[   46.258923]   vprintk_func+0x78/0xcc
+[   46.262503]   printk+0x34/0x54
+[   46.265566]   crng_fast_load+0xf8/0x138
+[   46.269407]   add_interrupt_randomness+0x21c/0x24c
+[   46.274204]   handle_irq_event_percpu+0x40/0x84
+[   46.278739]   handle_irq_event+0x40/0x64
+[   46.282667]   handle_fasteoi_irq+0xbc/0x178
+[   46.286854]   generic_handle_irq+0x28/0x3c
+[   46.290954]   __handle_domain_irq+0x6c/0xe8
+[   46.295148]   gic_handle_irq+0x64/0xc4
+[   46.298904]   __irq_svc+0x70/0x98
+[   46.302225]   _raw_spin_unlock_irq+0x30/0x34
+[   46.306505]   finish_task_switch+0xc0/0x27c
+[   46.310693]   __schedule+0x2c0/0x79c
+[   46.314272]   schedule_idle+0x40/0x84
+[   46.317941]   do_idle+0x178/0x2b4
+[   46.321259]   cpu_startup_entry+0x20/0x24
+[   46.325278]   rest_init+0x214/0x264
+[   46.328775]   start_kernel+0x39c/0x424
+[   46.332527]     (null)
+[   46.334891]
+[   46.334891] to a HARDIRQ-irq-unsafe lock:
+[   46.340379]  (fs_reclaim){+.+.}
+[   46.340391]
+[   46.340391] ... which became HARDIRQ-irq-unsafe at:
+[   46.349885] ...
+[   46.349895]   lock_acquire+0x70/0x90
+[   46.355225]   fs_reclaim_acquire.part.3+0x38/0x48
+[   46.359933]   fs_reclaim_acquire+0x1c/0x20
+[   46.364036]   kmem_cache_alloc+0x2c/0x174
+[   46.368051]   alloc_worker.constprop.10+0x1c/0x58
+[   46.372759]   init_rescuer.part.4+0x18/0xa4
+[   46.376952]   workqueue_init+0xc0/0x210
+[   46.380793]   kernel_init_freeable+0x58/0x1d8
+[   46.385156]   kernel_init+0x10/0x11c
+[   46.388736]   ret_from_fork+0x14/0x20
+[   46.392399]     (null)
+[   46.394762]
+[   46.394762] other info that might help us debug this:
+[   46.394762]
+[   46.402769]  Possible interrupt unsafe locking scenario:
+[   46.402769]
+[   46.409560]        CPU0                    CPU1
+[   46.414092]        ----                    ----
+[   46.418622]   lock(fs_reclaim);
+[   46.421772]                                local_irq_disable();
+[   46.427693]                                lock(&port_lock_key);
+[   46.433707]                                lock(fs_reclaim);
+[   46.439372]   <Interrupt>
+[   46.441993]     lock(&port_lock_key);
+[   46.445661]
+[   46.445661]  *** DEADLOCK ***
+[   46.445661]
 
-On ?, 2018-06-11 at 13:01 +0200, Lucas Stach wrote:
+On 一, 2018-06-11 at 13:01 +0200, Lucas Stach wrote:
 > Hi Robin,
 > 
 > this series breaks serial DMA for me. I wasn't able to dig in deeper
@@ -102,19 +102,19 @@ On ?, 2018-06-11 at 13:01 +0200, Lucas Stach wrote:
 > Am Montag, den 11.06.2018, 22:59 +0800 schrieb Robin Gong:
 > > 
 > > The legacy sdma driver has below limitations or drawbacks:
-> > ? 1. Hardcode the max BDs number as "PAGE_SIZE / sizeof(*)", and
+> >   1. Hardcode the max BDs number as "PAGE_SIZE / sizeof(*)", and
 > > alloc
-> > ?????one page size for one channel regardless of only few BDs
+> >      one page size for one channel regardless of only few BDs
 > > needed
-> > ?????most time. But in few cases, the max PAGE_SIZE maybe not
+> >      most time. But in few cases, the max PAGE_SIZE maybe not
 > > enough.
-> > ? 2. One SDMA channel can't stop immediatley once channel disabled
+> >   2. One SDMA channel can't stop immediatley once channel disabled
 > > which
-> > ?????means SDMA interrupt may come in after this channel
+> >      means SDMA interrupt may come in after this channel
 > > terminated.There
-> > ?????are some patches for this corner case such as commit
+> >      are some patches for this corner case such as commit
 > > "2746e2c389f9",
-> > ?????but not cover non-cyclic.
+> >      but not cover non-cyclic.
 > > 
 > > The common virt-dma overcomes the above limitations. It can alloc
 > > bd
@@ -130,50 +130,50 @@ On ?, 2018-06-11 at 13:01 +0200, Lucas Stach wrote:
 > > maintain.
 > > 
 > > Change from v2:
-> > ? 1. include Sascha's patch to make the main patch easier to
+> >   1. include Sascha's patch to make the main patch easier to
 > > review.
-> > ?????Thanks Sacha.
-> > ? 2. remove useless 'desc'/'chan' in struct sdma_channe.
+> >      Thanks Sacha.
+> >   2. remove useless 'desc'/'chan' in struct sdma_channe.
 > > 
 > > Change from v1:
-> > ? 1. split v1 patch into 5 patches.
-> > ? 2. remove some unnecessary condition check.
-> > ? 3. remove unnecessary 'pending' list.
+> >   1. split v1 patch into 5 patches.
+> >   2. remove some unnecessary condition check.
+> >   3. remove unnecessary 'pending' list.
 > > 
 > > Robin Gong (5):
-> > ? dmaengine: imx-sdma: add virt-dma support
-> > ? Revert "dmaengine: imx-sdma: fix pagefault when channel is
+> >   dmaengine: imx-sdma: add virt-dma support
+> >   Revert "dmaengine: imx-sdma: fix pagefault when channel is
 > > disabled
-> > ????during interrupt"
-> > ? dmaengine: imx-sdma: remove usless lock
-> > ? dmaengine: imx-sdma: remove the maximum limation for bd numbers
-> > ? dmaengine: imx-sdma: add sdma_transfer_init to decrease code
+> >     during interrupt"
+> >   dmaengine: imx-sdma: remove usless lock
+> >   dmaengine: imx-sdma: remove the maximum limation for bd numbers
+> >   dmaengine: imx-sdma: add sdma_transfer_init to decrease code
 > > overlap
 > > 
-> > ?drivers/dma/Kconfig????|???1 +
-> > ?drivers/dma/imx-sdma.c | 392 ++++++++++++++++++++++++++++---------
+> >  drivers/dma/Kconfig    |   1 +
+> >  drivers/dma/imx-sdma.c | 392 ++++++++++++++++++++++++++++---------
 > > ------------
-> > ?2 files changed, 227 insertions(+), 166 deletions(-)
+> >  2 files changed, 227 insertions(+), 166 deletions(-)
 > > 
-> > --?
+> > -- 
 > > 2.7.4
 > > 
 > > Robin Gong (5):
-> > ? dmaengine: imx-sdma: add virt-dma support
-> > ? Revert "dmaengine: imx-sdma: fix pagefault when channel is
+> >   dmaengine: imx-sdma: add virt-dma support
+> >   Revert "dmaengine: imx-sdma: fix pagefault when channel is
 > > disabled
-> > ????during interrupt"
-> > ? dmaengine: imx-sdma: remove usless lock
-> > ? dmaengine: imx-sdma: remove the maximum limation for bd numbers
-> > ? dmaengine: imx-sdma: add sdma_transfer_init to decrease code
+> >     during interrupt"
+> >   dmaengine: imx-sdma: remove usless lock
+> >   dmaengine: imx-sdma: remove the maximum limation for bd numbers
+> >   dmaengine: imx-sdma: add sdma_transfer_init to decrease code
 > > overlap
 > > 
 > > Sascha Hauer (1):
-> > ? dmaengine: imx-sdma: factor out a struct sdma_desc from struct
-> > ????sdma_channel
+> >   dmaengine: imx-sdma: factor out a struct sdma_desc from struct
+> >     sdma_channel
 > > 
-> > ?drivers/dma/Kconfig????|???1 +
-> > ?drivers/dma/imx-sdma.c | 391 ++++++++++++++++++++++++++++---------
+> >  drivers/dma/Kconfig    |   1 +
+> >  drivers/dma/imx-sdma.c | 391 ++++++++++++++++++++++++++++---------
 > > ------------
-> > ?2 files changed, 226 insertions(+), 166 deletions(-)
+> >  2 files changed, 226 insertions(+), 166 deletions(-)
 > >
diff --git a/a/content_digest b/N1/content_digest
index 759574a..3d68cf2 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,9 +1,16 @@
  "ref\01528729173-28684-1-git-send-email-yibin.gong@nxp.com\0"
  "ref\01528714877.2842.3.camel@pengutronix.de\0"
- "From\0yibin.gong@nxp.com (Robin Gong)\0"
- "Subject\0[PATCH v3 0/6] add virt-dma support for imx-sdma\0"
+ "From\0Robin Gong <yibin.gong@nxp.com>\0"
+ "Subject\0Re: [PATCH v3 0/6] add virt-dma support for imx-sdma\0"
  "Date\0Tue, 12 Jun 2018 08:58:49 +0000\0"
- "To\0linux-arm-kernel@lists.infradead.org\0"
+ "To\0l.stach@pengutronix.de <l.stach@pengutronix.de>"
+  s.hauer@pengutronix.de <s.hauer@pengutronix.de>
+  vkoul@kernel.org <vkoul@kernel.org>
+ " dan.j.williams@intel.com <dan.j.williams@intel.com>\0"
+ "Cc\0dmaengine@vger.kernel.org <dmaengine@vger.kernel.org>"
+  linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>
+  linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org>
+ " dl-linux-imx <linux-imx@nxp.com>\0"
  "\00:1\0"
  "b\0"
  "Hi Lucas,\n"
@@ -15,88 +22,88 @@
  "make another uart patch into my next version patchset.\n"
  "\n"
  "\n"
- "[???46.155406] =====================================================\n"
- "[???46.161503] WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order\n"
+ "[\302\240\302\240\302\24046.155406] =====================================================\n"
+ "[\302\240\302\240\302\24046.161503] WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order\n"
  "detected\n"
- "[???46.168122] 4.17.0-rc6-00008-g7caafa3-dirty #48 Not tainted\n"
- "[???46.173696] -----------------------------------------------------\n"
- "[???46.179795] mxc_uart_stress/419 [HC0[0]:SC0[0]:HE0:SE1] is trying to\n"
+ "[\302\240\302\240\302\24046.168122] 4.17.0-rc6-00008-g7caafa3-dirty #48 Not tainted\n"
+ "[\302\240\302\240\302\24046.173696] -----------------------------------------------------\n"
+ "[\302\240\302\240\302\24046.179795] mxc_uart_stress/419 [HC0[0]:SC0[0]:HE0:SE1] is trying to\n"
  "acquire:\n"
- "[???46.186934] fa7c1440 (fs_reclaim){+.+.}, at:\n"
+ "[\302\240\302\240\302\24046.186934] fa7c1440 (fs_reclaim){+.+.}, at:\n"
  "fs_reclaim_acquire.part.3+0x0/0x48\n"
- "[???46.194270]\n"
- "[???46.194270] and this task is already holding:\n"
- "[???46.200106] 09a17fda (&port_lock_key){-.-.}, at:\n"
+ "[\302\240\302\240\302\24046.194270]\n"
+ "[\302\240\302\240\302\24046.194270] and this task is already holding:\n"
+ "[\302\240\302\240\302\24046.200106] 09a17fda (&port_lock_key){-.-.}, at:\n"
  "uart_write+0x84/0x190\n"
- "[???46.206658] which would create a new lock dependency:\n"
- "[???46.211710]??(&port_lock_key){-.-.} -> (fs_reclaim){+.+.}\n"
- "[???46.217132]\n"
- "[???46.217132] but this new dependency connects a HARDIRQ-irq-safe\n"
+ "[\302\240\302\240\302\24046.206658] which would create a new lock dependency:\n"
+ "[\302\240\302\240\302\24046.211710]\302\240\302\240(&port_lock_key){-.-.} -> (fs_reclaim){+.+.}\n"
+ "[\302\240\302\240\302\24046.217132]\n"
+ "[\302\240\302\240\302\24046.217132] but this new dependency connects a HARDIRQ-irq-safe\n"
  "lock:\n"
- "[???46.225051]??(&port_lock_key){-.-.}\n"
- "[???46.225062]\n"
- "[???46.225062] ... which became HARDIRQ-irq-safe at:\n"
- "[???46.234740]???lock_acquire+0x70/0x90\n"
- "[???46.238326]???_raw_spin_lock_irqsave+0x40/0x54\n"
- "[???46.242777]???imx_uart_console_write+0x1bc/0x1e0\n"
- "[???46.247402]???console_unlock+0x320/0x5f0\n"
- "[???46.251329]???vprintk_emit+0x22c/0x3fc\n"
- "[???46.255082]???vprintk_default+0x28/0x30\n"
- "[???46.258923]???vprintk_func+0x78/0xcc\n"
- "[???46.262503]???printk+0x34/0x54\n"
- "[???46.265566]???crng_fast_load+0xf8/0x138\n"
- "[???46.269407]???add_interrupt_randomness+0x21c/0x24c\n"
- "[???46.274204]???handle_irq_event_percpu+0x40/0x84\n"
- "[???46.278739]???handle_irq_event+0x40/0x64\n"
- "[???46.282667]???handle_fasteoi_irq+0xbc/0x178\n"
- "[???46.286854]???generic_handle_irq+0x28/0x3c\n"
- "[???46.290954]???__handle_domain_irq+0x6c/0xe8\n"
- "[???46.295148]???gic_handle_irq+0x64/0xc4\n"
- "[???46.298904]???__irq_svc+0x70/0x98\n"
- "[???46.302225]???_raw_spin_unlock_irq+0x30/0x34\n"
- "[???46.306505]???finish_task_switch+0xc0/0x27c\n"
- "[???46.310693]???__schedule+0x2c0/0x79c\n"
- "[???46.314272]???schedule_idle+0x40/0x84\n"
- "[???46.317941]???do_idle+0x178/0x2b4\n"
- "[???46.321259]???cpu_startup_entry+0x20/0x24\n"
- "[???46.325278]???rest_init+0x214/0x264\n"
- "[???46.328775]???start_kernel+0x39c/0x424\n"
- "[???46.332527]?????(null)\n"
- "[???46.334891]\n"
- "[???46.334891] to a HARDIRQ-irq-unsafe lock:\n"
- "[???46.340379]??(fs_reclaim){+.+.}\n"
- "[???46.340391]\n"
- "[???46.340391] ... which became HARDIRQ-irq-unsafe at:\n"
- "[???46.349885] ...\n"
- "[???46.349895]???lock_acquire+0x70/0x90\n"
- "[???46.355225]???fs_reclaim_acquire.part.3+0x38/0x48\n"
- "[???46.359933]???fs_reclaim_acquire+0x1c/0x20\n"
- "[???46.364036]???kmem_cache_alloc+0x2c/0x174\n"
- "[???46.368051]???alloc_worker.constprop.10+0x1c/0x58\n"
- "[???46.372759]???init_rescuer.part.4+0x18/0xa4\n"
- "[???46.376952]???workqueue_init+0xc0/0x210\n"
- "[???46.380793]???kernel_init_freeable+0x58/0x1d8\n"
- "[???46.385156]???kernel_init+0x10/0x11c\n"
- "[???46.388736]???ret_from_fork+0x14/0x20\n"
- "[???46.392399]?????(null)\n"
- "[???46.394762]\n"
- "[???46.394762] other info that might help us debug this:\n"
- "[???46.394762]\n"
- "[???46.402769]??Possible interrupt unsafe locking scenario:\n"
- "[???46.402769]\n"
- "[???46.409560]????????CPU0????????????????????CPU1\n"
- "[???46.414092]????????----????????????????????----\n"
- "[???46.418622]???lock(fs_reclaim);\n"
- "[???46.421772]????????????????????????????????local_irq_disable();\n"
- "[???46.427693]????????????????????????????????lock(&port_lock_key);\n"
- "[???46.433707]????????????????????????????????lock(fs_reclaim);\n"
- "[???46.439372]???<Interrupt>\n"
- "[???46.441993]?????lock(&port_lock_key);\n"
- "[???46.445661]\n"
- "[???46.445661]??*** DEADLOCK ***\n"
- "[???46.445661]\n"
+ "[\302\240\302\240\302\24046.225051]\302\240\302\240(&port_lock_key){-.-.}\n"
+ "[\302\240\302\240\302\24046.225062]\n"
+ "[\302\240\302\240\302\24046.225062] ... which became HARDIRQ-irq-safe at:\n"
+ "[\302\240\302\240\302\24046.234740]\302\240\302\240\302\240lock_acquire+0x70/0x90\n"
+ "[\302\240\302\240\302\24046.238326]\302\240\302\240\302\240_raw_spin_lock_irqsave+0x40/0x54\n"
+ "[\302\240\302\240\302\24046.242777]\302\240\302\240\302\240imx_uart_console_write+0x1bc/0x1e0\n"
+ "[\302\240\302\240\302\24046.247402]\302\240\302\240\302\240console_unlock+0x320/0x5f0\n"
+ "[\302\240\302\240\302\24046.251329]\302\240\302\240\302\240vprintk_emit+0x22c/0x3fc\n"
+ "[\302\240\302\240\302\24046.255082]\302\240\302\240\302\240vprintk_default+0x28/0x30\n"
+ "[\302\240\302\240\302\24046.258923]\302\240\302\240\302\240vprintk_func+0x78/0xcc\n"
+ "[\302\240\302\240\302\24046.262503]\302\240\302\240\302\240printk+0x34/0x54\n"
+ "[\302\240\302\240\302\24046.265566]\302\240\302\240\302\240crng_fast_load+0xf8/0x138\n"
+ "[\302\240\302\240\302\24046.269407]\302\240\302\240\302\240add_interrupt_randomness+0x21c/0x24c\n"
+ "[\302\240\302\240\302\24046.274204]\302\240\302\240\302\240handle_irq_event_percpu+0x40/0x84\n"
+ "[\302\240\302\240\302\24046.278739]\302\240\302\240\302\240handle_irq_event+0x40/0x64\n"
+ "[\302\240\302\240\302\24046.282667]\302\240\302\240\302\240handle_fasteoi_irq+0xbc/0x178\n"
+ "[\302\240\302\240\302\24046.286854]\302\240\302\240\302\240generic_handle_irq+0x28/0x3c\n"
+ "[\302\240\302\240\302\24046.290954]\302\240\302\240\302\240__handle_domain_irq+0x6c/0xe8\n"
+ "[\302\240\302\240\302\24046.295148]\302\240\302\240\302\240gic_handle_irq+0x64/0xc4\n"
+ "[\302\240\302\240\302\24046.298904]\302\240\302\240\302\240__irq_svc+0x70/0x98\n"
+ "[\302\240\302\240\302\24046.302225]\302\240\302\240\302\240_raw_spin_unlock_irq+0x30/0x34\n"
+ "[\302\240\302\240\302\24046.306505]\302\240\302\240\302\240finish_task_switch+0xc0/0x27c\n"
+ "[\302\240\302\240\302\24046.310693]\302\240\302\240\302\240__schedule+0x2c0/0x79c\n"
+ "[\302\240\302\240\302\24046.314272]\302\240\302\240\302\240schedule_idle+0x40/0x84\n"
+ "[\302\240\302\240\302\24046.317941]\302\240\302\240\302\240do_idle+0x178/0x2b4\n"
+ "[\302\240\302\240\302\24046.321259]\302\240\302\240\302\240cpu_startup_entry+0x20/0x24\n"
+ "[\302\240\302\240\302\24046.325278]\302\240\302\240\302\240rest_init+0x214/0x264\n"
+ "[\302\240\302\240\302\24046.328775]\302\240\302\240\302\240start_kernel+0x39c/0x424\n"
+ "[\302\240\302\240\302\24046.332527]\302\240\302\240\302\240\302\240\302\240(null)\n"
+ "[\302\240\302\240\302\24046.334891]\n"
+ "[\302\240\302\240\302\24046.334891] to a HARDIRQ-irq-unsafe lock:\n"
+ "[\302\240\302\240\302\24046.340379]\302\240\302\240(fs_reclaim){+.+.}\n"
+ "[\302\240\302\240\302\24046.340391]\n"
+ "[\302\240\302\240\302\24046.340391] ... which became HARDIRQ-irq-unsafe at:\n"
+ "[\302\240\302\240\302\24046.349885] ...\n"
+ "[\302\240\302\240\302\24046.349895]\302\240\302\240\302\240lock_acquire+0x70/0x90\n"
+ "[\302\240\302\240\302\24046.355225]\302\240\302\240\302\240fs_reclaim_acquire.part.3+0x38/0x48\n"
+ "[\302\240\302\240\302\24046.359933]\302\240\302\240\302\240fs_reclaim_acquire+0x1c/0x20\n"
+ "[\302\240\302\240\302\24046.364036]\302\240\302\240\302\240kmem_cache_alloc+0x2c/0x174\n"
+ "[\302\240\302\240\302\24046.368051]\302\240\302\240\302\240alloc_worker.constprop.10+0x1c/0x58\n"
+ "[\302\240\302\240\302\24046.372759]\302\240\302\240\302\240init_rescuer.part.4+0x18/0xa4\n"
+ "[\302\240\302\240\302\24046.376952]\302\240\302\240\302\240workqueue_init+0xc0/0x210\n"
+ "[\302\240\302\240\302\24046.380793]\302\240\302\240\302\240kernel_init_freeable+0x58/0x1d8\n"
+ "[\302\240\302\240\302\24046.385156]\302\240\302\240\302\240kernel_init+0x10/0x11c\n"
+ "[\302\240\302\240\302\24046.388736]\302\240\302\240\302\240ret_from_fork+0x14/0x20\n"
+ "[\302\240\302\240\302\24046.392399]\302\240\302\240\302\240\302\240\302\240(null)\n"
+ "[\302\240\302\240\302\24046.394762]\n"
+ "[\302\240\302\240\302\24046.394762] other info that might help us debug this:\n"
+ "[\302\240\302\240\302\24046.394762]\n"
+ "[\302\240\302\240\302\24046.402769]\302\240\302\240Possible interrupt unsafe locking scenario:\n"
+ "[\302\240\302\240\302\24046.402769]\n"
+ "[\302\240\302\240\302\24046.409560]\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240CPU0\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240CPU1\n"
+ "[\302\240\302\240\302\24046.414092]\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240----\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240----\n"
+ "[\302\240\302\240\302\24046.418622]\302\240\302\240\302\240lock(fs_reclaim);\n"
+ "[\302\240\302\240\302\24046.421772]\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240local_irq_disable();\n"
+ "[\302\240\302\240\302\24046.427693]\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240lock(&port_lock_key);\n"
+ "[\302\240\302\240\302\24046.433707]\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240lock(fs_reclaim);\n"
+ "[\302\240\302\240\302\24046.439372]\302\240\302\240\302\240<Interrupt>\n"
+ "[\302\240\302\240\302\24046.441993]\302\240\302\240\302\240\302\240\302\240lock(&port_lock_key);\n"
+ "[\302\240\302\240\302\24046.445661]\n"
+ "[\302\240\302\240\302\24046.445661]\302\240\302\240*** DEADLOCK ***\n"
+ "[\302\240\302\240\302\24046.445661]\n"
  "\n"
- "On ?, 2018-06-11 at 13:01 +0200, Lucas Stach wrote:\n"
+ "On \344\270\200, 2018-06-11 at 13:01 +0200, Lucas Stach wrote:\n"
  "> Hi Robin,\n"
  "> \n"
  "> this series breaks serial DMA for me. I wasn't able to dig in deeper\n"
@@ -110,19 +117,19 @@
  "> Am Montag, den 11.06.2018, 22:59 +0800 schrieb Robin Gong:\n"
  "> > \n"
  "> > The legacy sdma driver has below limitations or drawbacks:\n"
- "> > ? 1. Hardcode the max BDs number as \"PAGE_SIZE / sizeof(*)\", and\n"
+ "> > \302\240 1. Hardcode the max BDs number as \"PAGE_SIZE / sizeof(*)\", and\n"
  "> > alloc\n"
- "> > ?????one page size for one channel regardless of only few BDs\n"
+ "> > \302\240\302\240\302\240\302\240\302\240one page size for one channel regardless of only few BDs\n"
  "> > needed\n"
- "> > ?????most time. But in few cases, the max PAGE_SIZE maybe not\n"
+ "> > \302\240\302\240\302\240\302\240\302\240most time. But in few cases, the max PAGE_SIZE maybe not\n"
  "> > enough.\n"
- "> > ? 2. One SDMA channel can't stop immediatley once channel disabled\n"
+ "> > \302\240 2. One SDMA channel can't stop immediatley once channel disabled\n"
  "> > which\n"
- "> > ?????means SDMA interrupt may come in after this channel\n"
+ "> > \302\240\302\240\302\240\302\240\302\240means SDMA interrupt may come in after this channel\n"
  "> > terminated.There\n"
- "> > ?????are some patches for this corner case such as commit\n"
+ "> > \302\240\302\240\302\240\302\240\302\240are some patches for this corner case such as commit\n"
  "> > \"2746e2c389f9\",\n"
- "> > ?????but not cover non-cyclic.\n"
+ "> > \302\240\302\240\302\240\302\240\302\240but not cover non-cyclic.\n"
  "> > \n"
  "> > The common virt-dma overcomes the above limitations. It can alloc\n"
  "> > bd\n"
@@ -138,52 +145,52 @@
  "> > maintain.\n"
  "> > \n"
  "> > Change from v2:\n"
- "> > ? 1. include Sascha's patch to make the main patch easier to\n"
+ "> > \302\240 1. include Sascha's patch to make the main patch easier to\n"
  "> > review.\n"
- "> > ?????Thanks Sacha.\n"
- "> > ? 2. remove useless 'desc'/'chan' in struct sdma_channe.\n"
+ "> > \302\240\302\240\302\240\302\240\302\240Thanks Sacha.\n"
+ "> > \302\240 2. remove useless 'desc'/'chan' in struct sdma_channe.\n"
  "> > \n"
  "> > Change from v1:\n"
- "> > ? 1. split v1 patch into 5 patches.\n"
- "> > ? 2. remove some unnecessary condition check.\n"
- "> > ? 3. remove unnecessary 'pending' list.\n"
+ "> > \302\240 1. split v1 patch into 5 patches.\n"
+ "> > \302\240 2. remove some unnecessary condition check.\n"
+ "> > \302\240 3. remove unnecessary 'pending' list.\n"
  "> > \n"
  "> > Robin Gong (5):\n"
- "> > ? dmaengine: imx-sdma: add virt-dma support\n"
- "> > ? Revert \"dmaengine: imx-sdma: fix pagefault when channel is\n"
+ "> > \302\240 dmaengine: imx-sdma: add virt-dma support\n"
+ "> > \302\240 Revert \"dmaengine: imx-sdma: fix pagefault when channel is\n"
  "> > disabled\n"
- "> > ????during interrupt\"\n"
- "> > ? dmaengine: imx-sdma: remove usless lock\n"
- "> > ? dmaengine: imx-sdma: remove the maximum limation for bd numbers\n"
- "> > ? dmaengine: imx-sdma: add sdma_transfer_init to decrease code\n"
+ "> > \302\240\302\240\302\240\302\240during interrupt\"\n"
+ "> > \302\240 dmaengine: imx-sdma: remove usless lock\n"
+ "> > \302\240 dmaengine: imx-sdma: remove the maximum limation for bd numbers\n"
+ "> > \302\240 dmaengine: imx-sdma: add sdma_transfer_init to decrease code\n"
  "> > overlap\n"
  "> > \n"
- "> > ?drivers/dma/Kconfig????|???1 +\n"
- "> > ?drivers/dma/imx-sdma.c | 392 ++++++++++++++++++++++++++++---------\n"
+ "> > \302\240drivers/dma/Kconfig\302\240\302\240\302\240\302\240|\302\240\302\240\302\2401 +\n"
+ "> > \302\240drivers/dma/imx-sdma.c | 392 ++++++++++++++++++++++++++++---------\n"
  "> > ------------\n"
- "> > ?2 files changed, 227 insertions(+), 166 deletions(-)\n"
+ "> > \302\2402 files changed, 227 insertions(+), 166 deletions(-)\n"
  "> > \n"
- "> > --?\n"
+ "> > --\302\240\n"
  "> > 2.7.4\n"
  "> > \n"
  "> > Robin Gong (5):\n"
- "> > ? dmaengine: imx-sdma: add virt-dma support\n"
- "> > ? Revert \"dmaengine: imx-sdma: fix pagefault when channel is\n"
+ "> > \302\240 dmaengine: imx-sdma: add virt-dma support\n"
+ "> > \302\240 Revert \"dmaengine: imx-sdma: fix pagefault when channel is\n"
  "> > disabled\n"
- "> > ????during interrupt\"\n"
- "> > ? dmaengine: imx-sdma: remove usless lock\n"
- "> > ? dmaengine: imx-sdma: remove the maximum limation for bd numbers\n"
- "> > ? dmaengine: imx-sdma: add sdma_transfer_init to decrease code\n"
+ "> > \302\240\302\240\302\240\302\240during interrupt\"\n"
+ "> > \302\240 dmaengine: imx-sdma: remove usless lock\n"
+ "> > \302\240 dmaengine: imx-sdma: remove the maximum limation for bd numbers\n"
+ "> > \302\240 dmaengine: imx-sdma: add sdma_transfer_init to decrease code\n"
  "> > overlap\n"
  "> > \n"
  "> > Sascha Hauer (1):\n"
- "> > ? dmaengine: imx-sdma: factor out a struct sdma_desc from struct\n"
- "> > ????sdma_channel\n"
+ "> > \302\240 dmaengine: imx-sdma: factor out a struct sdma_desc from struct\n"
+ "> > \302\240\302\240\302\240\302\240sdma_channel\n"
  "> > \n"
- "> > ?drivers/dma/Kconfig????|???1 +\n"
- "> > ?drivers/dma/imx-sdma.c | 391 ++++++++++++++++++++++++++++---------\n"
+ "> > \302\240drivers/dma/Kconfig\302\240\302\240\302\240\302\240|\302\240\302\240\302\2401 +\n"
+ "> > \302\240drivers/dma/imx-sdma.c | 391 ++++++++++++++++++++++++++++---------\n"
  "> > ------------\n"
- "> > ?2 files changed, 226 insertions(+), 166 deletions(-)\n"
+ "> > \302\2402 files changed, 226 insertions(+), 166 deletions(-)\n"
  > >
 
-14633500ee293cf2de591991ff47fe9333b39ecbb9a9ea57e80b5afb7644b163
+a9a4afc09c1cc543be270ccb34d78ea8b166273067c6496f11965954bdc017eb

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.