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 EFF86C001B2 for ; Thu, 8 Dec 2022 18:03:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7A6AC8E0007; Thu, 8 Dec 2022 13:03:30 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 72ECA8E0001; Thu, 8 Dec 2022 13:03:30 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5A7FD8E0007; Thu, 8 Dec 2022 13:03:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 4BB818E0001 for ; Thu, 8 Dec 2022 13:03:30 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 0A40616084B for ; Thu, 8 Dec 2022 18:03:30 +0000 (UTC) X-FDA: 80219911380.30.12E7EDA Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) by imf12.hostedemail.com (Postfix) with ESMTP id 26FD040013 for ; Thu, 8 Dec 2022 18:03:27 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=OpJs82IF; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf12.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.216.48 as permitted sender) smtp.mailfrom=ryncsn@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1670522608; h=from:from:sender:reply-to: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=sO5CoFHWHd3hJkT66P6565Tno5APV7gOVtSSvr1Kmak=; b=gUivpDJBH0PlpyG1M/2B/bNISOivgALTuj3/Xd2Dt6kDnSdJ5SEB1B6et6n7ioaPVjgfTD SiOtojMTyBKLVpzFTCFnhSo/EJus8Yk6GcxBSKnsYjQGAsuXhnsjy6hVfBBXhPvgMr49NN xKYnzXA4gTp1uqLml4X3rfom7qSgjTk= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=OpJs82IF; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf12.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.216.48 as permitted sender) smtp.mailfrom=ryncsn@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1670522608; a=rsa-sha256; cv=none; b=zfMrZx58CkFwMoBU+gPJnuGN+YuNy2E8C8afH/dBkefIgY+UnBTXI2Y3qj174XJFsTrBv0 PsmhMAeUfs9jpjyeHf4FeVI7lO7KEoHxkFce25Z9HfVDjQqVFgmvuja0iUkOYSJI6i2d2i +tsLo/HnWVJaco+CE7TVymnRsV3BBI8= Received: by mail-pj1-f48.google.com with SMTP id t17so2309724pjo.3 for ; Thu, 08 Dec 2022 10:03:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=sO5CoFHWHd3hJkT66P6565Tno5APV7gOVtSSvr1Kmak=; b=OpJs82IF483zMRR10B9ZK8uXKr26ww50hoZUuCpAvcj54ywnyFbiRuv6Hmy84v5RFq LvLarleVe0COhyAsoDAHvPMzpgopqUQQKO2ZbnnACbczT6d8YP0h0Wp/uJBcnmLwKfYn RnVLhdnDZPZIKpJVOKRkH69LIOnMGPC2BGyImnquIEmGGpbuHsOgGyJsgy2MSMcHx1rf Vq87c4y6s5XMnWQnnDuT5+NYeWEnBW/e5m5cbZwB04aLDpJV98fF+pn7N5Sdj3x+dsLn XMzHsVtrUQslsJQolDztnRuuDqwC7u5gtWQVj7HhF/cd/6Lh2plHxGOrsnFmAuNWKFGZ +yfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:reply-to: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=sO5CoFHWHd3hJkT66P6565Tno5APV7gOVtSSvr1Kmak=; b=JTeXnynOax9QDmwuBUk9SbUpPp2yPo1VGnWr4AiwGjD/X8E9Gw3TZTSoDCLlz9qYmb 65hivRaXccbWQsBgrs6AEhSvOG3GrKdvwrjxxV8zqPTT7VUk8hLn6jeLHQDxDJXNnhEg 6KSg1DpxLfRCLy1Nb7mhPak11hDo/2bUEtJHAEyywi11DHTaWBkGKEyttskWMoqMVJvx 1oLPCtq9yyvaaLQCGonyLJxqQ2A6XQ3w5NhdTNU+f51uRaEiwxb9aHr/pul030qprbLS NU5H5lwXF5zoewO/2jTVxUmIsk7qtq3/ShBJs+SvGeqswZHGBVjWhRVSN9X2W9F/SII1 EJGg== X-Gm-Message-State: ANoB5pmFy1S/GDMcvh8q/5ybdnnKDbuTF6hTXeruyRRMTqiwR0cDAp1n UvKwu/FuKFuN6S02eozkeI5l9gIfGP1s7zKt X-Google-Smtp-Source: AA0mqf4wqo11j3YseWJivRlvVsI70evGtgCftTqnGdlt4+R5iI2+u8R1yWbvNTkV85f+uZLnMttwbg== X-Received: by 2002:a17:90a:d347:b0:219:9676:fef5 with SMTP id i7-20020a17090ad34700b002199676fef5mr2840489pjx.12.1670522606635; Thu, 08 Dec 2022 10:03:26 -0800 (PST) Received: from localhost.localdomain ([198.13.51.166]) by smtp.gmail.com with ESMTPSA id x23-20020a63db57000000b004785e505bcdsm13377909pgi.51.2022.12.08.10.03.21 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 08 Dec 2022 10:03:26 -0800 (PST) From: Kairui Song To: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, Andrew Morton , Miaohe Lin , David Hildenbrand , "Huang, Ying" , Hugh Dickins , Kairui Song Subject: [PATCH 3/5] swap: fold swap_ra_clamp_pfn into swap_ra_info Date: Fri, 9 Dec 2022 02:02:07 +0800 Message-Id: <20221208180209.50845-4-ryncsn@gmail.com> X-Mailer: git-send-email 2.35.2 In-Reply-To: <20221208180209.50845-1-ryncsn@gmail.com> References: <20221208180209.50845-1-ryncsn@gmail.com> Reply-To: Kairui Song MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 26FD040013 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: 5ciw6mzqbkerh7dhcdp5e985bynj6ywz X-HE-Tag: 1670522607-821556 X-HE-Meta: U2FsdGVkX19bYJd0adYRDXcT8rSLbkuGEpZPfYdTmcqWbyXHgGXGmTel5ntv1kLcmptJrn/cHdc+k0Mg20OC+coD+UplJDbgXgpT9388I8lJ7AVDcv1GpfQLx8WMGVD0o3KNTECywHQ9oqXAJS4y02qRNYEpMqGe/MLZc8Y37m0fRHcCye5kZ6E2FKl3GbfAaLsdykNagAgM1DaFgkxRS66I0IveNoM+yROYAwK/yxIJh7vz2wTUCD+1tH0mqHylz420Yx9nITlvVoAxhS8oJm9XKWjlhQoLHjAzh6C706mcErlGP0hZwXFM5ZEErHhrdLq9ieQEFNAYZSu2PbOGzvu3NdnsfHDjiLvCV5eUezMi86Oalc+8qme5hpezz9cqBHmBGx3AEYUemrZCxSyeAt29QPm/d0Lcil+Iz5k6Azc6eZSl5qGQPvHcgRuff20xwkeGkf26sxFuqbj51bqGKrZ81PjDIebUmzk5eroxL7OPOg6wfdd1F2rAAinUTfXdRlt+3tkms5tTiemBlAH7P4AHAhbbErGTIeGpNk+igBZsIM0iqSW8SyfJbSUtKWjOOhfxln14BIAQodrzRjWSHkfC9784RUCVj/cMfCU2nTMOMDbFJWRR8vxCFCVVcz/qbas44eYghpibr59WMAEm8RDT3uA8LtLxqMgMyFrYRli3cjCYVqqgL56ly4hQHB7NF/Zpwm09b8LZFRU4BUOCwhN04yqdqHpfUD5hzKU25FGd146Wb/qy9l+r1YnO2HwlUiDvIPKG2lpjher9JFG0CP6aXg6GULlwqkxzpCGwtDqkj9Pjz4qYC8iWf7jD5svd33+2Xw+wk5WDRT2NIbE6cf6GIFj+yCSy4mhhhO6GZuN6QVZwQVEMwurW352BREToc4+JkWmO6ZhH3AoETsqjOuDlD9zZiR9GvOO0AcsuOL94fEkNoH25bVCSTnia3Z00RI6sCQJ1wPE6rgB5eqW CmA9SzwO V9G4zE6YMaZ7zD4rhccvLug1YIXrD0nB3VdnfBZg58aIvCkvXw3JfeZ6LXHxWYfVu7kzf0d6zUedktbfJ+0NF6RDP8zQ6w9+7nO2rtpbm0EvvPfEMlpRuJGT3I80ZEQK+TpLcTVhBv1KyfsCRq8AUU3BT6Vw5cbvXkkJ+z8WqSpRBLdDpq0RHNAAGTv+cwjwSp7KHzePzzMj88sVvAoltXx8HHDcXV/6hEh0PrM6Ylkq07OeFx1XL++r9yc0aH8EKLJCfogidHvvDIj21+M4rn2izvrz0ObxxWaNJ7QnWNoJBeKHLnP7Kwoddb8q6XZdjH+MQ 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: Kairui Song This make the code cleaner. This helper is made of only two line of self explanational code and not reused anywhere else. And this actually make the compiled object smaller by a bit: text data bss dec hex filename Before: 9502 976 12 10490 28fa mm/swap_state.o After: 9470 976 12 10458 28da mm/swap_state.o Signed-off-by: Kairui Song --- mm/swap_state.c | 44 +++++++++++++++++++------------------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/mm/swap_state.c b/mm/swap_state.c index 60136bda78e3..19089417abd1 100644 --- a/mm/swap_state.c +++ b/mm/swap_state.c @@ -696,28 +696,15 @@ void exit_swap_address_space(unsigned int type) swapper_spaces[type] = NULL; } -static inline void swap_ra_clamp_pfn(struct vm_area_struct *vma, - unsigned long faddr, - unsigned long lpfn, - unsigned long rpfn, - unsigned long *start, - unsigned long *end) -{ - *start = max3(lpfn, PFN_DOWN(vma->vm_start), - PFN_DOWN(faddr & PMD_MASK)); - *end = min3(rpfn, PFN_DOWN(vma->vm_end), - PFN_DOWN((faddr & PMD_MASK) + PMD_SIZE)); -} - static void swap_ra_info(struct vm_fault *vmf, - struct vma_swap_readahead *ra_info) + struct vma_swap_readahead *ra_info) { struct vm_area_struct *vma = vmf->vma; unsigned long ra_val; - unsigned long faddr, pfn, fpfn; + unsigned long faddr, pfn, fpfn, lpfn, rpfn; unsigned long start, end; pte_t *pte, *orig_pte; - unsigned int max_win, hits, prev_win, win, left; + unsigned int max_win, hits, prev_win, win; #ifndef CONFIG_64BIT pte_t *tpte; #endif @@ -745,16 +732,23 @@ static void swap_ra_info(struct vm_fault *vmf, /* Copy the PTEs because the page table may be unmapped */ orig_pte = pte = pte_offset_map(vmf->pmd, faddr); - if (fpfn == pfn + 1) - swap_ra_clamp_pfn(vma, faddr, fpfn, fpfn + win, &start, &end); - else if (pfn == fpfn + 1) - swap_ra_clamp_pfn(vma, faddr, fpfn - win + 1, fpfn + 1, - &start, &end); - else { - left = (win - 1) / 2; - swap_ra_clamp_pfn(vma, faddr, fpfn - left, fpfn + win - left, - &start, &end); + if (fpfn == pfn + 1) { + lpfn = fpfn; + rpfn = fpfn + win; + } else if (pfn == fpfn + 1) { + lpfn = fpfn - win + 1; + rpfn = fpfn + 1; + } else { + unsigned int left = (win - 1) / 2; + + lpfn = fpfn - left; + rpfn = fpfn + win - left; } + start = max3(lpfn, PFN_DOWN(vma->vm_start), + PFN_DOWN(faddr & PMD_MASK)); + end = min3(rpfn, PFN_DOWN(vma->vm_end), + PFN_DOWN((faddr & PMD_MASK) + PMD_SIZE)); + ra_info->nr_pte = end - start; ra_info->offset = fpfn - start; pte -= ra_info->offset; -- 2.35.2