From patchwork Mon Jan 31 20:32:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pasha Tatashin X-Patchwork-Id: 12731115 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 4F00DC4332F for ; Mon, 31 Jan 2022 20:32:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C7C7B6B00F4; Mon, 31 Jan 2022 15:32:57 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B90466B00F6; Mon, 31 Jan 2022 15:32:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8A9696B00F7; Mon, 31 Jan 2022 15:32:57 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0170.hostedemail.com [216.40.44.170]) by kanga.kvack.org (Postfix) with ESMTP id 71AA66B00F4 for ; Mon, 31 Jan 2022 15:32:57 -0500 (EST) Received: from smtpin25.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 2878E181FA8CB for ; Mon, 31 Jan 2022 20:32:57 +0000 (UTC) X-FDA: 79091731194.25.729FB94 Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) by imf08.hostedemail.com (Postfix) with ESMTP id CA40A16000A for ; Mon, 31 Jan 2022 20:32:56 +0000 (UTC) Received: by mail-qk1-f178.google.com with SMTP id b22so13183793qkk.12 for ; Mon, 31 Jan 2022 12:32:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ztMzOXuGTev/L+fnIZswc+dCNyphqzRLyPQWRmdFkGQ=; b=Md6GZ12Jl8JVEpV/uGyYEs0IP3JBRv0zFtP+THkOMK7/Sr8KxQ7O9qiU+8DW/TzpNC Akc5nWbdd35Z3AqErZVBsGtXj+3F+SrZ9IIn+7RS6XqDfLQdq3Dv3BQlUtwGX2qweZSb /bWB+7PT+wjthvCUUbSwK8+lmPKQXhcFXy0Kp1t0Bcjpw0EXmzL1cGfVIMBR0NfbdUUq mIE4DJeLUC7E4uC4wB+mSQbmS5A7bgKJYfLjZd+gYMmrZH8qw3K5rW/ES4bQfgIA3l50 xTxC9ATLUYebxRDdso0G9dbU2k2bni9mX7X3AV6CzbxsVGhBEI2r4qtyLn0+0ALREg9m DU0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ztMzOXuGTev/L+fnIZswc+dCNyphqzRLyPQWRmdFkGQ=; b=R24tDgbKZiGrs54/pY8d9elpMApKADfjxq/gVe/datQzXapP9KrAl2hWBRxqTLBI0O LOl1mCIdy0OPW96BhBJ8Ax3RHMSg6O0JikQHuzUqKzAH/nQtADe+a2M/xdB31vmOK6Sa AiU+zvwNGJ0gy99qGwvEP6PHafKc11ceCtxJm1yMUBaF1xrMLRe96ImU40pdXbx6IywS mBpwLU2148CqqvYa/YSl7Pwszs9rM87tjOict2rw54g7IrYRd2+nXgdpYM7thnM3U+10 cBIS8WrGGrabjl8XZEC59PQt2P3FBj0Wm8FHOc9sli/ehVLKxU67yXh/vkYN805hQrLe kN7A== X-Gm-Message-State: AOAM533kXAExKCx32TKYFGyiPA0M2BKzd3rJJRu3tsLTDC0wwFCw6UJT elSNQvYkckgU8nuxE+YUY7iNrA== X-Google-Smtp-Source: ABdhPJy7TkmRAP3kG1fRwG+5u3nYXG/B+PDJTVHIT7qNMvRw2rYa1WyDbrqsKB6mPHKWvTMPZpXt/g== X-Received: by 2002:a05:620a:4151:: with SMTP id k17mr14312024qko.630.1643661176090; Mon, 31 Jan 2022 12:32:56 -0800 (PST) Received: from soleen.c.googlers.com.com (189.216.85.34.bc.googleusercontent.com. [34.85.216.189]) by smtp.gmail.com with ESMTPSA id j14sm5349661qko.10.2022.01.31.12.32.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Jan 2022 12:32:55 -0800 (PST) From: Pasha Tatashin To: pasha.tatashin@soleen.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, akpm@linux-foundation.org, rientjes@google.com, pjt@google.com, weixugc@google.com, gthelen@google.com, mingo@redhat.com, will@kernel.org, rppt@kernel.org, dave.hansen@linux.intel.com, hpa@zytor.com, aneesh.kumar@linux.ibm.com, jirislaby@kernel.org, songmuchun@bytedance.com, qydwhotmail@gmail.com, hughd@google.com, ziy@nvidia.com, anshuman.khandual@arm.com Subject: [PATCH v5 2/4] mm/page_table_check: use unsigned long for page counters and cleanup Date: Mon, 31 Jan 2022 20:32:47 +0000 Message-Id: <20220131203249.2832273-3-pasha.tatashin@soleen.com> X-Mailer: git-send-email 2.35.0.rc2.247.g8bbb082509-goog In-Reply-To: <20220131203249.2832273-1-pasha.tatashin@soleen.com> References: <20220131203249.2832273-1-pasha.tatashin@soleen.com> MIME-Version: 1.0 X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: CA40A16000A X-Stat-Signature: tr8mpah3p5txmsrhh6gfqc5hsdzhpzz5 Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=soleen.com header.s=google header.b=Md6GZ12J; dmarc=none; spf=pass (imf08.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.222.178 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com X-Rspam-User: nil X-HE-Tag: 1643661176-406669 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: For the consistency, use "unsigned long" for all page counters. Also, reduce code duplication by calling __page_table_check_*_clear() from __page_table_check_*_set() functions. Signed-off-by: Pasha Tatashin Reviewed-by: Wei Xu Acked-by: David Rientjes --- mm/page_table_check.c | 35 +++++++---------------------------- 1 file changed, 7 insertions(+), 28 deletions(-) diff --git a/mm/page_table_check.c b/mm/page_table_check.c index 7504e7caa2a1..c61d7ebe13b1 100644 --- a/mm/page_table_check.c +++ b/mm/page_table_check.c @@ -86,8 +86,8 @@ static void page_table_check_clear(struct mm_struct *mm, unsigned long addr, { struct page_ext *page_ext; struct page *page; + unsigned long i; bool anon; - int i; if (!pfn_valid(pfn)) return; @@ -121,8 +121,8 @@ static void page_table_check_set(struct mm_struct *mm, unsigned long addr, { struct page_ext *page_ext; struct page *page; + unsigned long i; bool anon; - int i; if (!pfn_valid(pfn)) return; @@ -152,10 +152,10 @@ static void page_table_check_set(struct mm_struct *mm, unsigned long addr, void __page_table_check_zero(struct page *page, unsigned int order) { struct page_ext *page_ext = lookup_page_ext(page); - int i; + unsigned long i; BUG_ON(!page_ext); - for (i = 0; i < (1 << order); i++) { + for (i = 0; i < (1ul << order); i++) { struct page_table_check *ptc = get_page_table_check(page_ext); BUG_ON(atomic_read(&ptc->anon_map_count)); @@ -206,17 +206,10 @@ EXPORT_SYMBOL(__page_table_check_pud_clear); void __page_table_check_pte_set(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte) { - pte_t old_pte; - if (&init_mm == mm) return; - old_pte = *ptep; - if (pte_user_accessible_page(old_pte)) { - page_table_check_clear(mm, addr, pte_pfn(old_pte), - PAGE_SIZE >> PAGE_SHIFT); - } - + __page_table_check_pte_clear(mm, addr, *ptep); if (pte_user_accessible_page(pte)) { page_table_check_set(mm, addr, pte_pfn(pte), PAGE_SIZE >> PAGE_SHIFT, @@ -228,17 +221,10 @@ EXPORT_SYMBOL(__page_table_check_pte_set); void __page_table_check_pmd_set(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd) { - pmd_t old_pmd; - if (&init_mm == mm) return; - old_pmd = *pmdp; - if (pmd_user_accessible_page(old_pmd)) { - page_table_check_clear(mm, addr, pmd_pfn(old_pmd), - PMD_PAGE_SIZE >> PAGE_SHIFT); - } - + __page_table_check_pmd_clear(mm, addr, *pmdp); if (pmd_user_accessible_page(pmd)) { page_table_check_set(mm, addr, pmd_pfn(pmd), PMD_PAGE_SIZE >> PAGE_SHIFT, @@ -250,17 +236,10 @@ EXPORT_SYMBOL(__page_table_check_pmd_set); void __page_table_check_pud_set(struct mm_struct *mm, unsigned long addr, pud_t *pudp, pud_t pud) { - pud_t old_pud; - if (&init_mm == mm) return; - old_pud = *pudp; - if (pud_user_accessible_page(old_pud)) { - page_table_check_clear(mm, addr, pud_pfn(old_pud), - PUD_PAGE_SIZE >> PAGE_SHIFT); - } - + __page_table_check_pud_clear(mm, addr, *pudp); if (pud_user_accessible_page(pud)) { page_table_check_set(mm, addr, pud_pfn(pud), PUD_PAGE_SIZE >> PAGE_SHIFT,