Message ID | 20220720021727.17018-54-Liam.Howlett@oracle.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 A41B4CCA47F for <linux-mm@archiver.kernel.org>; Wed, 20 Jul 2022 02:19:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AD52E940028; Tue, 19 Jul 2022 22:18:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A8B5E940014; Tue, 19 Jul 2022 22:18:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B05A940028; Tue, 19 Jul 2022 22:18:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 7B392940014 for <linux-mm@kvack.org>; Tue, 19 Jul 2022 22:18:52 -0400 (EDT) Received: from smtpin31.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 5DB4F1A0452 for <linux-mm@kvack.org>; Wed, 20 Jul 2022 02:18:52 +0000 (UTC) X-FDA: 79705870104.31.4F54AF4 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf07.hostedemail.com (Postfix) with ESMTP id D70FF40059 for <linux-mm@kvack.org>; Wed, 20 Jul 2022 02:18:51 +0000 (UTC) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26K0Kfc8017922; Wed, 20 Jul 2022 02:18:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=gVKwu3mAF/BrzDydDYF3kwhOpwQY3z3J/rdlaKypkQE=; b=J16vrgFPZTnfRkgpl7xZltNFWXcGKjE5JNXyM6PEuqw+NbCkI/weZijelRO174ibIaAK kOE+WZPWJOadkKddvkp3TXOrVqcWHGqnLzbm9hM4iDHd5EBPJ9AfiJuUOIoDohEgRxYZ Usk7cANqvjE0Q/OlmWirJpSSOL8ZUUfzyn5eH7ZvwwWYTvorCAk/tLS3L05h0F6IKH9u FsnGH1db6HkOmM5ctSfU+qjjalcwwEsrnwbJoWAyV2HNUQulcclEdBevWtKhyCU6TrPX YTqEEa2GA1vDfxYgpFmVV3E36urEgFogHZSHq8+1nhLelWworDJQPoZdGuJhWsRLxFkz EA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3hbkx107uc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 20 Jul 2022 02:18:49 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 26K2AVgH009816; Wed, 20 Jul 2022 02:18:48 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2177.outbound.protection.outlook.com [104.47.56.177]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3hc1gh14ww-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 20 Jul 2022 02:18:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jJWm0BZjES8tcUnDIUtYvB8Y6f5h0qqE9es9Dp0Ab4/uX4FtLKFP6uPDMob8Z0M20RDcBJmmj3qpgBm8yS0Suzlm2PLbOsnuTFy8+cvsppbsmUJAYHmDfs1zPRoYvOOPnZAtupchLnFejTG9FlbnrEmRkSjvBL1emZkRBoOBbZn2dA6JpSxzkPJqnPGrLzIKEy8KCUlTf9sj6rVM6Nt8x8oXNHvhSKjexHJOxUv/1Re08oLgHs0XUTAy3pFvEVnDfMmcTEAiT3ah3vBgYxXN4SdyGT9PzxYS3xtx6o6X9pX+rZWyk0uHdW0xS7FxMFktvhubN1rkC6obVvGPovVG/A== 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=gVKwu3mAF/BrzDydDYF3kwhOpwQY3z3J/rdlaKypkQE=; b=PpSXl41KnA25kiAlP5uGV3ixRSHpg824pfOhsg/RQEVjA9GfA4vn4qDCvids3tJqKAeIeCeaV/fihYs3JMLD+VLSnm6iP5shK7w9JoAc5wbcKBXsm0DLKbG5S23EzHKP5GxpGOEHf79aXT0tyJ9xq/AhXKRjRPzwydF8AIi7HJS3o0mSfipoX1gKTxQa23hT4Zdcfqj0j1qW3c+2pJ4ln/1vkpubiCZ67nsyfdduZwvenCc+f7Drj2ACMTwyEk+9oivQEkf/NctPI6jc4jLgZu+xQt36e8Ut4Cr7taRUhkDjiuTwPUGDbXRKyOfo1choaVfqWZCV2zhdt3BAT0Rgxg== 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=gVKwu3mAF/BrzDydDYF3kwhOpwQY3z3J/rdlaKypkQE=; b=YUkIBDsgvbuGr1hgqsF1W/r1EwgsEpwZLi8vDX9hd25IrpkNQe8kh9DWHDDhBayJCBxrVUaW7K498z6A8npm4F8gzj24nP7A/l831cHgyCM2zT6UjUjvlND0qDO7SskvDbwhmoQslnV38PNxnDhYrc57JHY+7LGyHWuKYZaP6kA= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH2PR10MB3797.namprd10.prod.outlook.com (2603:10b6:610:6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.14; Wed, 20 Jul 2022 02:18:41 +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.024; Wed, 20 Jul 2022 02:18:41 +0000 From: Liam Howlett <liam.howlett@oracle.com> To: "maple-tree@lists.infradead.org" <maple-tree@lists.infradead.org>, "linux-mm@kvack.org" <linux-mm@kvack.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Andrew Morton <akpm@linux-foundation.org>, Hugh Dickins <hughd@google.com> CC: Yu Zhao <yuzhao@google.com> Subject: [PATCH v12 53/69] mm/ksm: use vma iterators instead of vma linked list Thread-Topic: [PATCH v12 53/69] mm/ksm: use vma iterators instead of vma linked list Thread-Index: AQHYm97vcQ295kkbHEeRQKdfpzBKdg== Date: Wed, 20 Jul 2022 02:18:00 +0000 Message-ID: <20220720021727.17018-54-Liam.Howlett@oracle.com> References: <20220720021727.17018-1-Liam.Howlett@oracle.com> In-Reply-To: <20220720021727.17018-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: 3ea00044-6d14-42fa-29c1-08da69f629e7 x-ms-traffictypediagnostic: CH2PR10MB3797:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7G68acC+1jxnJ0PFmYSreQsNmEIYN0ZUZThCkqwjjbozgtzpokaCvBfSnonfIXsxBnFYklepw6ixQKmsiS4ltPR/FPPW0CjQmg6YkUlaQYVxRK6xxW9o5Q5Fyhwq2KGyS26tkF+SIoa0agzLw1YDM5XFFxk1z5g9Ma+iewVzR8Sdt1Nk7K5m/kg0mz2kvzUCx8UkX+eFhi5O5fJqHXnmEuUiN+y0R8Stqera+Rgcfh9qZ+TWl802sE1PHbw5zG05sS5jRr45/jr6i8lxmVIAumJwOQf+QND+EhUBEiudO5zatP29HbeFZw/W9myLZpWGtxxcLpro48dU9NwBZS/58IeCEtAs4VtjKynzWCXsZTKm4CmXb700g3YOe92y5g/XRTFCmIbzeU5LgoOEFHAJC5P/LPk2BlunkWYgl/r154bxCdMbVXatqLKNnB5MjYhu5g8EW+2mCU3Y26QQbrT8hTDhh+potp4acBPMVD5RSZnxLPUgzl/TACoxTvVZel0z194Xd+9OjmIsp5PXgcua6JGNuXRCeoVaELRLXTiLeaGyM2+PMuureJUrhn/nzihslnX+Vo+/Kl+6vkFXNy2mLWpYR6Sjh1wrIvyPbDmKifoEFcMtBU3Zw0Ohgb/WpPBl4JKFwp7BpLkQtlScHqjFfWbsiJJQtEDmZXWtf/wqSMUo2XEaHgLGVvd1F2hPXbwZkbxOcM2YYvY+65+mf4F1AhNJxdUA5fN7CLcZ3GM3T5TkqkzbVk2VcXGtjThMWVlFzw8uxLjUS0eYNUbPPKEwpxulZtzQ9lah4PxImj4R+C+HsG+jm6ha11vWYCr6P005vYyeMni0Hiate1DDWknfdPKGkV53Ba0bHI4mzZyWmhfVofqulSR8FNK7iALWykdi 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)(366004)(396003)(136003)(376002)(346002)(39860400002)(91956017)(38070700005)(316002)(122000001)(83380400001)(64756008)(66476007)(71200400001)(66556008)(66946007)(76116006)(38100700002)(36756003)(110136005)(8676002)(66446008)(4326008)(6666004)(5660300002)(26005)(6512007)(8936002)(966005)(478600001)(6486002)(44832011)(2906002)(6506007)(41300700001)(2616005)(86362001)(1076003)(186003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?6hXpOHPVN8OorYfvOoqkFRW?= =?iso-8859-1?q?3fVF1Diz/Hkf8Brtuo22LeuG8K4qU87xilV7IJk/Vct1WrbMNHuL/VVStFO+?= =?iso-8859-1?q?b+xBjGy3eSYkW78o3wo2r6DBNna/G2vnzLlzvB8EvBSHAmVmjjO/ApWL24of?= =?iso-8859-1?q?9hOWP7dTY4K1b4jXLiktXzcxhYbl6jTkDmTHKE1F5UTIm42ZXYMY+v9Cqz63?= =?iso-8859-1?q?zr/8kqU8JSdONekNlePvg5R6Cyiy1ibPZda0EvJKZA3Fx/aNEYV6HuWt9vaY?= =?iso-8859-1?q?MwJ/0ux9WDGavVf8COEtAHsbD64tosWVpxah+iMa2Qo5rY9Wn/8SImQA2VN0?= =?iso-8859-1?q?m6iDCLLW7IO/kYDGmv+tY0eFttOrFVFdVYhFb/t3fXy7oImEOhRm4jRNT2hm?= =?iso-8859-1?q?sxOfV+dUPJTN/2IvZrP227BcPdM1uHmFSryl04PB57XEZjRAJ4SuLGU5CvwH?= =?iso-8859-1?q?OQb5bFRzpdfjH62DK6cPGfsYYIzLSfzO1/ACxohPb5KWqXXZeNLWuf9j0nUa?= =?iso-8859-1?q?bKdHx156ZEc0NxGyACiLuR8IymszGnjF9ZtBpo+g1l7I2WhDK5AIg4wWxRKX?= =?iso-8859-1?q?5YsNI72ehdw3ZVvT9QOtl1kJizWBzlEO8Ek1NdzRlveg8LgqnqA2h4tWwzvh?= =?iso-8859-1?q?o9yhpVSz3d0iW0H70MhezSZpEM/utRTo3Xyjtv2+RleG/SUPAPVTaMR2sS2h?= =?iso-8859-1?q?OXDOEKTcsSbD2ole+5sqqWEVZ8La47HxE3kM1hNuA0VxKTtF80QSjtVS36pm?= =?iso-8859-1?q?V2Ft2+cPgE7zOXRyiwbEAs+Y+ED1/i8GXN1lI3QV94jr91Sfolk8I95sAHZ2?= =?iso-8859-1?q?y8jK2jQ0IeouhS/1rzkJ388mQotysU554xNYHvPN94zdQxMgbkmtfsUq24l9?= =?iso-8859-1?q?gHGSw6uJO6lHRkzS1NPRXwRf5KEw3ojkj+8j2FKBv7P7TraJQaEX/+YfGpCh?= =?iso-8859-1?q?f8uM5Zvj4aD0eekjIkCwMBPpNPQoA4w9vxipQmryeYEuwtxyKrZXaoVlu0G0?= =?iso-8859-1?q?hzQTnIFhwB+6XC6aMUHzFQJsja35kxbgo1VPApuZkQ4TxI8n3b012aqrWaOF?= =?iso-8859-1?q?BIeDKrNWOaSPVkuq5KN4J194vF+vyXSNwNt6vWgY62ekKNDhi6wwa2g0jTFg?= =?iso-8859-1?q?IN1lO8LQG0r9JqojDloHxCQOVnxanefalawV5WVvEoONRUE11316UiSKIkYk?= =?iso-8859-1?q?Egh9UzHRjSy0LUY3C4q4qLfrZ9kppWiJ1r6OIc/evyJaGNtU8xEwXMnXsgIb?= =?iso-8859-1?q?9qyYlrY7BqalqumrVVIPvoCbHITbcB/er6uYrbyyB4aSDqG3aTLc1jW6623I?= =?iso-8859-1?q?lQkYLpSd7umgYld3NeYDPckJfIIpcXH5VFanWBozvR08qVko1UdT0IsXBo7T?= =?iso-8859-1?q?yWU75Y//CvAtySahGHoh3L5/RD/qHJjocU8GHdKHpExdlLZvuibPIQwi7S4i?= =?iso-8859-1?q?dxhDJ6MrXYARWivZLZEBXIg0XqENzl+Ucz3fMRIRo5MemLtXkIoM59OPRk92?= =?iso-8859-1?q?DKTwgGewnX3HYeysqo/FAZeyopF84pqqXyQmKHj6rvEUQnJo9zmKeuQ4/H7N?= =?iso-8859-1?q?vEsUP05j1LAVE5nDM1elrzmypF9hQ9Cc0vJjk2qtOUujj7zICBhDUoDFuOXn?= =?iso-8859-1?q?SRjaBP5ADX32TneVcDYBXtO8iuPeDlcilyOcsIQ=3D=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable 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: 3ea00044-6d14-42fa-29c1-08da69f629e7 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jul 2022 02:18:00.5082 (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: 7GOvam8SulYhPZHmNj0VLPeWPnR+52LDZVYMjNt10dBnW2Ykg4oHn/EEblptZWibbZYI4hw4T6I1xBs1dKERSQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR10MB3797 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-19_10,2022-07-19_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 bulkscore=0 malwarescore=0 adultscore=0 mlxscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207200008 X-Proofpoint-GUID: HhDMPMZKCGwTWUpSh3yDglqOCZAFGRgf X-Proofpoint-ORIG-GUID: HhDMPMZKCGwTWUpSh3yDglqOCZAFGRgf ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1658283532; a=rsa-sha256; cv=pass; b=5449F5toS3LApdCf98bRdMnL09aH72zS0a/MFC68uHJ+qnXhABtx33hNEcC5+44fPSwkLA FDL9cohkQiU9nGxWyLC1S7Z4s6v9Dh006Uspkl0yaR0+9XM90PgXv7IdHv4lRjlXTlZeLh U3pErZisKhjStfUCHScZN9bILueR+xk= ARC-Authentication-Results: i=2; imf07.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=J16vrgFP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=YUkIBDsg; dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf07.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1658283532; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=gVKwu3mAF/BrzDydDYF3kwhOpwQY3z3J/rdlaKypkQE=; b=mkkp6G4PnlD8k+YJTPmaHWrJ7hIh/8zE+OePTl/bUyvn4QNyojTm59ihGXImVuC4SQUCmT oslDwhMP3MTXy1iaBNPtxKGGCTStR+A55cUWcX72Gd9HafK3vLDniikTTiTtbhKOpdtdpF rL2357cry1JLztgxD+rxvvPQaVlE7iY= X-Rspam-User: Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=J16vrgFP; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=YUkIBDsg; dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf07.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-Stat-Signature: y89ponpzze5hanx57qw5xgxyjx8to9c3 X-Rspamd-Queue-Id: D70FF40059 X-Rspamd-Server: rspam02 X-HE-Tag: 1658283531-438357 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: <linux-mm.kvack.org> |
Series |
Introducing the Maple Tree
|
expand
|
diff --git a/mm/ksm.c b/mm/ksm.c index 54f78c9eecae..4e3d794f6b09 100644 --- a/mm/ksm.c +++ b/mm/ksm.c @@ -981,11 +981,13 @@ static int unmerge_and_remove_all_rmap_items(void) struct mm_slot, mm_list); spin_unlock(&ksm_mmlist_lock); - for (mm_slot = ksm_scan.mm_slot; - mm_slot != &ksm_mm_head; mm_slot = ksm_scan.mm_slot) { + for (mm_slot = ksm_scan.mm_slot; mm_slot != &ksm_mm_head; + mm_slot = ksm_scan.mm_slot) { + VMA_ITERATOR(vmi, mm_slot->mm, 0); + mm = mm_slot->mm; mmap_read_lock(mm); - for (vma = mm->mmap; vma; vma = vma->vm_next) { + for_each_vma(vmi, vma) { if (ksm_test_exit(mm)) break; if (!(vma->vm_flags & VM_MERGEABLE) || !vma->anon_vma) @@ -2232,6 +2234,7 @@ static struct rmap_item *scan_get_next_rmap_item(struct page **page) struct mm_slot *slot; struct vm_area_struct *vma; struct rmap_item *rmap_item; + struct vma_iterator vmi; int nid; if (list_empty(&ksm_mm_head.mm_list)) @@ -2290,13 +2293,13 @@ static struct rmap_item *scan_get_next_rmap_item(struct page **page) } mm = slot->mm; + vma_iter_init(&vmi, mm, ksm_scan.address); + mmap_read_lock(mm); if (ksm_test_exit(mm)) - vma = NULL; - else - vma = find_vma(mm, ksm_scan.address); + goto no_vmas; - for (; vma; vma = vma->vm_next) { + for_each_vma(vmi, vma) { if (!(vma->vm_flags & VM_MERGEABLE)) continue; if (ksm_scan.address < vma->vm_start) @@ -2334,6 +2337,7 @@ static struct rmap_item *scan_get_next_rmap_item(struct page **page) } if (ksm_test_exit(mm)) { +no_vmas: ksm_scan.address = 0; ksm_scan.rmap_list = &slot->rmap_list; }