From patchwork Mon Mar 4 08:13:46 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Barry Song <21cnbao@gmail.com> X-Patchwork-Id: 13580151 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D0EDC54E41 for ; Mon, 4 Mar 2024 08:14:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E30DC6B00A3; Mon, 4 Mar 2024 03:14:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DDE0D6B00A4; Mon, 4 Mar 2024 03:14:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C57DE6B00A5; Mon, 4 Mar 2024 03:14:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id AF32B6B00A3 for ; Mon, 4 Mar 2024 03:14:46 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 743191A0946 for ; Mon, 4 Mar 2024 08:14:46 +0000 (UTC) X-FDA: 81858645372.14.2E0D0C8 Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) by imf01.hostedemail.com (Postfix) with ESMTP id 994D540013 for ; Mon, 4 Mar 2024 08:14:44 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=BtA62rUI; spf=pass (imf01.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.166.50 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709540084; a=rsa-sha256; cv=none; b=aVRSbKXWL8OSCRH8GLOkJxi7rBmbbkblBRH8kor5K4tlFU5kU27sdLg2MhdOMa1fCDw6V1 BohCbDBIMn4192PZ4Ta3zriJgDPeM0BWCYK5gLl6mA8od+RcE6OBSII6so78UB7ammLSHX 9vLPcIHCjl4Z0lDudVLW7/Wbzy7H9hI= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=BtA62rUI; spf=pass (imf01.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.166.50 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709540084; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=nPNnhD7u3Mm6wgXrNGhON5/bGI4wy7Z421ED7ypUMCI=; b=FWk4NhCYHhqc6cP5uIUODHtha3WnydtOKr8YaToFCq3fU++7W0qpHL/PcGTNydxQgvdH1y Z29HTxBaAeg49fKLhksd07mJAmz+SEJvkc9tanOPRv/CR7IN2PYOqYNP/ZSkGr9yeiGxxf jGRjAGWChveBV/jCpUSODJkYBMFu+yw= Received: by mail-io1-f50.google.com with SMTP id ca18e2360f4ac-7bed9fb159fso259233439f.1 for ; Mon, 04 Mar 2024 00:14:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709540083; x=1710144883; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nPNnhD7u3Mm6wgXrNGhON5/bGI4wy7Z421ED7ypUMCI=; b=BtA62rUIq8wZgbCm95ZopBfTnSyW4IGDWs/AnACD69LrnNDt6zWKuLEaCUkAVhfBYx PAsLtR2TnCVvtKSGDgxiVM88pm7p+q2PLL+zKxT7VwWcZ7DT4s4wHjGvpGI5FWzzgJ03 Ab4m6OOeIfhXTR84SwIgI8vflUhIhlybRjKkBQ8hnpRbhO9XU2gkeXTKqBVez+JbUGHn ZrFC8e1+Gmvs0/0j7ituXH/eXrBRI31+1oOIS6RMAXRnJr1e1niMoLYqKsouLxMymKB+ m9LMsPPYijYptgl/lRJ1qOJsLtpL/5vhkbaxjHXnsgC19LmPU2xa2B+0Xr0Jjzf8RkdY Xj/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709540083; x=1710144883; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nPNnhD7u3Mm6wgXrNGhON5/bGI4wy7Z421ED7ypUMCI=; b=i8LpU9uY3p0678DrISOhEnG0YMI01FhYbkmSZ1V2mvy4VO498F+OGmBpR2IGCbPH2S DHJ+Fbe1IeJ9lwWZ/jqC8Tg8TLKM+UOcrsxO5arvBEXmVfXLlrMBH5XQMW6IaOWPLWnl K3AYGFtMrCwuwo1fPcDC16TvxANNHsv8DO7zhwODGE8fZjF+j+cnImjtHg02nTVshGlX C4X10b1Cc2Kzg/16P9e0fNJpsDMY/TVLKfv289Ea5dS+eyUtSW4CtfX/fAEdeRu7KnzW B5YPvYPqZdv+D8QvP9xRtw+2U43atjMMGwkgkhfmoTup9XstGHEK9bhLswE6MzJC/zqp juUQ== X-Forwarded-Encrypted: i=1; AJvYcCXgXMHIh0YZ/ZRPDbJzeGlGSmUJOSqUasp2ATXa8KGinRvKrXxNSJPvS8hjRtLXVFv1aRN6eMWuYOIT+m93u2iiSdM= X-Gm-Message-State: AOJu0YwJZDifRLqjWz+JtCGXJ1JFGDv2zF8/vXe28Thlm5wtfqsjfFwA wGEDJjVg8pieBKr7tPOtoxcshPjq79YRVrlERo9MzXfpCAirMdH7 X-Google-Smtp-Source: AGHT+IGUq+bnojeKaoe2OXAEqxwKRkmXLSREbs2hTuKe5Xt3pOS0+qxiK9Mn4Apyji0BmRbt8d2UYg== X-Received: by 2002:a05:6e02:1567:b0:365:f8d:50c3 with SMTP id k7-20020a056e02156700b003650f8d50c3mr11150779ilu.21.1709540083664; Mon, 04 Mar 2024 00:14:43 -0800 (PST) Received: from localhost.localdomain ([2407:7000:8942:5500:aaa1:59ff:fe57:eb97]) by smtp.gmail.com with ESMTPSA id ka42-20020a056a0093aa00b006e558a67374sm6686387pfb.0.2024.03.04.00.14.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 00:14:43 -0800 (PST) From: Barry Song <21cnbao@gmail.com> To: akpm@linux-foundation.org, linux-mm@kvack.org, ryan.roberts@arm.com Cc: chengming.zhou@linux.dev, chrisl@kernel.org, david@redhat.com, hannes@cmpxchg.org, kasong@tencent.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, mhocko@suse.com, nphamcs@gmail.com, shy828301@gmail.com, steven.price@arm.com, surenb@google.com, wangkefeng.wang@huawei.com, willy@infradead.org, xiang@kernel.org, ying.huang@intel.com, yosryahmed@google.com, yuzhao@google.com, Chuanhua Han , Barry Song Subject: [RFC PATCH v3 3/5] mm: swap: make should_try_to_free_swap() support large-folio Date: Mon, 4 Mar 2024 21:13:46 +1300 Message-Id: <20240304081348.197341-4-21cnbao@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240304081348.197341-1-21cnbao@gmail.com> References: <20240304081348.197341-1-21cnbao@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 994D540013 X-Stat-Signature: 1dnsa49pdgx4pbqcn4oeye9bfraqk83z X-Rspam-User: X-HE-Tag: 1709540084-798920 X-HE-Meta: U2FsdGVkX1/bhNq8TtNG2Cjc9wMmhqwdtTAaFuCya1tpva6dI/f6bcJsoR0ypf50Yb2dnDF/7OfgF3+ylgWhk6QVx+hKWm1cOdZB8ytlfX13+ONMRn6s4d0AOG7gPHbkOfOsJ/gxnNspOJFNwo/cUAbw2UC9eC6Zs4/snO70JaDelboNs5WmnHYgnKC2kuLC6WA05uY3KCivMWCsGeN5occ6HaIZC4fnvzgrWSmLeIUqGoxghV7W7/jtomgIlBf104rRyRS5eB8Si65QnUuIc449Rnxw+4TdsE16N6Bj8riecgkYwHfxGgFIQcqqbYrMXKjnWfhxcB1WmjcXdUFG8l4AnuL1GhjMwmfJ2o2th63weeHa3/rJVxY222LneYtY8qQZLeEDG8wUZkcZSRBCY0UFTJHFZr+OyzAevpjoUZl7Xr4ABUw2R5ZDcoZuLhIOpPp7guf/cLR6EDvegC6/vS7knjGdKhS1+IAKWVH5e2wVlnpJGsRGDpwmjisEjA+ZthX2KtXLXeyH+jZ2KxgIZ27ghNRwY8zfVaqqRL1OH6gWn9UZHdxgxUxqIEdMWSpZkNlOKvNtiRjGHRbhML8U6zXn/Ors9QkhlYIauvFJpxvxQ+AOJjSuarj/eE3mp/ZhJu38zklOwKdPj5hYMMT2Yyp0TBd2O1tzWJpXqUT+UXK7YlVMCCR+D0y9Wy3d6lXjBRKILqdx4GEndO9oD/P/EBifVJF5LOM/jmnXeYPakWvFRxnlIao75gOs5HzibHX0f1yVS1vaiQN9hthIXSFTovXthOVafjmRD2SCMWQoKlaiQiWbdgIF3V6XMKqrQxmibPvHeNBrCWVaKlXEQXSADraLS02sdjajAAqHXzcRL7V0/1jgeAWgVyQiEqZiN9hBuxl67EYY3enC072NCPIdiMqVZOzrWnnlo+ThSow7PishhwhRgADBUYI+QKR96VPshuAEx2e02uEEiawHIM2 Njw3qfRM vi/t0/KhEKs43+3UaDG8LK+IIto28hMfXQuBeW+E2p1Cfu8bAJP8yT6OeARIZYFsVoY5cZ29M4cQ9kYS1bHXQPOKb3HT7dMQabm/nPAnuK3Zy0C/YEj0KLwhWAhBhexENT4tgzjV7pQgZKTO6fPSGlA0qnzgY6e5POL4qGpIQDza2tYu5gvEQV8BOrRebDJRl8ySgKlnJg3efr5lS3bC82mokDWW1tXflOeNTp8gQq4i7LEyXtZx06YPTlTiJPIIe9FI0bb1bJCo1t1OEuPnQZmIXjtkLbI1zgX3AV7wHiadkKsg+yKQT1V3Kxsil9TMXOb+1JoJuOYgFkGlGN7dWMi33EGAmUMDB31gbZKW62nSPabKxkwJ2UIJNcmvNqTSlmDd2hrL0zWVKchlN1TevIQVLuGgrtmnYc6P/a9zf5mhULeeWZfk6VS3gc5IusJFejv21nOcgzYWs9C5vQp2AIfGtaFM8DqjCBYSRV7HId2SxJMfGM74E5H3UPYCjX0CwHa+4HOBwqrvulLIqqOqK+aMDLKGl0thzIwzm 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: List-Subscribe: List-Unsubscribe: From: Chuanhua Han should_try_to_free_swap() works with an assumption that swap-in is always done at normal page granularity, aka, folio_nr_pages = 1. To support large folio swap-in, this patch removes the assumption. Signed-off-by: Chuanhua Han Co-developed-by: Barry Song Signed-off-by: Barry Song Acked-by: Chris Li Reviewed-by: Ryan Roberts --- mm/memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/memory.c b/mm/memory.c index abd4f33d62c9..e0d34d705e07 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3837,7 +3837,7 @@ static inline bool should_try_to_free_swap(struct folio *folio, * reference only in case it's likely that we'll be the exlusive user. */ return (fault_flags & FAULT_FLAG_WRITE) && !folio_test_ksm(folio) && - folio_ref_count(folio) == 2; + folio_ref_count(folio) == (1 + folio_nr_pages(folio)); } static vm_fault_t pte_marker_clear(struct vm_fault *vmf)