From patchwork Sun Jul 17 02:46:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 12920345 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 D309FCCA479 for ; Sun, 17 Jul 2022 02:46:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 946208E0001; Sat, 16 Jul 2022 22:46:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F6BA8E0003; Sat, 16 Jul 2022 22:46:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 720258E0001; Sat, 16 Jul 2022 22:46:47 -0400 (EDT) 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 53C0F8E0003 for ; Sat, 16 Jul 2022 22:46:47 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 2015434C0E for ; Sun, 17 Jul 2022 02:46:47 +0000 (UTC) X-FDA: 79695054054.02.93FDC97 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf02.hostedemail.com (Postfix) with ESMTP id AB53580039 for ; Sun, 17 Jul 2022 02:46:46 +0000 (UTC) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26GJ8g1T031750; Sun, 17 Jul 2022 02:46:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=OwU0+PG3I4NAGDE1mV7r9Ax+KkA/9ecJsZlgA0882+4=; b=TbJFksLPrrjBqLBcIllUiSN7aYQxX1P1p/g8o/MzdKUPX/Zcj7UyrBS+U0uYoHoCLl4X 1G0hJBjHHuHYiN+eOrIPjFARCgtWuNh04g+iUamTA9M49TFe9AyayrZJCGSbGSotDSKM eT6uy+9A4TLS/sCREK9femuQhBCRGmC/coqCpqBwbALvm1ITvR8KlXpHnXyfNZR6ZFGg pt/l8OK+kiNlAQt84iKumwIj1td51/+paBoOGZwHPpThwuTgFV8mNOeWOk1s2OoZ7iqy fH1KjT4htDXz0WdrR7iyUET8h81kMPCK8Qfin+fJ3c4o1hMMe2TH1qtoSU0ZrDz4jsMQ +Q== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3hbm428y79-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 17 Jul 2022 02:46:44 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 26GMYImS036151; Sun, 17 Jul 2022 02:46:43 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2104.outbound.protection.outlook.com [104.47.58.104]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3hc1ejp63m-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 17 Jul 2022 02:46:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=REohy8rG8XLElh01Pf/RxNoZwxJEoRwPRyAfIVmGBMELH7oqiZB94pxtQK2WXH1lQLNSpuuxl3NpQBtYmIhjQnkfjmgDzkks9yGCi3UT3CtvznTmav2sDC8/avzcF4544+bpI0ABAuJBuJQMdf3q+U7jwyqbZzqFNcOYmKv3MVAhFFNfKcVxSJuYXbIcGZQR732fJJ+NaXMk2MoLoBg+/3k5QBHg27wJmKDAB0oPPzZNKqtoX8gPIk2O0XWLVmXFd8toTB9LNt3ly5kvLKIaGQCRL5LqkVRTEjEeBUqgtndp6piXPOT4A90k1A7GOvmJKVHWI/QdMxBUAZPoP627GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=OwU0+PG3I4NAGDE1mV7r9Ax+KkA/9ecJsZlgA0882+4=; b=mEj/tL8eQjvcRWWtwyCXY+Vi0bVa+hqamn4jjHpRgB6s2+SwQwqL4B/SztQn1A3TEj98xd+MbwGIx7VpJBY6VkKf+OTHbn82cJlGV5SNjuOtHEmiKRek0fwyseAjIGBmQ7P5wNvM/MVhTJIHZHWZTmV/r6k0hqjRBhzAtkk1z3f1og4JrjXJSYzaTprzrMeI0Ro96FWqF7SS0mRCSzCXd6nEQI+uxuepgSbwMMf0JUh3jbVMK7iKd4AvjpNa6RVWElcrtTDn70rN6W7o4HOUENOdl5MrNzVHRJoadyFib6lD1/8myWS3gzSls/2LscT22rJDdjbQPipMQGaH1fAktg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OwU0+PG3I4NAGDE1mV7r9Ax+KkA/9ecJsZlgA0882+4=; b=usUZBFhpNQH+FZF9Q+hbHqbRhIAR9j8dWXs1AX/TqgkIToUSiMYs75AuKuTFscAyQDWvXVG9J8RBqqiLgnQhVxDg1wrLJeInjIwj4wY2lcM4O7BL3F5GLhMWZr8EzZqREE1sgjieqbCSu/UXcfkLESodRmG1c2zJXpDEcs24CKM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by DM6PR10MB2908.namprd10.prod.outlook.com (2603:10b6:5:6e::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.17; Sun, 17 Jul 2022 02:46:42 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c4d1:edc3:7d21:7c68]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c4d1:edc3:7d21:7c68%6]) with mapi id 15.20.5438.020; Sun, 17 Jul 2022 02:46:41 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton , Yu Zhao , Hugh Dickins Subject: [PATCH v11 10/69] mmap: use the VMA iterator in count_vma_pages_range() Thread-Topic: [PATCH v11 10/69] mmap: use the VMA iterator in count_vma_pages_range() Thread-Index: AQHYmYdwvlqmdSP7KEito1JvCo2vcg== Date: Sun, 17 Jul 2022 02:46:39 +0000 Message-ID: <20220717024615.2106835-11-Liam.Howlett@oracle.com> References: <20220717024615.2106835-1-Liam.Howlett@oracle.com> In-Reply-To: <20220717024615.2106835-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 70227de3-2c89-4c14-5a20-08da679e946c x-ms-traffictypediagnostic: DM6PR10MB2908:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IcgEYWILB+FLhAVNDkjxV1SHo6P0XOYfehsHYkEgmlbZPrjebAr02NX7t/Z6xFHD/LWxVDpnzFmHyfPZkrKMTjfEKYi8Fn5zBjqWYum43oC5yR1FdF+xHBUKf4ZfyuJ79n99bw7roGgBUQ9OsFyz0jTasDAxzEIl/4iEDUWqQQeLSwcpJ+fF2RNvTK4wmlxvb9R9aCnjZ86TPi38HSZ7HhCx4Vr+xo6yn+vX6TkrFNsj3/mLbbiXQkBUWjuM/b0A4ydj9XPCgoWZvHBkehsH03Kx0e6kKD0PD2qhE6KR0nQmKLbq27TA/ykqdSeBVnVsF6avLAr0d0kA94KLZc+Cys+YNxYzSzSbKFRHjpn2dTfLMotqqgiF03M71pIDzEB255DATT6qiw0Cn+emXChy/oxsSz/Q/a4fvggEO14MEkS3EqMpzcTCYAgIjCWzExd6b1MMoOQNWUItfTU52xv2imWaphTTJbD+N2vOiKFd6u1fY+F0D+4dFHI6RwLheslXwzau0lpExsrBPGyQfxRHuQf1PYcz7EuP+8cIVoaGhTodxNG3LgZPlGsCqUX1v3AUw71RMY3k+VYnloJeplWu0iKq2HE0IynihbRmuxeAAMKzqqgZNzjqlBJRP/ihvp+s/WFJZSMKdZkqdwhoBAw7tgmtqXGgmrWoquR49o3qLki7rxVxDGcK0URHeZBJ/ziOuWLgt5otmb5HGksqIaGs37l3XGh8JbOmF4dWPsDb9cvYmDMHMipxWR4wgXJ6PClluB5RqEKuIIJs0BgPlO+gdTvxr/VqvCSI4B0Ee323SItRvd+VeuAfjbxsVvPzv+fGsncaNe9JJFOhRbEjGEcpCGqIo8WgVi/9fuV6cKAwV3er2JFAjKeDvTWMXSQCJHQJZjziikpZQwMUQ2F95ytV+Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(346002)(39860400002)(376002)(396003)(136003)(366004)(5660300002)(122000001)(86362001)(38100700002)(38070700005)(6512007)(83380400001)(186003)(36756003)(1076003)(2616005)(6506007)(71200400001)(8676002)(110136005)(316002)(41300700001)(966005)(478600001)(26005)(91956017)(6486002)(66446008)(64756008)(66556008)(76116006)(66946007)(2906002)(44832011)(8936002)(66476007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?bVvRCA8tzEIkJWTs+QZuMar?= =?iso-8859-1?q?smA4RG7XpgmajdIHH4YcCm/8H79HacgrFJI8ZjmlokuG7usgbLH/qiB9uLIF?= =?iso-8859-1?q?H5x/lSvLWpA/pUn2wNADCM7rUL2UHyg09hr8gRT4S8oX4zNPWM/ckylumDFj?= =?iso-8859-1?q?ODBwPwf2vo1Mo8rtXf1FfogGaJ0JbXsY7ZCjhjaJE1KLprs9jdno7dn6IhsL?= =?iso-8859-1?q?jClBJkpdSgf0sMePeQdj3qo6x9aaZQltqfcDDOGkEuOThzePjiyYp6dkO2js?= =?iso-8859-1?q?r2A8ofCi1HrqtmRVwj/iZu8Ws4gqK+kEHcgcLVnLVPCKI/uNMmTGu5jdkmDh?= =?iso-8859-1?q?i3uY/7ymd/5djFXzlxHPRJrckk2lAC7rg6azF9lwZmsmXMlerXZhUv87Hr9u?= =?iso-8859-1?q?rvdZOW2eCWFpE2aYM1XiP7ahCXqtKsKc7cAH/+dYUH1R9TI5FzybFohusPZc?= =?iso-8859-1?q?pbI64kUNm7wW8VTNopxKWPQtC2koo6eycyGwb722f36rwThS+GMCrOrFgQlT?= =?iso-8859-1?q?pfqo15UsWJlZSn/q7kXFtGYhQ2lYuB27RJNgBoSG9QuXKix8rv+l4qElDWA5?= =?iso-8859-1?q?T6mOZS15mUttvJ0WRXgU/Fpt1YjMBLu1YlLBciPiHCO7hU7p0N4KhMs2XG73?= =?iso-8859-1?q?7lUvYfimHgqTb/dwK317TSeKIvMb2Nue0BP5jdeO/jNIXgCSlXgqz5tAX/Ia?= =?iso-8859-1?q?VmPfhPLYBOuFiiFOkDOaJFvaCD8v8321dJ5uFUqWnfzsrVVfGOB4UQeS3yCc?= =?iso-8859-1?q?vKbMetAbl6+07VV97eOBlV6JRYKIfjuDbLvO6N8MhnDJaozUEGiIT7vqEkBG?= =?iso-8859-1?q?q+wLSQbvBYab/nvmhqLUekeO/nou0eLHKYYNWQTGUWSvgDGHjBWLZi1eoBo8?= =?iso-8859-1?q?S8m6Vcxu9N1PSvXxqK5DS5mKNOEZeSpxB4qzqRW5s4HTFV6I/8UUUrY6hKO4?= =?iso-8859-1?q?OCVnrsV7h84lNcq/w0QOjEp2FNUNXbofXn5LSC1xoOIDB3mIskMgNXLsMQ+a?= =?iso-8859-1?q?R6OQsulpHvuJgtkrmUsmT/6WEQkt6K4s7/Hwy793cH2ABWv/rG7Qm9wDIpji?= =?iso-8859-1?q?9SGc18Yj7JXVAjNUZxxQvz5394f4qXBvFr0uXqqY442oyuiHMeB7rZ2v8Je/?= =?iso-8859-1?q?WeWoMRdN5F318Cw3O2H2UYJc++ye8r838wyrgzMMCdedfFl0SuuiXh+MsM/H?= =?iso-8859-1?q?sMlZzwUPRFl/JOIeRCh9kYo+3nO/ZNSVQBxwmJFSvfaDp/GqXWV/XGLhtMyB?= =?iso-8859-1?q?jj2jscDaprA5JDF8FvofC2Rs0QMVRfPDVgOgoIQB60B0yQcHFG7IjhAcTexL?= =?iso-8859-1?q?CZSqmczihF2SxJvczNQTNHwtpll9VWO1MKOGehAOsGQqSHPOGKHTdVkn3qxO?= =?iso-8859-1?q?jULSLrv+ymjS83Yt1k5dundUWED1MHZAE+SGFnw6xDGoY3fDBi2eSbgsCP0K?= =?iso-8859-1?q?bV2Zx+g/XhBek37U4Sh4SThvG3r0Q8h96Lpv47qNK3+OiqdI1nH8gAAWffEN?= =?iso-8859-1?q?9DyVXZVGw/F7xcjqcUD8P5x6Oo56gZLT3mF0TJNYfMvfaHlLBBE1Bl15wqAU?= =?iso-8859-1?q?o1MBb/xoCcqECWMgg+FsWxPushvngNDivLzqmeFGcpG4cAdOkzy64LSAC3JK?= =?iso-8859-1?q?EqQhj0edba90hPA1nYQdiD7vk+xNn/puy1FVPoQ=3D=3D?= MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 70227de3-2c89-4c14-5a20-08da679e946c X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2022 02:46:39.9751 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Hej5MQyGGOd5Fh9Er2oPj/WimnXm6XzGh8j1lud7/0RhOTkEMF+xV7bbSCPJ91TKWJAUbdyRnFIGY0yNF6fKgA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB2908 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-17_01,2022-07-15_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 adultscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207170010 X-Proofpoint-ORIG-GUID: BncaZxylsLhEAEatewDt_UxxJaOHtmvs X-Proofpoint-GUID: BncaZxylsLhEAEatewDt_UxxJaOHtmvs ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1658026006; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=OwU0+PG3I4NAGDE1mV7r9Ax+KkA/9ecJsZlgA0882+4=; b=B7Y4nU3VQEfN3ePzANXwVGH+7XNK/EqUU7r+4yy593I/hTAMJuyTVRuOnEqvZY1u2wK/Ay M+xnk6tpdlT36Bk/dj0nSJG9lqSAjB2ddlXdJl7tE5Eno619kQjkFqMdWB1EAU9yXGS8+8 v7pMM4NkArWEWvL46PfVFeOvnh/Ds3A= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1658026006; a=rsa-sha256; cv=pass; b=dKof2c6omEZCk0oyAVDKEizrJmyXW5Pen9sw53QYHmQ9ZTxjGm8Sz/s4fpE5Eo9WPPstqO GYpz3mOIIlPZzWtfL0kmgqEhRrRj3/ODVurYMC//fQkWz17/R49wjETdaWIH2huIDY5a5J MUULx7w3SQ5+rIxznRDhwHvHF5M3rFk= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=TbJFksLP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=usUZBFhp; dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf02.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-Stat-Signature: sr159c461eh5bp73jooeyeazjxxbes79 X-Rspamd-Queue-Id: AB53580039 X-Rspam-User: Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=TbJFksLP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=usUZBFhp; dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf02.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-Rspamd-Server: rspam06 X-HE-Tag: 1658026006-615209 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: "Matthew Wilcox (Oracle)" This simplifies the implementation and is faster than using the linked list. Link: https://lkml.kernel.org/r/20220504010716.661115-12-Liam.Howlett@oracle.com Link: https://lkml.kernel.org/r/20220621204632.3370049-11-Liam.Howlett@oracle.com Signed-off-by: Matthew Wilcox (Oracle) Signed-off-by: Liam R. Howlett Acked-by: Vlastimil Babka Reviewed-by: David Hildenbrand Cc: Catalin Marinas Cc: David Howells Cc: SeongJae Park Cc: Will Deacon Cc: Davidlohr Bueso Signed-off-by: Andrew Morton --- mm/mmap.c | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 35c4478a8fe4..1ba4074c75cf 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -676,29 +676,19 @@ munmap_vma_range(struct mm_struct *mm, unsigned long start, unsigned long len, return 0; } + static unsigned long count_vma_pages_range(struct mm_struct *mm, unsigned long addr, unsigned long end) { - unsigned long nr_pages = 0; + VMA_ITERATOR(vmi, mm, addr); struct vm_area_struct *vma; + unsigned long nr_pages = 0; - /* Find first overlapping mapping */ - vma = find_vma_intersection(mm, addr, end); - if (!vma) - return 0; - - nr_pages = (min(end, vma->vm_end) - - max(addr, vma->vm_start)) >> PAGE_SHIFT; - - /* Iterate over the rest of the overlaps */ - for (vma = vma->vm_next; vma; vma = vma->vm_next) { - unsigned long overlap_len; - - if (vma->vm_start > end) - break; + for_each_vma_range(vmi, vma, end) { + unsigned long vm_start = max(addr, vma->vm_start); + unsigned long vm_end = min(end, vma->vm_end); - overlap_len = min(end, vma->vm_end) - vma->vm_start; - nr_pages += overlap_len >> PAGE_SHIFT; + nr_pages += PHYS_PFN(vm_end - vm_start); } return nr_pages;