From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1493AC433EF for ; Thu, 11 Nov 2021 04:32:40 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id A5AC96128E for ; Thu, 11 Nov 2021 04:32:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org A5AC96128E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linux-foundation.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 487A96B00CB; Wed, 10 Nov 2021 23:32:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 437686B00CC; Wed, 10 Nov 2021 23:32:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 34D816B00CE; Wed, 10 Nov 2021 23:32:39 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0093.hostedemail.com [216.40.44.93]) by kanga.kvack.org (Postfix) with ESMTP id 2776A6B00CB for ; Wed, 10 Nov 2021 23:32:39 -0500 (EST) Received: from smtpin29.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id D93D818523370 for ; Thu, 11 Nov 2021 04:32:38 +0000 (UTC) X-FDA: 78795378396.29.8DAB3E0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf11.hostedemail.com (Postfix) with ESMTP id 819FFF000201 for ; Thu, 11 Nov 2021 04:32:38 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id 82B0761052; Thu, 11 Nov 2021 04:32:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1636605157; bh=Vrif5JLMGZiX2MKd33Aiziwu5UcgP4WpoXhwcOFV8GY=; h=Date:From:To:Subject:In-Reply-To:From; b=WiPm6Cy2goAU0Xop/CFsSe8devqgoMMnAaWaEJMsJfabOnwW9JFxQTAzYDxehBb0U bXjaktaA91e2ccrf/CYPOGd4Bv8kEUVvnmloJjx1bUWhh5BBOD5SfAyEMzUiX5Q6hZ q9pisE93APEHzoB7e3rSM1xQOEgFwb3Ks8cZ2VCY= Date: Wed, 10 Nov 2021 20:32:37 -0800 From: Andrew Morton To: akpm@linux-foundation.org, apopple@nvidia.com, baolin.wang@linux.alibaba.com, linux-mm@kvack.org, mm-commits@vger.kernel.org, shy828301@gmail.com, torvalds@linux-foundation.org, willy@infradead.org Subject: [patch 3/7] mm: migrate: simplify the file-backed pages validation when migrating its mapping Message-ID: <20211111043237.NQd7m0u64%akpm@linux-foundation.org> In-Reply-To: <20211110203204.37de96048c3279ab2da758a5@linux-foundation.org> User-Agent: s-nail v14.8.16 X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 819FFF000201 X-Stat-Signature: 3rd9zpazua6qh4twpzhhw3hkc1jyr6to Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=WiPm6Cy2; spf=pass (imf11.hostedemail.com: domain of akpm@linux-foundation.org designates 198.145.29.99 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none X-HE-Tag: 1636605158-172000 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Baolin Wang Subject: mm: migrate: simplify the file-backed pages validation when migrating its mapping There is no need to validate the file-backed page's refcount before trying to freeze the page's expected refcount, instead we can rely on the folio_ref_freeze() to validate if the page has the expected refcount before migrating its mapping. Moreover we are always under the page lock when migrating the page mapping, which means nowhere else can remove it from the page cache, so we can remove the xas_load() validation under the i_pages lock. Link: https://lkml.kernel.org/r/cover.1629447552.git.baolin.wang@linux.alibaba.com Link: https://lkml.kernel.org/r/df4c129fd8e86a95dbc55f4663d77441cc0d3bd1.1629447552.git.baolin.wang@linux.alibaba.com Signed-off-by: Baolin Wang Suggested-by: Matthew Wilcox Cc: Yang Shi Cc: Alistair Popple Signed-off-by: Andrew Morton --- mm/migrate.c | 6 ------ 1 file changed, 6 deletions(-) --- a/mm/migrate.c~mm-migrate-simplify-the-file-backed-pages-validation-when-migrating-its-mapping +++ a/mm/migrate.c @@ -404,12 +404,6 @@ int folio_migrate_mapping(struct address newzone = folio_zone(newfolio); xas_lock_irq(&xas); - if (folio_ref_count(folio) != expected_count || - xas_load(&xas) != folio) { - xas_unlock_irq(&xas); - return -EAGAIN; - } - if (!folio_ref_freeze(folio, expected_count)) { xas_unlock_irq(&xas); return -EAGAIN; _