Re: Linux 5.3-rc8

From: Ahmed S. Darwish
Date: Tue Sep 10 2019 - 00:21:27 EST


Hi,

On Sun, Sep 08, 2019 at 01:59:27PM -0700, Linus Torvalds wrote:
> So we probably didn't strictly need an rc8 this release, but with LPC
> and the KS conference travel this upcoming week it just makes
> everything easier.
>

The commit b03755ad6f33 (ext4: make __ext4_get_inode_loc plug), [1]
which was merged in v5.3-rc1, *always* leads to a blocked boot on my
system due to low entropy.

The hardware is not a VM: it's a Thinkpad E480 (i5-8250U CPU), with
a standard Arch user-space.

It was discovered through bisecting the problem v5.2 => v5.3-rc1,
since v5.2 never had any similar issues. The issue still persists in
v5.3-rc8: reverting that commit always fixes the problem.

It seems that batching the directory lookup I/O requests (which are
possibly a lot during boot) is minimizing sources of disk-activity-
induced entropy? [2] [3]

Can this even be considered a user-space breakage? I'm honestly not
sure. On my modern RDRAND-capable x86, just running rng-tools rngd(8)
early-on fixes the problem. I'm not sure about the status of older
CPUs though.

Thanks,

[1]
commit b03755ad6f33b7b8cd7312a3596a2dbf496de6e7
Author: zhangjs <zachary@xxxxxxxxxxxxxxxx>
Date: Wed Jun 19 23:41:29 2019 -0400

ext4: make __ext4_get_inode_loc plug

Add a blk_plug to prevent the inode table readahead from being
submitted as small I/O requests.

Signed-off-by: zhangjs <zachary@xxxxxxxxxxxxxxxx>
Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
Reviewed-by: Jan Kara <jack@xxxxxxx>

[2] https://lkml.kernel.org/r/20190619122457.GF27954@xxxxxxxxxxxxxx

[3] block/blk-core.c :: blk_start_plug()

--
darwi
http://darwish.chasingpointers.com