Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp3970821pxt; Tue, 10 Aug 2021 16:17:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwrNNm/Fq/F380nbjm9kF7LlK7V8JjU9TaH6hngSMw/wWc6cpKXGfG4S2ffSrDkj03xfAfI X-Received: by 2002:a17:906:405:: with SMTP id d5mr815101eja.189.1628637420175; Tue, 10 Aug 2021 16:17:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628637420; cv=none; d=google.com; s=arc-20160816; b=DTJCuthGtVa2thcTwkB+3OhLk+DFhfkxXF9FPt5XaunOZ02dDLY23gsIZwC7w9od0u Suip6q406jC1zzx9MGn03mCeplBgYH65cOAuP7kezgCtq+wvrB5M4w2zQ3uChQ8WlFQL cRnW29R5585eM5LiPSv2rsfLq1mCVIk/voykqyWSWYcbzMIrEvzKEFfRuaKYLg2Sq/5b 5JJo2hyKEOLVkh4jYYloZa35b3FzXsipst8XWEQ0b+MijC3AmeRBzaXtzIhAhbApxnB8 umAcAZjM021ns4Gj4MexQMW3u8yJRYhJyOGhIDx6DUBaqCu9GThbjCLGoo+qfQLIhggd qXwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=GUPlvlIHsVV1HyaB0WHrhJqrkm62V56QQdb99OyYrME=; b=a+Of6ofK7+8rXrIYSGB2F/wmM1TPM5wDK04y91ItN/XONKTWq4rMJ8x9OQFz+TFJgP +2fLfN4+6YoIFzpH5hPCdOLn4iiac/s0v+2HVNGrt1HHR5LYYaD79eEgkqqp+6r7cTIE dOycDoJPLdcsK0sL6arL46GiwVYQa0F+XcTZWc1yeRHDVQMz9/yUqK+NqHSW/1KHRvZz 4BRIsvSi4zd2l/voOtCiH6aMOb+yeFkBnaEU3Z/27w+O45+hSfrmkIqyqYqhjEQbumoV skHZ9d1+VCgeroib9XBm4HhBP8fZ2IPxHW9NtHJVJKWXC4brz7RRZbcsz28+7CtkrVAg uAXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=d548327f; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id eb13si24628701edb.420.2021.08.10.16.16.36; Tue, 10 Aug 2021 16:17:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=d548327f; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235306AbhHJXPZ (ORCPT + 99 others); Tue, 10 Aug 2021 19:15:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44836 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235192AbhHJXPZ (ORCPT ); Tue, 10 Aug 2021 19:15:25 -0400 Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 56642C061765 for ; Tue, 10 Aug 2021 16:15:02 -0700 (PDT) Received: by mail-ed1-x52d.google.com with SMTP id f13so543626edq.13 for ; Tue, 10 Aug 2021 16:15:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=GUPlvlIHsVV1HyaB0WHrhJqrkm62V56QQdb99OyYrME=; b=d548327fMFrF4HElne/pg8ZqB2axWgruQV3eF98nujz9NYnC+r6K/uE8dl1ll2yvWU HrL6VLhRBFsZIiJeWHg/92oQjvsa9voWfSaUIv3v2mzWjTyTGxRyC49zS0Blaetkpewe HsPYSFAbQSosuutny2je80yTuPqRd+C+UVW2+PqGEzK+Eib6MQ+pSSmryahjRVE28uYD WsG6XiVsRbzOZZmePrjTgsRpum3tpLHurlDCpKtJmjMeoUYWNTyAe+ZMbn5ebWxpoFDO jubdfL3e546ZAAc7dKRZfcTZa9RQoPuvM0T6HGhJjYFCaMd3iHCBzcYjgLO/1r/X7IVi gR9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GUPlvlIHsVV1HyaB0WHrhJqrkm62V56QQdb99OyYrME=; b=V+USThNCm1mDc6lUwv0wqXKAIqCK1FiU+Hrf+ph6PgFOjcGCc/1zIVwy7QxuxBN7c+ jfPKUdWGU66lqIGM7lCQo5ENvT4djRXZs5smTMVxYti6DiWQV6/MePBq6Ma9xRh6Y9nT c1cLZg8LenS3WGQBElF2YlPjuBFzB3v4cr2liDbT9aursJcuHqQ/VZczieeokUViSc5s 1oNFzWLGTTOV2zj4J1boxtDGSBV+pzkHt2Ag5NkvU4mqAdb2s/tftqxeSQDH2DRsx9Uz 4ep41OAw16V96y4OvltCLSmshuBgbbvNrRwY7sJV0AClUy8r8U2btcz2G0i3pAyeSF0m T1Ww== X-Gm-Message-State: AOAM531tuk1C3ToZsboBukhy3LEp9PfaxNBHGOS3S5pPbVFm1+B2/Ltg FJd3dEUpFSHGwxdN3/me2BhdB7lmxbpl0nv82dg= X-Received: by 2002:a50:954c:: with SMTP id v12mr7793777eda.313.1628637300909; Tue, 10 Aug 2021 16:15:00 -0700 (PDT) MIME-Version: 1.0 References: <20210810202936.2672-1-shy828301@gmail.com> <20210810202936.2672-2-shy828301@gmail.com> In-Reply-To: <20210810202936.2672-2-shy828301@gmail.com> From: Yang Shi Date: Tue, 10 Aug 2021 16:14:49 -0700 Message-ID: Subject: Re: [PATCH 2/3] Revert "mm/shmem: fix shmem_swapin() race with swapoff" To: Hugh Dickins , Huang Ying , Miaohe Lin , Andrew Morton Cc: Linux MM , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Aug 10, 2021 at 1:29 PM Yang Shi wrote: > > Due to the change about how block layer detects congestion the > justification of commit 8fd2e0b505d1 ("mm: swap: check if swap backing device > is congested or not") doesn't stand anymore, so the commit could be just > reverted in order to solve the race reported by commit 2efa33fc7f6e ("mm/shmem: > fix shmem_swapin() race with swapoff"), so the fix commit could be just > reverted as well. The updated commit log per the discussion with Hugh: Due to the change about how block layer detects congestion the justification of commit 8fd2e0b505d1 ("mm: swap: check if swap backing device is congested or not") doesn't stand anymore, so the commit could be just reverted in order to solve the race reported by commit 2efa33fc7f6e ("mm/shmem: fix shmem_swapin() race with swapoff"), so the fix commit could be just reverted as well. And that fix is also kind of buggy as discussed by [1] and [2]. [1] https://lore.kernel.org/linux-mm/24187e5e-069-9f3f-cefe-39ac70783753@google.com/ [2] https://lore.kernel.org/linux-mm/e82380b9-3ad4-4a52-be50-6d45c7f2b5da@google.com/ > > Suggested-by: Hugh Dickins > Cc: "Huang, Ying" > Cc: Miaohe Lin > Signed-off-by: Yang Shi > --- > mm/shmem.c | 14 +------------- > 1 file changed, 1 insertion(+), 13 deletions(-) > > diff --git a/mm/shmem.c b/mm/shmem.c > index dcc07d14162e..d5427de5bf02 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -1699,8 +1699,7 @@ static int shmem_swapin_page(struct inode *inode, pgoff_t index, > struct address_space *mapping = inode->i_mapping; > struct shmem_inode_info *info = SHMEM_I(inode); > struct mm_struct *charge_mm = vma ? vma->vm_mm : NULL; > - struct swap_info_struct *si; > - struct page *page = NULL; > + struct page *page; > swp_entry_t swap; > int error; > > @@ -1708,12 +1707,6 @@ static int shmem_swapin_page(struct inode *inode, pgoff_t index, > swap = radix_to_swp_entry(*pagep); > *pagep = NULL; > > - /* Prevent swapoff from happening to us. */ > - si = get_swap_device(swap); > - if (!si) { > - error = EINVAL; > - goto failed; > - } > /* Look it up and read it in.. */ > page = lookup_swap_cache(swap, NULL, 0); > if (!page) { > @@ -1775,8 +1768,6 @@ static int shmem_swapin_page(struct inode *inode, pgoff_t index, > swap_free(swap); > > *pagep = page; > - if (si) > - put_swap_device(si); > return 0; > failed: > if (!shmem_confirm_swap(mapping, index, swap)) > @@ -1787,9 +1778,6 @@ static int shmem_swapin_page(struct inode *inode, pgoff_t index, > put_page(page); > } > > - if (si) > - put_swap_device(si); > - > return error; > } > > -- > 2.26.2 >