diff for duplicates of <1525561893.3082.1.camel@redhat.com> diff --git a/a/1.txt b/N1/1.txt index 8736a85..4e929dc 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,4 +1,4 @@ -On Sat, 2018-05-05 at 21:58 +0800, Ming Lei wrote: +On Sat, 2018-05-05@21:58 +0800, Ming Lei wrote: > Hi, > > The 1st patch introduces blk_quiesce_timeout() and @@ -40,39 +40,39 @@ On Sat, 2018-05-05 at 21:58 +0800, Ming Lei wrote: > - cover timeout for admin commands running in EH > > Ming Lei (7): -> block: introduce blk_quiesce_timeout() and blk_unquiesce_timeout() -> nvme: pci: cover timeout for admin commands running in EH -> nvme: pci: only wait freezing if queue is frozen -> nvme: pci: freeze queue in nvme_dev_disable() in case of error -> recovery -> nvme: core: introduce 'reset_lock' for sync reset state and reset -> activities -> nvme: pci: prepare for supporting error recovery from resetting -> context -> nvme: pci: support nested EH +> ? block: introduce blk_quiesce_timeout() and blk_unquiesce_timeout() +> ? nvme: pci: cover timeout for admin commands running in EH +> ? nvme: pci: only wait freezing if queue is frozen +> ? nvme: pci: freeze queue in nvme_dev_disable() in case of error +> ????recovery +> ? nvme: core: introduce 'reset_lock' for sync reset state and reset +> ????activities +> ? nvme: pci: prepare for supporting error recovery from resetting +> ????context +> ? nvme: pci: support nested EH > -> block/blk-core.c | 21 +++- -> block/blk-mq.c | 9 ++ -> block/blk-timeout.c | 5 +- -> drivers/nvme/host/core.c | 46 ++++++- -> drivers/nvme/host/nvme.h | 5 + -> drivers/nvme/host/pci.c | 304 +> ?block/blk-core.c?????????|??21 +++- +> ?block/blk-mq.c???????????|???9 ++ +> ?block/blk-timeout.c??????|???5 +- +> ?drivers/nvme/host/core.c |??46 ++++++- +> ?drivers/nvme/host/nvme.h |???5 + +> ?drivers/nvme/host/pci.c??| 304 > ++++++++++++++++++++++++++++++++++++++++------- -> include/linux/blkdev.h | 13 ++ -> 7 files changed, 356 insertions(+), 47 deletions(-) +> ?include/linux/blkdev.h???|??13 ++ +> ?7 files changed, 356 insertions(+), 47 deletions(-) > -> Cc: Jianchao Wang <jianchao.w.wang@oracle.com> -> Cc: Christoph Hellwig <hch@lst.de> -> Cc: Sagi Grimberg <sagi@grimberg.me> -> Cc: linux-nvme@lists.infradead.org -> Cc: Laurence Oberman <loberman@redhat.com> +> Cc: Jianchao Wang <jianchao.w.wang at oracle.com> +> Cc: Christoph Hellwig <hch at lst.de> +> Cc: Sagi Grimberg <sagi at grimberg.me> +> Cc: linux-nvme at lists.infradead.org +> Cc: Laurence Oberman <loberman at redhat.com> Hello Ming I have a two node NUMA system here running your kernel tree 4.17.0-rc3.ming.nvme+ -[root@segstorage1 ~]# numactl --hardware +[root at segstorage1 ~]# numactl --hardware available: 2 nodes (0-1) node 0 cpus: 0 3 5 6 8 11 13 14 node 0 size: 63922 MB @@ -81,34 +81,34 @@ node 1 cpus: 1 2 4 7 9 10 12 15 node 1 size: 64422 MB node 1 free: 62372 MB node distances: -node 0 1 - 0: 10 20 - 1: 20 10 +node???0???1? +? 0:??10??20? +? 1:??20??10? I ran block/011 -[root@segstorage1 blktests]# ./check block/011 -block/011 => nvme0n1 (disable PCI device while doing I/O) [failed] - runtime ... 106.936s - --- tests/block/011.out 2018-05-05 18:01:14.268414752 -0400 - +++ results/nvme0n1/block/011.out.bad 2018-05-05 +[root at segstorage1 blktests]# ./check block/011 +block/011 => nvme0n1 (disable PCI device while doing I/O)????[failed] +????runtime????...??106.936s +????--- tests/block/011.out 2018-05-05 18:01:14.268414752 -0400 +????+++ results/nvme0n1/block/011.out.bad 2018-05-05 19:07:21.028634858 -0400 - @@ -1,2 +1,36 @@ - Running block/011 - +fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags & +????@@ -1,2 +1,36 @@ +?????Running block/011 +????+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags & IO_U_F_FLIGHT) == 0' failed. - +fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags & +????+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags & IO_U_F_FLIGHT) == 0' failed. - +fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags & +????+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags & IO_U_F_FLIGHT) == 0' failed. - +fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags & +????+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags & IO_U_F_FLIGHT) == 0' failed. - +fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags & +????+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags & IO_U_F_FLIGHT) == 0' failed. - +fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags & +????+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags & IO_U_F_FLIGHT) == 0' failed. - ... - (Run 'diff -u tests/block/011.out +????... +????(Run 'diff -u tests/block/011.out results/nvme0n1/block/011.out.bad' to see the entire diff) [ 1421.738551] run blktests block/011 at 2018-05-05 19:05:34 @@ -195,30 +195,30 @@ And leaves me looping here [ 1721.272276] INFO: task kworker/u66:0:24214 blocked for more than 120 seconds. -[ 1721.311263] Tainted: G I 4.17.0-rc3.ming.nvme+ +[ 1721.311263]???????Tainted: G??????????I???????4.17.0-rc3.ming.nvme+ #1 [ 1721.348027] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. -[ 1721.392957] kworker/u66:0 D 0 24214 2 0x80000080 +[ 1721.392957] kworker/u66:0???D????0 24214??????2 0x80000080 [ 1721.424425] Workqueue: nvme-wq nvme_remove_dead_ctrl_work [nvme] [ 1721.458568] Call Trace: -[ 1721.472499] ? __schedule+0x290/0x870 -[ 1721.493515] schedule+0x32/0x80 -[ 1721.511656] blk_mq_freeze_queue_wait+0x46/0xb0 -[ 1721.537609] ? remove_wait_queue+0x60/0x60 -[ 1721.561081] blk_cleanup_queue+0x7e/0x180 -[ 1721.584637] nvme_ns_remove+0x106/0x140 [nvme_core] -[ 1721.612589] nvme_remove_namespaces+0x8e/0xd0 [nvme_core] -[ 1721.643163] nvme_remove+0x80/0x120 [nvme] -[ 1721.666188] pci_device_remove+0x3b/0xc0 -[ 1721.688553] device_release_driver_internal+0x148/0x220 -[ 1721.719332] nvme_remove_dead_ctrl_work+0x29/0x40 [nvme] -[ 1721.750474] process_one_work+0x158/0x360 -[ 1721.772632] worker_thread+0x47/0x3e0 -[ 1721.792471] kthread+0xf8/0x130 -[ 1721.810354] ? max_active_store+0x80/0x80 -[ 1721.832459] ? kthread_bind+0x10/0x10 -[ 1721.852845] ret_from_fork+0x35/0x40 +[ 1721.472499]??? __schedule+0x290/0x870 +[ 1721.493515]??schedule+0x32/0x80 +[ 1721.511656]??blk_mq_freeze_queue_wait+0x46/0xb0 +[ 1721.537609]??? remove_wait_queue+0x60/0x60 +[ 1721.561081]??blk_cleanup_queue+0x7e/0x180 +[ 1721.584637]??nvme_ns_remove+0x106/0x140 [nvme_core] +[ 1721.612589]??nvme_remove_namespaces+0x8e/0xd0 [nvme_core] +[ 1721.643163]??nvme_remove+0x80/0x120 [nvme] +[ 1721.666188]??pci_device_remove+0x3b/0xc0 +[ 1721.688553]??device_release_driver_internal+0x148/0x220 +[ 1721.719332]??nvme_remove_dead_ctrl_work+0x29/0x40 [nvme] +[ 1721.750474]??process_one_work+0x158/0x360 +[ 1721.772632]??worker_thread+0x47/0x3e0 +[ 1721.792471]??kthread+0xf8/0x130 +[ 1721.810354]??? max_active_store+0x80/0x80 +[ 1721.832459]??? kthread_bind+0x10/0x10 +[ 1721.852845]??ret_from_fork+0x35/0x40 Did I di something wrong diff --git a/a/content_digest b/N1/content_digest index 9ab50e7..848700f 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,18 +1,10 @@ "ref\020180505135905.18815-1-ming.lei@redhat.com\0" - "From\0Laurence Oberman <loberman@redhat.com>\0" - "Subject\0Re: [PATCH V4 0/7] nvme: pci: fix & improve timeout handling\0" + "From\0loberman@redhat.com (Laurence Oberman)\0" + "Subject\0[PATCH V4 0/7] nvme: pci: fix & improve timeout handling\0" "Date\0Sat, 05 May 2018 19:11:33 -0400\0" - "To\0Ming Lei <ming.lei@redhat.com>" - " Keith Busch <keith.busch@intel.com>\0" - "Cc\0Jens Axboe <axboe@kernel.dk>" - linux-block@vger.kernel.org - Jianchao Wang <jianchao.w.wang@oracle.com> - Christoph Hellwig <hch@lst.de> - Sagi Grimberg <sagi@grimberg.me> - " linux-nvme@lists.infradead.org\0" "\00:1\0" "b\0" - "On Sat, 2018-05-05 at 21:58 +0800, Ming Lei wrote:\n" + "On Sat, 2018-05-05@21:58 +0800, Ming Lei wrote:\n" "> Hi,\n" "> \n" "> The 1st patch introduces blk_quiesce_timeout() and\n" @@ -54,39 +46,39 @@ "> \t- cover timeout for admin commands running in EH\n" "> \n" "> Ming Lei (7):\n" - "> \302\240 block: introduce blk_quiesce_timeout() and blk_unquiesce_timeout()\n" - "> \302\240 nvme: pci: cover timeout for admin commands running in EH\n" - "> \302\240 nvme: pci: only wait freezing if queue is frozen\n" - "> \302\240 nvme: pci: freeze queue in nvme_dev_disable() in case of error\n" - "> \302\240\302\240\302\240\302\240recovery\n" - "> \302\240 nvme: core: introduce 'reset_lock' for sync reset state and reset\n" - "> \302\240\302\240\302\240\302\240activities\n" - "> \302\240 nvme: pci: prepare for supporting error recovery from resetting\n" - "> \302\240\302\240\302\240\302\240context\n" - "> \302\240 nvme: pci: support nested EH\n" + "> ? block: introduce blk_quiesce_timeout() and blk_unquiesce_timeout()\n" + "> ? nvme: pci: cover timeout for admin commands running in EH\n" + "> ? nvme: pci: only wait freezing if queue is frozen\n" + "> ? nvme: pci: freeze queue in nvme_dev_disable() in case of error\n" + "> ????recovery\n" + "> ? nvme: core: introduce 'reset_lock' for sync reset state and reset\n" + "> ????activities\n" + "> ? nvme: pci: prepare for supporting error recovery from resetting\n" + "> ????context\n" + "> ? nvme: pci: support nested EH\n" "> \n" - "> \302\240block/blk-core.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\24021 +++-\n" - "> \302\240block/blk-mq.c\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\2409 ++\n" - "> \302\240block/blk-timeout.c\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\240\302\2405 +-\n" - "> \302\240drivers/nvme/host/core.c |\302\240\302\24046 ++++++-\n" - "> \302\240drivers/nvme/host/nvme.h |\302\240\302\240\302\2405 +\n" - "> \302\240drivers/nvme/host/pci.c\302\240\302\240| 304\n" + "> ?block/blk-core.c?????????|??21 +++-\n" + "> ?block/blk-mq.c???????????|???9 ++\n" + "> ?block/blk-timeout.c??????|???5 +-\n" + "> ?drivers/nvme/host/core.c |??46 ++++++-\n" + "> ?drivers/nvme/host/nvme.h |???5 +\n" + "> ?drivers/nvme/host/pci.c??| 304\n" "> ++++++++++++++++++++++++++++++++++++++++-------\n" - "> \302\240include/linux/blkdev.h\302\240\302\240\302\240|\302\240\302\24013 ++\n" - "> \302\2407 files changed, 356 insertions(+), 47 deletions(-)\n" + "> ?include/linux/blkdev.h???|??13 ++\n" + "> ?7 files changed, 356 insertions(+), 47 deletions(-)\n" "> \n" - "> Cc: Jianchao Wang <jianchao.w.wang@oracle.com>\n" - "> Cc: Christoph Hellwig <hch@lst.de>\n" - "> Cc: Sagi Grimberg <sagi@grimberg.me>\n" - "> Cc: linux-nvme@lists.infradead.org\n" - "> Cc: Laurence Oberman <loberman@redhat.com>\n" + "> Cc: Jianchao Wang <jianchao.w.wang at oracle.com>\n" + "> Cc: Christoph Hellwig <hch at lst.de>\n" + "> Cc: Sagi Grimberg <sagi at grimberg.me>\n" + "> Cc: linux-nvme at lists.infradead.org\n" + "> Cc: Laurence Oberman <loberman at redhat.com>\n" "\n" "Hello Ming\n" "\n" "I have a two node NUMA system here running your kernel tree\n" "4.17.0-rc3.ming.nvme+\n" "\n" - "[root@segstorage1 ~]# numactl --hardware\n" + "[root at segstorage1 ~]# numactl --hardware\n" "available: 2 nodes (0-1)\n" "node 0 cpus: 0 3 5 6 8 11 13 14\n" "node 0 size: 63922 MB\n" @@ -95,34 +87,34 @@ "node 1 size: 64422 MB\n" "node 1 free: 62372 MB\n" "node distances:\n" - "node\302\240\302\240\302\2400\302\240\302\240\302\2401\302\240\n" - "\302\240 0:\302\240\302\24010\302\240\302\24020\302\240\n" - "\302\240 1:\302\240\302\24020\302\240\302\24010\302\240\n" + "node???0???1?\n" + "? 0:??10??20?\n" + "? 1:??20??10?\n" "\n" "I ran block/011\n" "\n" - "[root@segstorage1 blktests]# ./check block/011\n" - "block/011 => nvme0n1 (disable PCI device while doing I/O)\302\240\302\240\302\240\302\240[failed]\n" - "\302\240\302\240\302\240\302\240runtime\302\240\302\240\302\240\302\240...\302\240\302\240106.936s\n" - "\302\240\302\240\302\240\302\240--- tests/block/011.out\t2018-05-05 18:01:14.268414752 -0400\n" - "\302\240\302\240\302\240\302\240+++ results/nvme0n1/block/011.out.bad\t2018-05-05\n" + "[root at segstorage1 blktests]# ./check block/011\n" + "block/011 => nvme0n1 (disable PCI device while doing I/O)????[failed]\n" + "????runtime????...??106.936s\n" + "????--- tests/block/011.out\t2018-05-05 18:01:14.268414752 -0400\n" + "????+++ results/nvme0n1/block/011.out.bad\t2018-05-05\n" "19:07:21.028634858 -0400\n" - "\302\240\302\240\302\240\302\240@@ -1,2 +1,36 @@\n" - "\302\240\302\240\302\240\302\240\302\240Running block/011\n" - "\302\240\302\240\302\240\302\240+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags &\n" + "????@@ -1,2 +1,36 @@\n" + "?????Running block/011\n" + "????+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags &\n" "IO_U_F_FLIGHT) == 0' failed.\n" - "\302\240\302\240\302\240\302\240+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags &\n" + "????+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags &\n" "IO_U_F_FLIGHT) == 0' failed.\n" - "\302\240\302\240\302\240\302\240+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags &\n" + "????+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags &\n" "IO_U_F_FLIGHT) == 0' failed.\n" - "\302\240\302\240\302\240\302\240+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags &\n" + "????+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags &\n" "IO_U_F_FLIGHT) == 0' failed.\n" - "\302\240\302\240\302\240\302\240+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags &\n" + "????+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags &\n" "IO_U_F_FLIGHT) == 0' failed.\n" - "\302\240\302\240\302\240\302\240+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags &\n" + "????+fio: ioengines.c:289: td_io_queue: Assertion `(io_u->flags &\n" "IO_U_F_FLIGHT) == 0' failed.\n" - "\302\240\302\240\302\240\302\240...\n" - "\302\240\302\240\302\240\302\240(Run 'diff -u tests/block/011.out\n" + "????...\n" + "????(Run 'diff -u tests/block/011.out\n" "results/nvme0n1/block/011.out.bad' to see the entire diff)\n" "\n" "[ 1421.738551] run blktests block/011 at 2018-05-05 19:05:34\n" @@ -209,30 +201,30 @@ "\n" "[ 1721.272276] INFO: task kworker/u66:0:24214 blocked for more than 120\n" "seconds.\n" - "[ 1721.311263]\302\240\302\240\302\240\302\240\302\240\302\240\302\240Tainted: G\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240I\302\240\302\240\302\240\302\240\302\240\302\240\302\2404.17.0-rc3.ming.nvme+\n" + "[ 1721.311263]???????Tainted: G??????????I???????4.17.0-rc3.ming.nvme+\n" "#1\n" "[ 1721.348027] \"echo 0 > /proc/sys/kernel/hung_task_timeout_secs\"\n" "disables this message.\n" - "[ 1721.392957] kworker/u66:0\302\240\302\240\302\240D\302\240\302\240\302\240\302\2400 24214\302\240\302\240\302\240\302\240\302\240\302\2402 0x80000080\n" + "[ 1721.392957] kworker/u66:0???D????0 24214??????2 0x80000080\n" "[ 1721.424425] Workqueue: nvme-wq nvme_remove_dead_ctrl_work [nvme]\n" "[ 1721.458568] Call Trace:\n" - "[ 1721.472499]\302\240\302\240? __schedule+0x290/0x870\n" - "[ 1721.493515]\302\240\302\240schedule+0x32/0x80\n" - "[ 1721.511656]\302\240\302\240blk_mq_freeze_queue_wait+0x46/0xb0\n" - "[ 1721.537609]\302\240\302\240? remove_wait_queue+0x60/0x60\n" - "[ 1721.561081]\302\240\302\240blk_cleanup_queue+0x7e/0x180\n" - "[ 1721.584637]\302\240\302\240nvme_ns_remove+0x106/0x140 [nvme_core]\n" - "[ 1721.612589]\302\240\302\240nvme_remove_namespaces+0x8e/0xd0 [nvme_core]\n" - "[ 1721.643163]\302\240\302\240nvme_remove+0x80/0x120 [nvme]\n" - "[ 1721.666188]\302\240\302\240pci_device_remove+0x3b/0xc0\n" - "[ 1721.688553]\302\240\302\240device_release_driver_internal+0x148/0x220\n" - "[ 1721.719332]\302\240\302\240nvme_remove_dead_ctrl_work+0x29/0x40 [nvme]\n" - "[ 1721.750474]\302\240\302\240process_one_work+0x158/0x360\n" - "[ 1721.772632]\302\240\302\240worker_thread+0x47/0x3e0\n" - "[ 1721.792471]\302\240\302\240kthread+0xf8/0x130\n" - "[ 1721.810354]\302\240\302\240? max_active_store+0x80/0x80\n" - "[ 1721.832459]\302\240\302\240? kthread_bind+0x10/0x10\n" - "[ 1721.852845]\302\240\302\240ret_from_fork+0x35/0x40\n" + "[ 1721.472499]??? __schedule+0x290/0x870\n" + "[ 1721.493515]??schedule+0x32/0x80\n" + "[ 1721.511656]??blk_mq_freeze_queue_wait+0x46/0xb0\n" + "[ 1721.537609]??? remove_wait_queue+0x60/0x60\n" + "[ 1721.561081]??blk_cleanup_queue+0x7e/0x180\n" + "[ 1721.584637]??nvme_ns_remove+0x106/0x140 [nvme_core]\n" + "[ 1721.612589]??nvme_remove_namespaces+0x8e/0xd0 [nvme_core]\n" + "[ 1721.643163]??nvme_remove+0x80/0x120 [nvme]\n" + "[ 1721.666188]??pci_device_remove+0x3b/0xc0\n" + "[ 1721.688553]??device_release_driver_internal+0x148/0x220\n" + "[ 1721.719332]??nvme_remove_dead_ctrl_work+0x29/0x40 [nvme]\n" + "[ 1721.750474]??process_one_work+0x158/0x360\n" + "[ 1721.772632]??worker_thread+0x47/0x3e0\n" + "[ 1721.792471]??kthread+0xf8/0x130\n" + "[ 1721.810354]??? max_active_store+0x80/0x80\n" + "[ 1721.832459]??? kthread_bind+0x10/0x10\n" + "[ 1721.852845]??ret_from_fork+0x35/0x40\n" "\n" "Did I di something wrong\n" "\n" @@ -241,4 +233,4 @@ "Thanks\n" Laurence -22323fd661c6051bef57c4068d84e9036749dd43daacef8b580a6027f4a5476f +e9807b3e71d5daa4d2c35f2808331ad4faec60c59f8ee9a9116d698974ad7d88
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.