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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6145EC25B08 for ; Mon, 8 Aug 2022 19:36:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 29C8D8E000A; Mon, 8 Aug 2022 15:36:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2194D940009; Mon, 8 Aug 2022 15:36:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DCFCF8E000A; Mon, 8 Aug 2022 15:36:17 -0400 (EDT) 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 C2E3E8E000B for ; Mon, 8 Aug 2022 15:36:17 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A7F6F401B8 for ; Mon, 8 Aug 2022 19:36:17 +0000 (UTC) X-FDA: 79777431594.12.8071EE6 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf14.hostedemail.com (Postfix) with ESMTP id 4F332100161 for ; Mon, 8 Aug 2022 19:36:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description; bh=fv2y1iAyO39DZlMXbrHe8clJyhsWTUGrGxo2kThV8U0=; b=djbMfEYLrnrTQElSsmXbk45aoY 6d1Po+FjQDEY99uGyxNsVFla1Ej33NX62qRTl9RiuKeaT3EZJQcjhdXR2IS58AGE2D2I7wZsncAe+ /Nc52AvJ7bnQNZKOjB5sh34ub0ovMCO2wIDnguyusL3pXGgPxVszJzOrOErQwjn1xCLTbK/Sz2XW8 e8WonXKtZxrQtyLz5ktbP1mI7xNEB1U+NDW/PRhE70mjATm0Uo94US+EOFIz3pHBaTxC+BuuGKTtV +IIvTGsFU/ct08J+FoBx+enqJsjuQb15qOmu51G4JAC78b99ye3FRDjM6ODhp4hWME1uJdyeCb4vH GgN3miHA==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1oL8XN-00EB13-A7; Mon, 08 Aug 2022 19:35:43 +0000 From: "Matthew Wilcox (Oracle)" To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" , hughd@google.com Subject: [PATCH 49/59] mm: Convert do_swap_page() to use folio_free_swap() Date: Mon, 8 Aug 2022 20:34:17 +0100 Message-Id: <20220808193430.3378317-50-willy@infradead.org> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20220808193430.3378317-1-willy@infradead.org> References: <20220808193430.3378317-1-willy@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1659987377; 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=fv2y1iAyO39DZlMXbrHe8clJyhsWTUGrGxo2kThV8U0=; b=M5exNFzOl5A7gUdmylywe8m0hvTOB/49dUz2n4fOEOTQes6u8F1nJZwDF434/WgoWw19tL tW0fAG7amVebkdNWsYiOnlikMsSkA5szb3IDAOkr0GPatl5JT1EYSOPYHaRHj6CNTsybkh wPOS9BEZLRRm7pm6/97NiXTG8uIpRNA= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=djbMfEYL; dmarc=none; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1659987377; a=rsa-sha256; cv=none; b=mbbARyvOLr+NEuufPKhPw6EjlJVwYW3WXs1wOqg2tjZKURB2BzMLA0LmR3lG7/4EcZPp1t a4ARj3oEz8A8GAFEJpzDwJPlTJp65Nr43INSL/7NwhOcyJ6QTPtUf2MGrTh0ZLDEgZbFc9 aKOhH2ZOvtQjKIf2Mb5z28L2e264fG8= X-Rspamd-Queue-Id: 4F332100161 X-Rspamd-Server: rspam03 X-Rspam-User: Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=djbMfEYL; dmarc=none; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org X-Stat-Signature: f5xr99rc1dixxxjnxdgbds1sd36kgcj1 X-HE-Tag: 1659987377-342735 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: Also convert should_try_to_free_swap() to use a folio. This removes a few calls to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) --- mm/memory.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mm/memory.c b/mm/memory.c index 43432b877447..5b440045d306 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3635,14 +3635,14 @@ static vm_fault_t remove_device_exclusive_entry(struct vm_fault *vmf) return 0; } -static inline bool should_try_to_free_swap(struct page *page, +static inline bool should_try_to_free_swap(struct folio *folio, struct vm_area_struct *vma, unsigned int fault_flags) { - if (!PageSwapCache(page)) + if (!folio_test_swapcache(folio)) return false; - if (mem_cgroup_swap_full(page) || (vma->vm_flags & VM_LOCKED) || - PageMlocked(page)) + if (mem_cgroup_swap_full(&folio->page) || (vma->vm_flags & VM_LOCKED) || + folio_test_mlocked(folio)) return true; /* * If we want to map a page that's in the swapcache writable, we @@ -3650,8 +3650,8 @@ static inline bool should_try_to_free_swap(struct page *page, * user. Try freeing the swapcache to get rid of the swapcache * reference only in case it's likely that we'll be the exlusive user. */ - return (fault_flags & FAULT_FLAG_WRITE) && !PageKsm(page) && - page_count(page) == 2; + return (fault_flags & FAULT_FLAG_WRITE) && !folio_test_ksm(folio) && + folio_ref_count(folio) == 2; } static vm_fault_t pte_marker_clear(struct vm_fault *vmf) @@ -3944,8 +3944,8 @@ vm_fault_t do_swap_page(struct vm_fault *vmf) * yet. */ swap_free(entry); - if (should_try_to_free_swap(page, vma, vmf->flags)) - try_to_free_swap(page); + if (should_try_to_free_swap(folio, vma, vmf->flags)) + folio_free_swap(folio); inc_mm_counter_fast(vma->vm_mm, MM_ANONPAGES); dec_mm_counter_fast(vma->vm_mm, MM_SWAPENTS); -- 2.35.1