From: Damien Le Moal <damien.lemoal@opensource.wdc.com>
To: Sven Oehme <oehmes@gmail.com>
Cc: linux-btrfs@vger.kernel.org, Naohiro Aota <Naohiro.Aota@wdc.com>,
Johannes Thumshirn <Johannes.Thumshirn@wdc.com>
Subject: Re: Host managed SMR drive issue
Date: Tue, 28 Sep 2021 07:48:46 +0900 [thread overview]
Message-ID: <a9764186-90ab-6ff3-7953-07f39d69ea5f@opensource.wdc.com> (raw)
In-Reply-To: <CALssuR2K8Dtr+bGSYVOQXcWomMx0VnLwUiB1ah44ngrJ5trnSw@mail.gmail.com>
On 2021/09/28 7:38, Sven Oehme wrote:
> i tried to repeat the test with FW19, same result :
The problem is likely not rooted with the HBA fw version.
How do you create the problem ? Is it an fio script you are running ?
>
> [Mon Sep 27 15:41:22 2021] INFO: task btrfs-transacti:4206 blocked for
> more than 604 seconds.
> [Mon Sep 27 15:41:22 2021] Not tainted 5.14-test #1
> [Mon Sep 27 15:41:22 2021] "echo 0 >
> /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> [Mon Sep 27 15:41:22 2021] task:btrfs-transacti state:D stack: 0
> pid: 4206 ppid: 2 flags:0x00004000
> [Mon Sep 27 15:41:22 2021] Call Trace:
> [Mon Sep 27 15:41:22 2021] __schedule+0x2fa/0x910
> [Mon Sep 27 15:41:22 2021] schedule+0x4f/0xc0
> [Mon Sep 27 15:41:22 2021] io_schedule+0x46/0x70
> [Mon Sep 27 15:41:22 2021] blk_mq_get_tag+0x11b/0x270
> [Mon Sep 27 15:41:22 2021] ? wait_woken+0x80/0x80
> [Mon Sep 27 15:41:22 2021] __blk_mq_alloc_request+0xec/0x120
> [Mon Sep 27 15:41:22 2021] blk_mq_submit_bio+0x12f/0x580
> [Mon Sep 27 15:41:22 2021] submit_bio_noacct+0x42a/0x4f0
> [Mon Sep 27 15:41:22 2021] submit_bio+0x4f/0x1b0
> [Mon Sep 27 15:41:22 2021] btrfs_map_bio+0x1a3/0x4c0 [btrfs]
> [Mon Sep 27 15:41:22 2021] btrfs_submit_metadata_bio+0x10f/0x170 [btrfs]
> [Mon Sep 27 15:41:22 2021] submit_one_bio+0x67/0x80 [btrfs]
> [Mon Sep 27 15:41:22 2021] btree_write_cache_pages+0x6e8/0x770 [btrfs]
> [Mon Sep 27 15:41:22 2021] btree_writepages+0x5f/0x70 [btrfs]
> [Mon Sep 27 15:41:22 2021] do_writepages+0x38/0xc0
> [Mon Sep 27 15:41:22 2021] __filemap_fdatawrite_range+0xcc/0x110
> [Mon Sep 27 15:41:22 2021] filemap_fdatawrite_range+0x13/0x20
> [Mon Sep 27 15:41:22 2021] btrfs_write_marked_extents+0x66/0x140 [btrfs]
> [Mon Sep 27 15:41:22 2021] btrfs_write_and_wait_transaction+0x49/0xd0 [btrfs]
> [Mon Sep 27 15:41:22 2021] btrfs_commit_transaction+0x6b0/0xaa0 [btrfs]
> [Mon Sep 27 15:41:22 2021] ? start_transaction+0xcf/0x5a0 [btrfs]
> [Mon Sep 27 15:41:22 2021] transaction_kthread+0x138/0x1b0 [btrfs]
> [Mon Sep 27 15:41:22 2021] kthread+0x12f/0x150
> [Mon Sep 27 15:41:22 2021] ?
> btrfs_cleanup_transaction.isra.0+0x560/0x560 [btrfs]
> [Mon Sep 27 15:41:22 2021] ? __kthread_bind_mask+0x70/0x70
> [Mon Sep 27 15:41:22 2021] ret_from_fork+0x22/0x30
>
> if you tell me what information to collect, I am happy to do so,.
The stack seems to point to a "hang" in the block layer so btrfs side waits forever.
When you get the hang, can you check the queued and dispatch counters in
/sys/kernel/debug/block/<your disk>/hctx0 ?
Once you have the numbers, try:
echo 1 > /sys/kernel/debug/block/<your disk>/hctx0/run
to see if the drive gets unstuck.
>
> Sven
>
>
> On Mon, Sep 27, 2021 at 11:28 AM Sven Oehme <oehmes@gmail.com> wrote:
>>
>> Hi,
>>
>> I also have an Adaptec HBA 1100-4i at FW level 4.11 (latest) , which
>> according to https://ask.adaptec.com/app/answers/detail/a_id/17472 is
>> supported but see the exact same hangs after a few minutes ...
>>
>> what i see in dmesg is :
>>
>> [Mon Sep 27 11:20:03 2021] INFO: task kworker/u102:6:190092 blocked
>> for more than 120 seconds.
>> [Mon Sep 27 11:20:03 2021] Not tainted 5.14-test #1
>> [Mon Sep 27 11:20:03 2021] "echo 0 >
>> /proc/sys/kernel/hung_task_timeout_secs" disables this message.
>> [Mon Sep 27 11:20:03 2021] task:kworker/u102:6 state:D stack: 0
>> pid:190092 ppid: 2 flags:0x00004000
>> [Mon Sep 27 11:20:03 2021] Workqueue: btrfs-worker-high
>> btrfs_work_helper [btrfs]
>> [Mon Sep 27 11:20:03 2021] Call Trace:
>> [Mon Sep 27 11:20:03 2021] __schedule+0x2fa/0x910
>> [Mon Sep 27 11:20:03 2021] schedule+0x4f/0xc0
>> [Mon Sep 27 11:20:03 2021] io_schedule+0x46/0x70
>> [Mon Sep 27 11:20:03 2021] blk_mq_get_tag+0x11b/0x270
>> [Mon Sep 27 11:20:03 2021] ? wait_woken+0x80/0x80
>> [Mon Sep 27 11:20:03 2021] __blk_mq_alloc_request+0xec/0x120
>> [Mon Sep 27 11:20:03 2021] blk_mq_submit_bio+0x12f/0x580
>> [Mon Sep 27 11:20:03 2021] submit_bio_noacct+0x42a/0x4f0
>> [Mon Sep 27 11:20:03 2021] submit_bio+0x4f/0x1b0
>> [Mon Sep 27 11:20:03 2021] btrfs_map_bio+0x1a3/0x4c0 [btrfs]
>> [Mon Sep 27 11:20:03 2021] run_one_async_done+0x3b/0x70 [btrfs]
>> [Mon Sep 27 11:20:03 2021] btrfs_work_helper+0x132/0x2e0 [btrfs]
>> [Mon Sep 27 11:20:03 2021] process_one_work+0x220/0x3c0
>> [Mon Sep 27 11:20:03 2021] worker_thread+0x53/0x420
>> [Mon Sep 27 11:20:03 2021] kthread+0x12f/0x150
>> [Mon Sep 27 11:20:03 2021] ? process_one_work+0x3c0/0x3c0
>> [Mon Sep 27 11:20:03 2021] ? __kthread_bind_mask+0x70/0x70
>> [Mon Sep 27 11:20:03 2021] ret_from_fork+0x22/0x30
>>
>> i will also downgrade the LSI adapter to FW 19, but i think this is
>> unrelated to the FW as i can see this with 2 completely different
>> HBA's and 2 completely different drives.
>>
>> Sven
>>
>> Sven
>>
>>
>> On Sun, Sep 26, 2021 at 5:19 PM Damien Le Moal
>> <damien.lemoal@opensource.wdc.com> wrote:
>>>
>>> On 2021/09/25 3:25, Sven Oehme wrote:
>>>> Hi,
>>>>
>>>> i am running into issues with Host Managed SMR drive testing. when i
>>>> try to copy or move a file to the btrfs filesystem it just hangs. i
>>>> tried multiple 5.12,5.13 as well as 5.14 all the way to 5.14.6 but the
>>>> issue still persists.
>>>>
>>>> here is the setup :
>>>>
>>>> I am using btrfs-progs-v5.14.1
>>>> device is a Host Managed WDC 20TB SMR drive with firmware level C421
>>>> its connected via a HBA 9400-8i Tri-Mode Storage Adapter , latest 20.0 FW
>>>
>>> Beware of the Broadcom FW rev 20. We found problems with it: very slow zone
>>> command scheduling leading to command timeout is some cases. FW 19 does not seem
>>> to have this issue. But that is likely not the cause of the problem here.
>>>
>>> Is there anything of interest in dmesg ? Any IO errors ?
>>>
>>> Naohiro, Johannes,
>>>
>>> Any idea ?
>>>
>>>
>>>
>>>> I am using the /dev/sd device direct , no lvm or device mapper or
>>>> anything else in between
>>>>
>>>> after a few seconds, sometimes minutes data rate to the drive drops to
>>>> 0 and 1 or 2 cores on my system show 100% IO wait time, but no longer
>>>> make any progress
>>>>
>>>> the process in question has the following stack :
>>>>
>>>> [ 2168.589160] task:mv state:D stack: 0 pid: 3814
>>>> ppid: 3679 flags:0x00004000
>>>> [ 2168.589162] Call Trace:
>>>> [ 2168.589163] __schedule+0x2fa/0x910
>>>> [ 2168.589166] schedule+0x4f/0xc0
>>>> [ 2168.589168] schedule_timeout+0x8a/0x140
>>>> [ 2168.589171] ? __bpf_trace_tick_stop+0x10/0x10
>>>> [ 2168.589173] io_schedule_timeout+0x51/0x80
>>>> [ 2168.589176] balance_dirty_pages+0x2fa/0xe30
>>>> [ 2168.589179] ? __mod_lruvec_state+0x3a/0x50
>>>> [ 2168.589182] balance_dirty_pages_ratelimited+0x2f9/0x3c0
>>>> [ 2168.589185] btrfs_buffered_write+0x58e/0x7e0 [btrfs]
>>>> [ 2168.589226] btrfs_file_write_iter+0x138/0x3e0 [btrfs]
>>>> [ 2168.589260] ? ext4_file_read_iter+0x5b/0x180
>>>> [ 2168.589262] new_sync_write+0x114/0x1a0
>>>> [ 2168.589265] vfs_write+0x1c5/0x260
>>>> [ 2168.589267] ksys_write+0x67/0xe0
>>>> [ 2168.589270] __x64_sys_write+0x1a/0x20
>>>> [ 2168.589272] do_syscall_64+0x40/0xb0
>>>> [ 2168.589275] entry_SYSCALL_64_after_hwframe+0x44/0xae
>>>> [ 2168.589277] RIP: 0033:0x7ffff7e91c27
>>>> [ 2168.589278] RSP: 002b:00007fffffffdc48 EFLAGS: 00000246 ORIG_RAX:
>>>> 0000000000000001
>>>> [ 2168.589280] RAX: ffffffffffffffda RBX: 0000000000020000 RCX: 00007ffff7e91c27
>>>> [ 2168.589281] RDX: 0000000000020000 RSI: 00007ffff79bd000 RDI: 0000000000000004
>>>> [ 2168.589282] RBP: 00007ffff79bd000 R08: 0000000000000000 R09: 0000000000000000
>>>> [ 2168.589283] R10: 0000000000000022 R11: 0000000000000246 R12: 0000000000000004
>>>> [ 2168.589284] R13: 0000000000000004 R14: 00007ffff79bd000 R15: 0000000000020000
>>>>
>>>> and shows up under runnable tasks :
>>>>
>>>> [ 2168.593562] runnable tasks:
>>>> [ 2168.593562] S task PID tree-key switches
>>>> prio wait-time sum-exec sum-sleep
>>>> [ 2168.593563] -------------------------------------------------------------------------------------------------------------
>>>> [ 2168.593565] S cpuhp/13 92 88923.802487 19
>>>> 120 0.000000 0.292061 0.000000 2 0 /
>>>> [ 2168.593571] S idle_inject/13 93 -11.997255 3
>>>> 49 0.000000 0.005480 0.000000 2 0 /
>>>> [ 2168.593577] S migration/13 94 814.287531 551
>>>> 0 0.000000 1015.550514 0.000000 2 0 /
>>>> [ 2168.593582] S ksoftirqd/13 95 88762.317130 44
>>>> 120 0.000000 1.940252 0.000000 2 0 /
>>>> [ 2168.593588] I kworker/13:0 96 -9.031157 5
>>>> 120 0.000000 0.017423 0.000000 2 0 /
>>>> [ 2168.593593] I kworker/13:0H 97 3570.961886 5
>>>> 100 0.000000 0.034345 0.000000 2 0 /
>>>> [ 2168.593603] I kworker/13:1 400 101650.731913 578
>>>> 120 0.000000 10.110898 0.000000 2 0 /
>>>> [ 2168.593611] I kworker/13:1H 1015 101649.600698 65
>>>> 100 0.000000 1.443300 0.000000 2 0 /
>>>> [ 2168.593618] S loop3 1994 99133.655903 70
>>>> 100 0.000000 1.137468 0.000000 2 0 /
>>>> [ 2168.593625] S snapd 3161 15.296181 166
>>>> 120 0.000000 90.296991 0.000000 2 0
>>>> /system.slice/snapd.service
>>>> [ 2168.593631] S snapd 3198 10.047573 49
>>>> 120 0.000000 5.646247 0.000000 2 0
>>>> /system.slice/snapd.service
>>>> [ 2168.593639] S java 2446 970.743682 301
>>>> 120 0.000000 101.648659 0.000000 2 0
>>>> /system.slice/stor_tomcat.service
>>>> [ 2168.593645] S C1 CompilerThre 2573 1033.157689 3636
>>>> 120 0.000000 615.256247 0.000000 2 0
>>>> /system.slice/stor_tomcat.service
>>>> [ 2168.593654] D mv 3814 2263.816953 186734
>>>> 120 0.000000 30087.917319 0.000000 2 0 /user.slice
>>>>
>>>> any idea what is going on and how to fix this ?
>>>
>>>
>>>
>>>>
>>>> thx.
>>>>
>>>
>>>
>>> --
>>> Damien Le Moal
>>> Western Digital Research
--
Damien Le Moal
Western Digital Research
next prev parent reply other threads:[~2021-09-27 22:48 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-24 18:25 Host managed SMR drive issue Sven Oehme
2021-09-26 23:19 ` Damien Le Moal
2021-09-27 17:28 ` Sven Oehme
2021-09-27 22:36 ` Sven Oehme
2021-09-27 22:38 ` Sven Oehme
2021-09-27 22:48 ` Damien Le Moal [this message]
2021-09-27 22:56 ` Sven Oehme
2021-09-27 23:01 ` Damien Le Moal
2021-09-27 23:17 ` Sven Oehme
2021-09-27 23:31 ` Damien Le Moal
2021-09-27 23:34 ` Sven Oehme
2021-09-27 23:36 ` Sven Oehme
2021-09-27 23:38 ` Damien Le Moal
2021-09-27 23:51 ` Sven Oehme
2021-09-28 7:10 ` Naohiro Aota
2021-09-28 11:49 ` Sven Oehme
2021-09-30 9:55 ` Johannes Thumshirn
[not found] ` <CALssuR1wcChWwLt1wVoxhf=ufWdKtBHa7FXn-m9mkJcpPGbfOg@mail.gmail.com>
[not found] ` <PH0PR04MB7416408BFBD494211A4D86B69BAA9@PH0PR04MB7416.namprd04.prod.outlook.com>
[not found] ` <CALssuR1JZqaBLf_aCMRLm683cww66wc_p+hgCpCENMiQkVoSRg@mail.gmail.com>
[not found] ` <20211006154828.bqiwik2b6jaqxcck@naota-xeon>
[not found] ` <CALssuR3UeNmx0PnwUT8ZR0bOd9iAGjvgmv9u8yfHDnfpChKb2w@mail.gmail.com>
[not found] ` <20211007032239.iwrtygcavadvvb62@naota-xeon>
[not found] ` <CH0PR14MB50764AC8659E9378C65D6DE8F4B19@CH0PR14MB5076.namprd14.prod.outlook.com>
2021-10-11 6:32 ` Johannes Thumshirn
2021-10-11 10:23 ` David Sterba
2021-10-11 10:28 ` Johannes Thumshirn
2021-10-11 13:06 ` David Sterba
2021-09-28 6:36 ` Johannes Thumshirn
2021-09-29 10:29 ` Johannes Thumshirn
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=a9764186-90ab-6ff3-7953-07f39d69ea5f@opensource.wdc.com \
--to=damien.lemoal@opensource.wdc.com \
--cc=Johannes.Thumshirn@wdc.com \
--cc=Naohiro.Aota@wdc.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=oehmes@gmail.com \
/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