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 5F146C4345F for ; Sat, 20 Apr 2024 01:23:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9D53E6B007B; Fri, 19 Apr 2024 21:23:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 984306B0083; Fri, 19 Apr 2024 21:23:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 84BC26B0085; Fri, 19 Apr 2024 21:23:21 -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 66CC96B007B for ; Fri, 19 Apr 2024 21:23:21 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id DF7D841658 for ; Sat, 20 Apr 2024 01:23:20 +0000 (UTC) X-FDA: 82028162160.02.E99F394 Received: from mail-ot1-f42.google.com (mail-ot1-f42.google.com [209.85.210.42]) by imf01.hostedemail.com (Postfix) with ESMTP id 072CA4000C for ; Sat, 20 Apr 2024 01:23:18 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=CuquOfKl; spf=pass (imf01.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.210.42 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713576199; 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=HkYkipVaIPOoc32m8NtP1VEOzkVOrOXqd3GXQCTqvPI=; b=ub14bqVLJQfexBrsKI5VIocBwK8ByDzUmVdkiH78n7OoPY9DsDXFhceqtWqPR1RiUkCalI vYyDENtVsiyjBLwi+fKVJeupnJGcuZKhXI0+dgUAKPBR2DmWHPK160bSWRmejS+H2rHC9i BsTNWB6wQDcua2QPqqNBnlU8+M7DBaM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713576199; a=rsa-sha256; cv=none; b=MysPYOqTaJ0UlRZrJanr92Cah+UFg4QgRFjqO6hd9Bs/Qnlz1IgymqssTUVawq+j91J3le Dk/flbiF+lFmzasPlsfnHOU8sE2jfSax9bvVCF271ospisC0keKaBrW5qu6DGM9YAZO7mq oAhsE4K0/adM4Zqfd5JGrvuUYO8Bn1Q= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=CuquOfKl; spf=pass (imf01.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.210.42 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org Received: by mail-ot1-f42.google.com with SMTP id 46e09a7af769-6ea1f98f3b9so1162936a34.1 for ; Fri, 19 Apr 2024 18:23:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1713576198; x=1714180998; 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=HkYkipVaIPOoc32m8NtP1VEOzkVOrOXqd3GXQCTqvPI=; b=CuquOfKl4OiaZUjQjcS1LznH5aaegL4OkA/3GLOXRH9GWippteEkElkgc0S25oodLM zGg83SjC6IjRMqr/XOXvSHkZjbsj+t5x0rE+6qCy4w2XN/193C1cRjIbPh62kIjsoRnj v1TzBu1vKqDH6FhAutvMRxj5uSYiIoK3rRnLY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713576198; x=1714180998; 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=HkYkipVaIPOoc32m8NtP1VEOzkVOrOXqd3GXQCTqvPI=; b=t0bsubB9EUfzdV+ttEEMik87rHtkqqDjCeEPcxYMD7mpuZqK6DIad7hClaOVbrdt3F DIg2g/Z/TiBvGH3YiZ8aZU1CCDEKgF5YibhFYWDOVH90oMIKAYf6jY6qktRdwfV+x4Sj piafYPdofwQt0MsKEC8AWZGJ0Zq4VJDy7FhDEifUKlO2H7XrR1sR8a9Od14JryrKpJGv uKE1KdaFAu1nk9X082wV2QG1IFJ+8wGMhmLK9XlNs2BL5BZTllR8CAKT1Ipze2ZzrARA a3+jTxYmfRVs2hR2r7MmRp55d2nhmm6HRFRHiDBQ0D4asz42GbwYgKE7FGBBzvFp8rzv bS7g== X-Forwarded-Encrypted: i=1; AJvYcCVEFd56Df+5fLtWrCj66VtmuRW7IhA/M6FIAvMv9KGPMLPRuRlYeVCDZMTCo8rrASA6FP6uJaRcFSnBnuRyNAPTBao= X-Gm-Message-State: AOJu0YxZXW8dQobNosr88nRB+dM13TYxCL59nwVJCO1nHOB5Neg++/d9 lkV2W55IWA3817dVsnwYJ4p4Na7Yx+UbWm9MbwPDXTEjpuFPHrJiCQ6X+B1JAvhTlxbgZ5qs8Iy SW8ypgHngaMIYrRbMQqjfLdIidGKXDB01rktE X-Google-Smtp-Source: AGHT+IHBc4Rb3dg8R081whzPxTVTeU9l1xcO4/ULPqot8pzPW2t3I7MBZbBmk6o1jIf7EVB1Xx8ui0lQ4Bl/rq650XU= X-Received: by 2002:a05:6871:203:b0:22e:d541:7eb5 with SMTP id t3-20020a056871020300b0022ed5417eb5mr4612272oad.38.1713576197982; Fri, 19 Apr 2024 18:23:17 -0700 (PDT) MIME-Version: 1.0 References: <20240415163527.626541-1-jeffxu@chromium.org> In-Reply-To: From: Jeff Xu Date: Fri, 19 Apr 2024 18:23:06 -0700 Message-ID: Subject: Re: [PATCH v10 0/5] Introduce mseal To: Pedro Falcato Cc: Suren Baghdasaryan , "Liam R. Howlett" , akpm@linux-foundation.org, keescook@chromium.org, jannh@google.com, sroettger@google.com, willy@infradead.org, gregkh@linuxfoundation.org, torvalds@linux-foundation.org, usama.anjum@collabora.com, corbet@lwn.net, merimus@google.com, rdunlap@infradead.org, jeffxu@google.com, jorgelo@chromium.org, groeck@chromium.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org, dave.hansen@intel.com, linux-hardening@vger.kernel.org, deraadt@openbsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 072CA4000C X-Rspam-User: X-Stat-Signature: q8z4cprjse8masaxoyxygsta1553d46z X-HE-Tag: 1713576198-46726 X-HE-Meta: U2FsdGVkX1/zeEN9ZLoDgauWXTs/1G/bPsOVAc1MNC8gBJU3dDkx7F39O/hmUat2ZF6MITQT5UWkrBoPmEaEv3LnZEJger4+1XqkmHErcdIz3nQsNl4yGU3LP2eibxW/wFdiT28icDD3HCW0mDh5b2vpa21nKmKYnEwUnuEADodvfTs70zEAciCkhxjlEfmu68OekGrUCVPKvaptRwE+7lmeaUY/pJ9/EL2Yo5ed3+klaFjxruCnhaOlAIPofKrckf3yBOw3CxArxtIVknDPJ8gfKBzljljWYcQXGMAwx41E/WWpKjBCLSYx8fyAcUZ8Xha/1sGIJTKvsBD7DScsC+MOS9hgi2x2c12sz+MsDSiRtpn1FRwxpxwxWEa/S4Zdvz4zYh2YcQdOlhUvrGgrBZzg9BDxB2OfVB5VDzx6tHdDNv93Ikh87UJp6DJ9HpqDBZyGnGSe4D7crSXMqEYRUO87Z3KjCbg8HzwhJJ6GNU0SxyW1+Lvig8/qOI4eWhrZBMpNP3HDYW+QvKPTevFLibPiNeba4Z5WUKjnoRGInAQm59PoJJzZAkBz9F+9gwBuk5yPr2oQ+MdMpfFbzIbfL/wz0d0Ah7FovukSXvTwORsN5BLhBJ35YixZfQx8X4+ODztDGzKiexB7Esf4rC2ZWidmQl+Wh52sRmFGBLVHWhGbnqBzIpYp02mTUgazy0n1tdzDiFu8F7XqMiKtgmMFsLxuuZv/hqAIHlJkQdrZWdOGVYTF47FiaNfnL/j2oprgePYNqmNgLpImZjNPSfRErZNRxzPLrcqaPoOJvEOgCAXdzwHPmNhk81T6UmBGfXqq8shtNIOVt2OEzbW03SztACrljJDu1SXO/+HxgkLdNt85MehUCvJIkjnq+aRmEzO5MIfj6hpf9AbJ8FbOHR8bNkVAHAnv2gHbEDMC3gS387w0DarCRdb+a3c7vros0bdHVlMbw/I1R4kA0/ydVOO zxExBTdO IFsF3ot5r3bpB1pVQQ0zUiY5vJ09fUitr4imSobwbcDdR8FXueCZaawx06fvqabOAH65ayBboZrTMd/hQd1SpllTUGoe8707+ktTG30kmHk+ZRaactEdA8CrCJeVBwBaBzk2oG5C64nO1MOKljlrKJk71ZRGnZclLox95FhU4nMWuA9R3klmF0sxhKbpkmJiDM0MPvMLeJ76rSeQc3R81/hZG8r6uArppyg5W+YW4a4CwVWCYbc2SfxqvrENU4i6JYE72y7ZIYSklwGLVTIXMaK8XpDV/29rDUoyfeCjTYMmcFj//LheCSQG78eV7LWC10fQUTH7DCz2QxPnQ5VzhCsrbjbw6wnNmtKdA9GTXgsQn/mkPsSSkX6UU0RgN31UDshYq 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: List-Subscribe: List-Unsubscribe: On Fri, Apr 19, 2024 at 10:59=E2=80=AFAM Pedro Falcato wrote: > > On Fri, Apr 19, 2024 at 2:22=E2=80=AFAM Jeff Xu wro= te: > > The overhead is likely to grow linearly with the number of VMA, since > > it takes time to retrieve VMA's metadata. > > > > Let's use one data sample to look at impact: > > > > Test: munmap 1000 memory range, each memory range has 1 VMA > > > > syscall__ vmas t t_mseal delta_ns per_vma % > > munmap__ 1 909 944 35 35 104% > > > > For those 1000 munmap calls, sealing adds 35000 ns in total, or 35 ns p= er call. > > Have you tried to spray around some likely() and unlikely()s? Does > that make a difference? I'm thinking that sealing VMAs will be very > rare, and mprotect/munmapping them is probably a programming error > anyway, so the extra branches in the mprotect/munmap/madvice (etc) > should be a nice target for some branch annotation. > Most cost will be in locating the node in the maple tree that stores the VMAs, branch annotation is not possible there. We could put unlikely() in the can_modify_mm check, I suspect it won't make a measurable difference in the real-world. On the other hand, this also causes no harm, and existing mm code uses unlikely/likely in a lot of places, so why not. I will send a follow-up patch in the next few days. Thanks -Jeff > -- > Pedro