On Mon, Aug 9, 2021 at 4:43 PM Huang, Ying <ying.huang@xxxxxxxxx> wrote: > > Yang Shi <shy828301@xxxxxxxxx> writes: > > > On Fri, Aug 6, 2021 at 1:37 PM Yang Shi <shy828301@xxxxxxxxx> wrote: > >> > >> On Thu, Aug 5, 2021 at 11:01 PM Hugh Dickins <hughd@xxxxxxxxxx> wrote: > >> > > >> > 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. > >> > >> It should be easier to revert Huang Ying's , then Miaohe's, then mine. > > > > Hi Ying, > > > > I just prepared the reverts since I need to revert yours and Miaohe's > > in order to revert my problematic commit. > > If your original commit will be reverted, then mine and Miaohe's can be > reverted from the race condition point of view. Yes, this is exactly what I did. > > Although I still think it's better to call get/put_swap_device() in > shmem_swapin_page(), that can be discussed with another patch. Any additional change could be based off the reverts. > > Best Regards, > Huang, Ying