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 DC1EBC3DA4A for ; Fri, 16 Aug 2024 18:26:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6813E8D00AC; Fri, 16 Aug 2024 14:26:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 62FFA8D00A2; Fri, 16 Aug 2024 14:26:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4A9108D00AC; Fri, 16 Aug 2024 14:26:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 2D31C8D00A2 for ; Fri, 16 Aug 2024 14:26:34 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id CEA24A4C86 for ; Fri, 16 Aug 2024 18:26:33 +0000 (UTC) X-FDA: 82458939066.02.5D11A89 Received: from mail-vk1-f175.google.com (mail-vk1-f175.google.com [209.85.221.175]) by imf13.hostedemail.com (Postfix) with ESMTP id 136072001D for ; Fri, 16 Aug 2024 18:26:31 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=VEHz2FMI; spf=pass (imf13.hostedemail.com: domain of pedro.falcato@gmail.com designates 209.85.221.175 as permitted sender) smtp.mailfrom=pedro.falcato@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723832754; a=rsa-sha256; cv=none; b=gGIdrRK/52OgSw8zO3qU3GE+z5pRW+6GsX3ONON2MAaJW1pLCjgvRLdi96JFy7kmtosLwH 8d2dMxX/+qiNPJIelYpEwNt5vpq/lwPJH3OA+aIkw4zh0fK3ZE3VpxqScOwpPuWmKjxrL/ aB/FUI7oSpelDwktlgrukDkvr8kEuwA= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=VEHz2FMI; spf=pass (imf13.hostedemail.com: domain of pedro.falcato@gmail.com designates 209.85.221.175 as permitted sender) smtp.mailfrom=pedro.falcato@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723832754; 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=VRtyNVp4sSPMWOktbEPPlaUvj1Iz2cz/TE5aSmWxWyM=; b=ffSTNY+7jVaJ42gnHXB4f62VKoYWVpOGF/vVCc4iEge/BvpplDy/4e58827SeDRL2ojqLC L/TyDCL98QqXZ5pGuBR14P0VH3AHHgBWKpmpFcF/l6vjBDfsJPP2pBrb3cSRU6heQSW/fW 7wnsb/PPiemczgGEydBX6BJ0+FRViok= Received: by mail-vk1-f175.google.com with SMTP id 71dfb90a1353d-4f6ac477ff4so1153602e0c.3 for ; Fri, 16 Aug 2024 11:26:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723832791; x=1724437591; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=VRtyNVp4sSPMWOktbEPPlaUvj1Iz2cz/TE5aSmWxWyM=; b=VEHz2FMI3vpQn7GkNuxDCblFyQTS6e3jrZrdkP1s/p9QD9J8Z98NTDZgrH4egRIvUM Qk7xP2yaXHxL3/5asJTEHXhPx15CRLPcntK+GMlu+NUHD+UMVqQ0a9CF2rv6mXxP/Cfk HYUOdupCpvvxol25tk7zMRr4Ye//CyHFXcvc5xLfPltii6hA5lg4rAuQQexjw5EIRw8+ cIpNGaxX2K+MM77UQ911uRvg3Q579BEgjNPFC0GKYSK4tm5yGgYxLrLIor4tgm9Lul2Z yienfo21pSiof2WPhTgtFZ2OPcSc/jCtLhpYPpm1OncIx5xGu7gDNVi9xF2cdW81eYaM pwdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723832791; x=1724437591; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VRtyNVp4sSPMWOktbEPPlaUvj1Iz2cz/TE5aSmWxWyM=; b=SrUiKPWADNFQclfceikdbHdHCo7guGnvOy8PEDuJ0Mar/hwwgz1jQuYqOwzNl4z3GD /B8ihQOYfVMchQE2yKMb/eO3I+ut+C43P/NCidfehtA1ICMPhAFDNZVwFFFa9Q5ad8Be 9KrNGf+Cb/3pUXClorzAjm/RIxUmjm354Z8OVcP2Uh54CBgTHuq7ayzzFCE610TBGdH4 yrt10wlKCDTkoNchUFZGHeGl8cxWZhrH5Sccf5HUy6VStbeWE1Dus4YUg01k1t98vXKm vDBtXBI1YC4qrGG15ozeNQQ62y/7O+Q9NFABnjQNA54ylcsnUQhSnPXW5qXzlmnHvXmF KlIQ== X-Forwarded-Encrypted: i=1; AJvYcCV/mIoD3hgWRyvFLzPKiPCygf5apf7qzvQE05nktlOdoeYIOIgsD2JBdLhqrp762aCYbzHsO7uAHQ==@kvack.org X-Gm-Message-State: AOJu0YyJj+Ayr6z0rD7EO98CZYYo1DOP/a2w1vkkt4U9Z+h+38diqrOg p/3kFfQ+DzgJoI7Su9JtsnuL2PtEyoyeuZRWPNQvUkM9gYlWZBGuEO6AQLz7rB4o8ZXbCm2Bcxt yVrZ0ovObzgNyxBVQfslu+2HfjdA= X-Google-Smtp-Source: AGHT+IFcwopDgVqc2oP6paySVJV30W6WQmNkQ48NQq2A8zBLaFIFS5VPsUKIF6HCQ72zitT8My2qhJwlB1pMlSRz+dw= X-Received: by 2002:a05:6122:d99:b0:4ed:14e:9342 with SMTP id 71dfb90a1353d-4fc6c5c2b6fmr4723680e0c.1.1723832790902; Fri, 16 Aug 2024 11:26:30 -0700 (PDT) MIME-Version: 1.0 References: <20240807211309.2729719-1-pedro.falcato@gmail.com> <20240808161226.b853642c0ecf530b5cef2ecc@linux-foundation.org> In-Reply-To: From: Pedro Falcato Date: Fri, 16 Aug 2024 19:26:19 +0100 Message-ID: Subject: Re: [PATCH v2 0/6] mm: Optimize mseal checks To: Jeff Xu Cc: Jeff Xu , Andrew Morton , "Liam R. Howlett" , Vlastimil Babka , Lorenzo Stoakes , linux-mm@kvack.org, linux-kernel@vger.kernel.org, oliver.sang@intel.com, torvalds@linux-foundation.org, Michael Ellerman Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: j6eduynegy1x8mowtd6aeq3u4k3cuiyb X-Rspamd-Queue-Id: 136072001D X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1723832791-425149 X-HE-Meta: U2FsdGVkX1+wwc/LynVlQIuCFT/HhhXvBMr1C9ta2yOFY67zTIIKyA1K7WA79pbrAFrRMLpyTUhdLitUNwm/jtadMM/dHWcafVfe8voINkU/ruE28ojAy+M1Ep+es8V8tQFAPBEFtWUirtzXsS1q6iYZHbSBRbz6ThA/A6ybPOdjF/7NtxMmIaBo/orhagd8tRIvGvQMRDZrqEZs5KCCdk5R1+G54RNhL7W7b05+PScgTz8QN0R/ShKxlQwAca1PJ9w4mvUeNwE0mdYlBy8SzD83pDpAH5C544muOAqGgY5CJ+YlInvStiG9kdn/77DhmTPbSNAZZEn82bxMT+zEZsW5Ke0qsrtrgYwbV5qyJUliF9CC3W0E/safiO0qN3BJ9ASASvTg3Xfgh2XDpF7BBeOoU4dBF2Vr14brVNYHz7L0ecwBvupzs2MMgMvn8A8l8IVxwOCmjCL1UYPmrkSCV3OmSxIoFIp6gYUGfY3OCPtBY8vROmdHknEvyTEV5qVI9DpmZC/3n89ELZYeaoQCb7M6r9EGldWh3lpBmPYbG4oWysAXQSWRRCUHULwYvVE22V8Omr5rqv0lou+oKA/OvWPWmGzAlqijNZdzVEDIVGNiENezz+RwV7bt8BLNw6vI9J+uq2AFuFOxwPwjbbIsTU/PgNtoMNiL1Icvhsffc9T0zNXDayQMpkTNjiN2VFAk18ukI6gB1ryke8hrtOQbSYsThybMhLXynHLp3LJB7sXkZE2pUNcDPHtfh5gxZxFG0W48W9dJiQEo6HQGP9aDjtLsunew66vYvIVwTSJkVm3ShYuhbK/NsVMJBg+NnlfxHW3vqk1Tqj66xsM5Ka2vKSoGT6ELR417kTK22o1ruJWb3A7Qe3brPAIK3W6TER3IFLGe+xzDn1peOszKDlRDiFXB3NI022eJlX1F84VoXL0R/xji7XMliVuzl8VEuSjPuwDPYYgb8nxOfCJGfkT V3vU10BW wPqZHTCq5BczE49GExlUuNPS8zQmwjiRAqJL/QuSijlMId4/bGf+F3eEJczs61ItMidjq5AtOTQPsWncMJlhFqmnpukujDvMEFSnoNfS4W8QM1cc7QOO0LGxc2uhkxgSzLV1wx9i6TNYB6PYrObkmT3QbB/D8te99hRSVsygQSkSFEiMn8Kpq9WUCoguNia2GznGI6Icv+3XP3KiPdZYQ6bNNpGfEwJQSaoOnvoS3U1JiwSXo+Gw07vaFrXrGrsPizc60hrjJs+qZX160zp0M94X7B9YN9Zmph2oePxpMwqAh8TW8Xbb5APVWsWJmodJ4JPGG/bW1VJ03A9h6gVZsGMZXf+8WWYm5vv4BMtJT2YUpNShT+JESsDycXaos473blMv1nZMB3Tok4tNT1VzumzSDqXH8SCiW6NBN X-Bogosity: Ham, tests=bogofilter, spamicity=0.000038, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Fri, Aug 16, 2024 at 7:20=E2=80=AFPM Jeff Xu wrote= : > > On Fri, Aug 16, 2024 at 11:09=E2=80=AFAM Pedro Falcato wrote: > > > > On Fri, Aug 16, 2024 at 6:07=E2=80=AFPM Jeff Xu w= rote: > > > Please run this test on the latest kernel branch to verify: > > > > > > static void test_munmap_free_multiple_ranges(bool seal) > > > { > > > void *ptr; > > > unsigned long page_size =3D getpagesize(); > > > unsigned long size =3D 8 * page_size; > > > int ret; > > > int prot; > > > > > > setup_single_address(size, &ptr); > > > FAIL_TEST_IF_FALSE(ptr !=3D (void *)-1); > > > > > > /* unmap one page from beginning. */ > > > ret =3D sys_munmap(ptr, page_size); > > > FAIL_TEST_IF_FALSE(!ret); > > > > > > /* unmap one page from middle. */ > > > ret =3D sys_munmap(ptr + 4 * page_size, page_size); > > > FAIL_TEST_IF_FALSE(!ret); > > > > > > /* seal the last page */ > > > if (seal) { > > > ret =3D sys_mseal(ptr + 7 * page_size, page_size); > > > FAIL_TEST_IF_FALSE(!ret); > > > } > > > > > > /* munmap all 8 pages from beginning */ > > > ret =3D sys_munmap(ptr, 8 * page_size); > > > if (seal) { > > > FAIL_TEST_IF_FALSE(ret < 0); > > > > > > /* verify none of existing pages in the range are un= mapped */ > > > size =3D get_vma_size(ptr + page_size, &prot); > > > FAIL_TEST_IF_FALSE(size =3D=3D 3 * page_size); > > > FAIL_TEST_IF_FALSE(prot =3D=3D 4); > > > > > > size =3D get_vma_size(ptr + 5 * page_size, &prot); > > > FAIL_TEST_IF_FALSE(size =3D=3D 2 * page_size); > > > FAIL_TEST_IF_FALSE(prot =3D=3D 4); > > > > > > size =3D get_vma_size(ptr + 7 * page_size, &prot); > > > FAIL_TEST_IF_FALSE(size =3D=3D 1 * page_size); > > > FAIL_TEST_IF_FALSE(prot =3D=3D 4); > > > } else { > > > FAIL_TEST_IF_FALSE(!ret); > > > > > > /* verify all pages are unmapped */ > > > for (int i =3D 0; i < 8; i++) { > > > size =3D get_vma_size(ptr, &prot); > > > FAIL_TEST_IF_FALSE(size =3D=3D 0); > > > } > > > } > > > > > > REPORT_TEST_PASS(); > > > } > > > > > > > FWIW this test does not work correctly on my end due to sealed VMAs > > getting merged. I hacked up setup_single_address to work around that, > > and the test does pass on both 6.10.5 and my local mseal changes > > branch. > Yes. you would need to comment out other tests and run this test only, > it didn't consider the case that sealed vma will merge with another > sealed vma (created from another test) > > The test didn't pass with the V2 patch (the seal =3D true) case. Because we... found a bug in my munmap changes. The fixed v3 I'm planning to send out does indeed pass. --=20 Pedro