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 9C83CC4167B for ; Fri, 9 Dec 2022 03:24:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 200238E0003; Thu, 8 Dec 2022 22:24:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1B0938E0001; Thu, 8 Dec 2022 22:24:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 078A78E0003; Thu, 8 Dec 2022 22:24:37 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id EA8688E0001 for ; Thu, 8 Dec 2022 22:24:36 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id AC35240765 for ; Fri, 9 Dec 2022 03:24:36 +0000 (UTC) X-FDA: 80221325352.25.D6F4C52 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by imf14.hostedemail.com (Postfix) with ESMTP id D04B210000F for ; Fri, 9 Dec 2022 03:24:33 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=YYuHXCUJ; spf=pass (imf14.hostedemail.com: domain of ying.huang@intel.com designates 192.55.52.88 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1670556274; a=rsa-sha256; cv=none; b=Uhby4wdHE7SWgT6ocQKcW7CGOJQYM2NwArcZF+Fvfol522n8AFq3xwaI8fiOQkRfnMbSBY EYxxE6cF8GFHlAweTU38iPT/noA9N8CldVT4S2OyFEBHyK19EWoaNfJzYxj7TWvvbt21V7 s+rQr2ZSceeURAHTtsxpg36qn5BQKdk= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=YYuHXCUJ; spf=pass (imf14.hostedemail.com: domain of ying.huang@intel.com designates 192.55.52.88 as permitted sender) smtp.mailfrom=ying.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1670556274; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=HHhgDHeMvYl8qUYtDwuYYkJvTc+w8vcQDPUooKyunFw=; b=mLvfi1Fm3XapZU7hqGOidgNfqP9Tt7e0Y9TAcfU5y8joyUq77nKZoV41Rq2diMxIB89CNv 6Ecqm2sYJ1zvU3DDeEKd2s1mujhsrM54rB88zumGzJBE10cnOzP460/Ysl5C97dKIbhrG5 kmcOwV4RXwOy1Q27GTA8qkxOEHeBJZg= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670556273; x=1702092273; h=from:to:cc:subject:references:date:in-reply-to: message-id:mime-version; bh=vp6xMOdRn/5zWi/yiPp1W1YaQj05xOxBN9Fzkz5Mw+I=; b=YYuHXCUJfQBu2fmjv9ok8U8ZKLadvcpBZYvvjmfGyENxLjTJYSVz+RBI 03a8fBd88Hz5ScTo1alz8499U5PiW5eNSHiLIPpAHULTKj40uzLqXFEoZ 5VXVM+d3uBv8JEJLLcKPVxJTvnoC05TFQd+gDWmEzqMvY/6eHzH7ybH/O KNurHqpraZyBea9MLkpA/fUrU3QQisS1oYo1nxtyDmyQJ6XoQHIJEieHD UR+OWE9EKmi5MN5DQ1TMqrZGCIXz0vIgXibA0UYxhYFwhHWvT7LT8OFkU EAegf5sk6V3Vs52X7SOjg0dFJPrMrJ1mycJ9GdfZ+O2MBDTMq26vGwBr4 g==; X-IronPort-AV: E=McAfee;i="6500,9779,10555"; a="344402957" X-IronPort-AV: E=Sophos;i="5.96,228,1665471600"; d="scan'208";a="344402957" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Dec 2022 19:24:31 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10555"; a="821590312" X-IronPort-AV: E=Sophos;i="5.96,228,1665471600"; d="scan'208";a="821590312" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Dec 2022 19:24:28 -0800 From: "Huang, Ying" To: Kairui Song Cc: linux-mm@kvack.org, Kairui Song , linux-kernel@vger.kernel.org, Andrew Morton , Miaohe Lin , David Hildenbrand , Hugh Dickins Subject: Re: [PATCH 3/5] swap: fold swap_ra_clamp_pfn into swap_ra_info References: <20221208180209.50845-1-ryncsn@gmail.com> <20221208180209.50845-4-ryncsn@gmail.com> Date: Fri, 09 Dec 2022 11:23:39 +0800 In-Reply-To: <20221208180209.50845-4-ryncsn@gmail.com> (Kairui Song's message of "Fri, 9 Dec 2022 02:02:07 +0800") Message-ID: <87r0x9qmys.fsf@yhuang6-desk2.ccr.corp.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=ascii X-Rspam-User: X-Rspamd-Queue-Id: D04B210000F X-Rspamd-Server: rspam01 X-Stat-Signature: bff5wfuf73jbqt9dduwgc1dxj61fssdj X-HE-Tag: 1670556273-853318 X-HE-Meta: U2FsdGVkX1/gjGXdTW/WtJD4RM3DU52l+A91ZhR67w9eAQhgf2vmtPXorAZVOvPg2P7XfVUC161ju3lcDRdIcE0P0FgR2Wjhzm3F4oxhw7RLJJWXZ+a07PycWEEyOGwBh4wteyk5rYFAlOJhT9au5O8fOCtTeoToV9DlEV5sHdNRZz9IAvlhj0jFJGEGI1v1vd1nMPsgHc15ljMXfzV112GhGu8BaldyuRfhhCawBnoxhIW9Zfj5WsTNno32aFsVgmLbTu90LyP9Is94MpcqyMkYTf00SI9n3JJP9GMvPMNij1MWstCipNNx5gBA72YmL42ymam91B7vyBLNdugHvBzJ/kan4AjQ9hSydeJvEAuKxaEKQ23XKy+/R1rYQrfkMasALU74xC4weIeU+nPLzR0FgIDuY/3DnymYin65421y8ddjd11THJQS7BY5ByEP2OQzog2/ls89KrwA6/LhSRJDqvxRfOb3Zak8HCrnN+ZYOJ05G5IzfnHGihKcxWSUiu1BQ9b731kru9ul/6H6NVdi0Tdi3aS9+pH6GR+28NyWEcUyggT7p5wCoSH74zgF7A1tCC269kDFb3vNeBPaQPz1z35+nBms6e/0ufsY1tOyWMHfh5pJCvKfxyoZ7TsYDVPk74MKc8GvlCIk2erQhiljfSKdESzM1eChQkrjLTSDc+m3Ofl8paGSrJyk3oqIgPNJkBRQRi9lBCRgeO4QuDD0JgAEmlCOyb1Bua0praiNe5W5ect2FjYV7TB5jXFHmzYsyJ+S+1a3jT9SLOtk80btKuh9hwVhcCp3mBI/zJlS61mIIJFxicV0J/m4hfYa21fSmvzR9VqZyQ6w5AwigVh+vE/n6Z7i1rYwXJvHxsEO0L2oq1EC4BPjcQdxPTS5zwkR64pkXQuiGwOytOkMzKD4akweB66S 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: Kairui Song writes: > 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(-) LGTM, Thanks! Reviewed-by: "Huang, Ying" > 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;