From patchwork Tue Aug 22 20:23:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 13361442 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 AA49DEE49AB for ; Tue, 22 Aug 2023 20:23:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BFBE194002F; Tue, 22 Aug 2023 16:23:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BAB8F940007; Tue, 22 Aug 2023 16:23:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A72FB94002F; Tue, 22 Aug 2023 16:23:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 8E368940007 for ; Tue, 22 Aug 2023 16:23:42 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 62E3B1A04AD for ; Tue, 22 Aug 2023 20:23:42 +0000 (UTC) X-FDA: 81152866284.02.D29FD0D Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf16.hostedemail.com (Postfix) with ESMTP id 4C8A0180005 for ; Tue, 22 Aug 2023 20:23:40 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=wKsdu8AM; spf=none (imf16.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692735820; 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:references:dkim-signature; bh=mB8YeaIRdl4qgsnxgxDO/CQYTevtPgeUp2XajCj6z4s=; b=juDc+uasGby007/TrtK9vmjzDyvMn6hRpdD4sg7RhkqqQKRLpSUHkLfEJ/ANdRveSKmvyR sEHyxasAWTJT/riN2rAOpkMjXjYh79BT+kkrRfnHtHQCQcTR0MAJ8bU7+7UJFlLVyiYjDS 5QGoT31UwdhsEVsCvIKrsNF8O0j2nYg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692735820; a=rsa-sha256; cv=none; b=l46swUYN7r+TTZtOg9IuuW1TRu4t3SitZKImncJPIuS5SCY+rAghAJ7Wjfj9fIL6JKTkkJ axVeh0KLuMGBIeoYoFMwJ4YkJ4ZbTZz5JuaouYk9XZbgR/8u89TMFzwAWsEuyU/c79kB6z xNS+5NsCVF1QPaKF0xs61/P8DN71ULs= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=wKsdu8AM; spf=none (imf16.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none 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: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:In-Reply-To:References; bh=mB8YeaIRdl4qgsnxgxDO/CQYTevtPgeUp2XajCj6z4s=; b=wKsdu8AMQNP9/21itJCWNqlcWK slXE82pTfJKxMqcRtS0ku5f/UT+QweicLtBHpj/8LraYwlCtxCMFJ/GG9XKeAYFEais3U7oK1ZFm/ C8yJF8BIT31mZOpiLCM3Z5f7rR4ArOLwzjK3jcpitqLfWgx/qxAJ66IUVTAr0ku5sFAlDkujeh1Yb +nC8StzcMN9f6+/lDdajRxuiXufqc7X8IgtqdLkBe5v72FIbSUuG0vFHSclM+ya8nsBEBHlZFxfnL VUfLP0z8o7LGhaLoqU0xwm5B1w/6hokrgevepZ2l8Ja3oOCts0oxP/qbj6ZALDHzXdV7dokp9QZDw 5i3GmMaA==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qYXub-000kaZ-0B; Tue, 22 Aug 2023 20:23:37 +0000 From: "Matthew Wilcox (Oracle)" To: Andrew Morton Cc: "Matthew Wilcox (Oracle)" , linux-mm@kvack.org, Mike Rapoport Subject: [PATCH v2] secretmem: Conert page_is_secretmem() to folio_is_secretmem() Date: Tue, 22 Aug 2023 21:23:35 +0100 Message-Id: <20230822202335.179081-1-willy@infradead.org> X-Mailer: git-send-email 2.37.1 MIME-Version: 1.0 X-Stat-Signature: 7dg33yab1q171sekgsq3s8773gmjj3bf X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 4C8A0180005 X-Rspam-User: X-HE-Tag: 1692735820-520428 X-HE-Meta: U2FsdGVkX18lGVWqDY7m0jl3H6g23gl+pcavjmiCcjKNXdpi1+pV+AD4YgfSRjzrCRXHjhb4r999DZlIyaiksBGNd/7OVLh09ORnRJ4P/GYZs3bmlOvMF+hyHux76HScEMplHMeQwNs1TFhWGlQ3VY4etyngIYyeDUKsYoG1KXBZLE9danHtjsCoPe4L+NArkDgh12b/lfJCdFp9+RCZUgyXK7isb0i2wRkopRHn9QUcp8fqL0URmkM3mxijCXt4Mvd5wM1KryW3MCNi7NQLiIRMPl2F+mRPcZfop9QOmCwi4IdNp1fKlGZ8L3WJF31WTqxwLKAhdotnP93cmDbcWWgBdbxpiEZwmsr9+DtRIrbcqtMOVwi73X7cUQSoSkx+OM/EBBED8iVyPcRbdg8zBtZgwPT0zAddnPwfRwwNE6T82CUZYVsDWCH5WkvzPemvK4igtT2LaKnoL/5qLmexlb0qccAw74x6ewAQxWE+sijxb9NPuPdj2bSnQyULXBNbBLS2OezifhhC/lrOj3FoTQtypltyTQyHovH36sqHWN+uTp49BajKbAssXvii4U77p1DxWq4PPI7VdBvuVLmi4BoHGQRkTYv4m5w721hC12tYHArcGnsopkfQ3PwLo0RTFrw6XNBWwMP1cHst3uuJ9ThY+8sWf+pPrPkKiOCTmW2knZK/EbxgK6T41TzF3lx/Fe+2xY65bLBesWMe71utYTN+tPRf4XGYNS1YFI7IijjLd0pXjInhM/LTgzMwqsflx3uEPQhDZIzqhUlVvyF2jJjTkYE8ECmUKo/IR5xn/vxSXWqZi3QkHgwXVL+yPSQvophxkZqvffBAwWlKFzgEr3FQcIjds2z7I0JnVo5n3DY7xBKJvZ7KNcz6jWv/npx7swUJL+P0iYWeZLFKfmJEQ8wjekXmed30WASrReOn90T1mzsjDWJJKRaSeEQkGGzZ7s8BLmP8KL3sb4t/8n6 40bkDX8g PXoxkXigGGmxTDerw/HMMhtkP+yAlZldLXt7SPnowsG18jEd0mLSVTMe2TLmqxrR9Pc64IsRZiCq0PQLvMJA3FlFFaQcjGFqTX/ysTLu+nvZ83HErkxyvUALnc0rPhmVZmDt7Rf9VoI7deI8VrFQF8GTL4s1FYKapEzQ3xbMbWbc+DTnexekCoFnqp6NVVL6RB1F9J3vEmYl2bAc2XRvYVN/BxLliAtW8SBdpFpIUVVK8vL8JJhjjqsKdsLXnCQJUZ40gAa4CkmdibXskGNRb+xnhv8J9BpGbcN8g 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: The only caller already has a folio, so use it to save calling compound_head() in PageLRU() and remove a use of page->mapping. Signed-off-by: Matthew Wilcox (Oracle) Reviewed-by: Mike Rapoport (IBM) Reviewed-by: David Hildenbrand --- include/linux/secretmem.h | 15 +++++++-------- mm/gup.c | 2 +- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/include/linux/secretmem.h b/include/linux/secretmem.h index 988528b5da43..35f3a4a8ceb1 100644 --- a/include/linux/secretmem.h +++ b/include/linux/secretmem.h @@ -6,24 +6,23 @@ extern const struct address_space_operations secretmem_aops; -static inline bool page_is_secretmem(struct page *page) +static inline bool folio_is_secretmem(struct folio *folio) { struct address_space *mapping; /* - * Using page_mapping() is quite slow because of the actual call - * instruction and repeated compound_head(page) inside the - * page_mapping() function. + * Using folio_mapping() is quite slow because of the actual call + * instruction. * We know that secretmem pages are not compound and LRU so we can * save a couple of cycles here. */ - if (PageCompound(page) || !PageLRU(page)) + if (folio_test_large(folio) || !folio_test_lru(folio)) return false; mapping = (struct address_space *) - ((unsigned long)page->mapping & ~PAGE_MAPPING_FLAGS); + ((unsigned long)folio->mapping & ~PAGE_MAPPING_FLAGS); - if (!mapping || mapping != page->mapping) + if (!mapping || mapping != folio->mapping) return false; return mapping->a_ops == &secretmem_aops; @@ -39,7 +38,7 @@ static inline bool vma_is_secretmem(struct vm_area_struct *vma) return false; } -static inline bool page_is_secretmem(struct page *page) +static inline bool folio_is_secretmem(struct folio *folio) { return false; } diff --git a/mm/gup.c b/mm/gup.c index 6d0c24e93425..2f8a2d89fde1 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -2600,7 +2600,7 @@ static int gup_pte_range(pmd_t pmd, pmd_t *pmdp, unsigned long addr, if (!folio) goto pte_unmap; - if (unlikely(page_is_secretmem(page))) { + if (unlikely(folio_is_secretmem(folio))) { gup_put_folio(folio, 1, flags); goto pte_unmap; }