On Thu, 5 Aug 2021, Yang Shi wrote: > On Tue, Aug 3, 2021 at 10:34 PM Hugh Dickins <hughd@xxxxxxxxxx> wrote: > > > > I've never seen the swapoff race claimed by Miaohe, and don't expect to; > > but he's probably right, given the current code. I just dislike adding > > unnecessary complexity, and siting it in the wrong place (mm/shmem.c). > > > > Yang, is it possible that 5.1 commit 8fd2e0b505d1 ("mm: swap: check if > > swap backing device is congested or not") was actually developed and > > measured on 4.1 or earlier, which still had blk_set_queue_congested()? > > I forgot the exact version, but definitely not 4.1 or earlier. Maybe > 4.19 or earlier. I'm not familiar with how block layer detect > congestion, if the logic was changed, hence the optimization doesn't > stand anymore nowadays, I'm totally fine to remove it. You drove me back to look more closely. blk_set_queue_congested() vanished from include/linux/blkdev.h in 4.2, but blk_set_congested() appeared then in block/blk-core.c to replace it. blk_set_congested() vanished (along with all references to "congested" in blk-core.c) in 5.0, then your commit (most probably tested on 4.19) went into 5.1 - just after it had become redundant! Thanks, yes, let's revert that and Miaohe's and Huang's, later on. Hugh