On 10/15/19 2:37 AM, Jan Kara wrote: > On Mon 14-10-19 16:30:24, Eric Sandeen wrote: >> Anything that walks all inodes on sb->s_inodes list without rescheduling >> risks softlockups. >> >> Previous efforts were made in 2 functions, see: >> >> c27d82f fs/drop_caches.c: avoid softlockups in drop_pagecache_sb() >> ac05fbb inode: don't softlockup when evicting inodes >> >> but there hasn't been an audit of all walkers, so do that now. This >> also consistently moves the cond_resched() calls to the bottom of each >> loop in cases where it already exists. >> >> One loop remains: remove_dquot_ref(), because I'm not quite sure how >> to deal with that one w/o taking the i_lock. >> >> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> > > Thanks Eric. The patch looks good to me. You can add: > > Reviewed-by: Jan Kara <jack@xxxxxxx> thanks > BTW, I suppose you need to add Al to pickup the patch? Yeah (cc'd now) But it was just pointed out to me that if/when the majority of inodes at umount time have i_count == 0, we'll never hit the resched in fsnotify_unmount_inodes() and may still have an issue ... -Eric