Re: [PATCH] mm,shmem: Fix a typo in shmem_swapin_page()
From: Huang, Ying
Date: Mon Aug 09 2021 - 19:43:53 EST
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.
Although I still think it's better to call get/put_swap_device() in
shmem_swapin_page(), that can be discussed with another patch.