Minimum nr_requests for blk-mq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

in an effort to avoid OOMs on virtual machines with not much memory
(e.g. 1GB) I set the IO scheduler queue nr_requests to 2 (the device is
a loop device on fuse). This causes the system to deadlock (with 4.4 -
4.10). E.g. following stack trace

[ 1692.647562] Call Trace:
[ 1692.647568]  [<ffffffff8169d922>] ? __schedule+0x192/0x670
[ 1692.647571]  [<ffffffff810a489a>] ? try_to_wake_up+0x4a/0x390
[ 1692.647572]  [<ffffffff8169de36>] schedule+0x36/0x80
[ 1692.647574]  [<ffffffff816a0f85>] schedule_timeout+0x235/0x3f0
[ 1692.647576]  [<ffffffff810a4bf5>] ? wake_up_process+0x15/0x20
[ 1692.647579]  [<ffffffff810235f5>] ? xen_clocksource_get_cycles+0x15/0x20
[ 1692.647581]  [<ffffffff810ebf2c>] ? ktime_get+0x3c/0xb0
[ 1692.647583]  [<ffffffff8169d724>] io_schedule_timeout+0xa4/0x110
[ 1692.647587]  [<ffffffff813a9fdc>] bt_get.isra.6+0x10c/0x1a0
[ 1692.647589]  [<ffffffff810bc210>] ? wake_atomic_t_function+0x70/0x70
[ 1692.647590]  [<ffffffff813aa307>] blk_mq_get_tag+0x27/0x90
[ 1692.647592]  [<ffffffff813a5b70>] __blk_mq_alloc_request+0x20/0x230
[ 1692.647594]  [<ffffffff813a69fe>] blk_mq_map_request+0xbe/0x140
[ 1692.647595]  [<ffffffff813a8c68>] blk_sq_make_request+0xb8/0x4a0
[ 1692.647598]  [<ffffffff8139a727>] ?
generic_make_request_checks+0x217/0x540
[ 1692.647600]  [<ffffffff8139ceb0>] generic_make_request+0xd0/0x1a0
[ 1692.647601]  [<ffffffff8139cffd>] submit_bio+0x7d/0x150
[ 1692.647604]  [<ffffffff81235078>] mpage_bio_submit+0x58/0xb0
[ 1692.647606]  [<ffffffff8123622c>] mpage_readpages+0x12c/0x150
[ 1692.647607]  [<ffffffff8122ebd0>] ? I_BDEV+0x20/0x20
[ 1692.647609]  [<ffffffff8122ebd0>] ? I_BDEV+0x20/0x20
[ 1692.647610]  [<ffffffff8122f4ad>] blkdev_readpages+0x1d/0x20
[ 1692.647613]  [<ffffffff811803a0>] __do_page_cache_readahead+0x160/0x1f0
[ 1692.647615]  [<ffffffff8118079a>] force_page_cache_readahead+0xaa/0x100
[ 1692.647617]  [<ffffffff811808b0>] SyS_readahead+0x70/0xa0
[ 1692.647619]  [<ffffffff81003a8b>] do_syscall_64+0x5b/0xc0
[ 1692.647620]  [<ffffffff816a262f>] entry_SYSCALL64_slow_path+0x25/0x25

Could this be made more user friendly, by not allowing values below a
minimum (what is the minimum such that it does not deadlock?)?

Regards,

Martin Raiber



Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux