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 3EF47C4345F for ; Tue, 16 Apr 2024 19:40:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BEDC06B0087; Tue, 16 Apr 2024 15:40:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B50286B009F; Tue, 16 Apr 2024 15:40:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9A2276B009E; Tue, 16 Apr 2024 15:40:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 7A0536B0082 for ; Tue, 16 Apr 2024 15:40:40 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 3CBD5C0BC1 for ; Tue, 16 Apr 2024 19:40:40 +0000 (UTC) X-FDA: 82016412240.01.6A7EC5B Received: from mail-oo1-f50.google.com (mail-oo1-f50.google.com [209.85.161.50]) by imf24.hostedemail.com (Postfix) with ESMTP id 5F7AC18001D for ; Tue, 16 Apr 2024 19:40:38 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=QFnIwQXO; spf=pass (imf24.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.161.50 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=1713296438; 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=KwEv4Z/MXON03xxjjs3as0fX96oGOhkKVq/HAbUMzow=; b=bebXnob6+gWc4NVP3mkR4sg8QQMyySuHPqJgFmV6pg5eJMn0gnnje8Sp9EHwW3ShJaxDdv 73OLwVp1/N80muIpD/k0MXiFsp5FvVtDbTxvNpZGR7NE5ZLqvahrRA9cGjs8gn/rk+mtZz kek83uCGWC2cczzJAvBHkyRqCrD33pE= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=QFnIwQXO; spf=pass (imf24.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.161.50 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713296438; a=rsa-sha256; cv=none; b=kFiw27vPCNd0lcrvhxlG7+NCFdr0nYcsWYysKGRPUdQ5EHafrDaRXCBS+7VYT49F00XwKJ PMwjAbdlIjYgT4Sr2+1hqoSnFuMR7eLXpI9um3p9J6mWGchyQUnZCvGpnKLgDGHHF4wWQp S6HvgmQUAGSKb9i+GBE9EUFXRqPrYsY= Received: by mail-oo1-f50.google.com with SMTP id 006d021491bc7-5aa22ebd048so3467914eaf.1 for ; Tue, 16 Apr 2024 12:40:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1713296437; x=1713901237; darn=kvack.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=KwEv4Z/MXON03xxjjs3as0fX96oGOhkKVq/HAbUMzow=; b=QFnIwQXOZpEn6DeRYZF7qIhv52ZCRs2RnNbYk4HvBNtguHK/ow4S6wvxg4Jtb8kcch X8CB1E2EUFLTFzTRYAiHdeFErGkB7qWHs3r25hk9yAaOA8Zfrl3tol+W5EoVkz6iZ8cN JcRzWQ0oJ+GIVTJZZZwUGzq2G1Qtsb5Bapy7g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713296437; x=1713901237; h=content-transfer-encoding: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=KwEv4Z/MXON03xxjjs3as0fX96oGOhkKVq/HAbUMzow=; b=FnAYG8ZggptmMAspByX9isN6gweeZpSzfDAAwvyGL3EPp7Crz3Mz1LgeMi3shBUiaj /9jSkz1lIVd2+wT1Hpaba/gx+3CWo5z2c5WYP9al2hucy7mPOB0IVO9QtNGkHKCUr8tu mgAz55lclj/tsQ1lBmE0/K5Nhpq7cq+0yCkvS21lyLGezew7f1TXRKlVOT2ofoUF1bf4 yTz6a/9G5lNwOKt4xh02d6WCKkz+vyI7bjcfCfiEd26N5Bl6o6gCuRcGQ/GabggnE1fJ eUlHEN+RwMydQvau4vgNjWJp0bhgY8dWVKf5OMovpz3IwEjtjaLsExopTsLC1e+CfPI9 wprg== X-Forwarded-Encrypted: i=1; AJvYcCVdFnJGiAzOMCPAAaKlMtMEFgnRzPIVRwdZS3gdCHvTKtVbnJNOZ2nGkON0R9AGsyvkN85345xqAev1zdJ6cpdluRA= X-Gm-Message-State: AOJu0YwocOgiIiYGEJOd/0/4jqKUsjN/ovCANcXWHRV6Nouamdimnq44 eddRMCc3XoLoSlyEs6Luy8rE41VfJD1I+r1bovD8qrQn+ZWOlCyAQ1Wc2GSMiLLA4NCpbMgx2tS GaPW/ja+4ipEs/QJoe8atMvcrKOqi7i0uecAc X-Google-Smtp-Source: AGHT+IFpMnnuBnQ5Arki390SOLtA3w0Zzb02W+aYx36dAai5mD00AOXWCVWabXOS8NOrnI69HIi0pttIqRN879o1qMk= X-Received: by 2002:a05:6870:d14d:b0:22a:4249:f409 with SMTP id f13-20020a056870d14d00b0022a4249f409mr16854617oac.4.1713296437395; Tue, 16 Apr 2024 12:40:37 -0700 (PDT) MIME-Version: 1.0 References: <20240415163527.626541-1-jeffxu@chromium.org> In-Reply-To: From: Jeff Xu Date: Tue, 16 Apr 2024 12:40:26 -0700 Message-ID: Subject: Re: [PATCH v10 0/5] Introduce mseal To: "Liam R. Howlett" , jeffxu@chromium.org, 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, surenb@google.com, 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, pedro.falcato@gmail.com, 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-Queue-Id: 5F7AC18001D X-Stat-Signature: n8q9cregghjkgsx31afbethdxdp1gpfh X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1713296438-992015 X-HE-Meta: U2FsdGVkX1+yiUz5BlsqsQ6TKn4wPpwiHj1B71KBy2ZVUVMjvUKmb6yjvbb/xtgHr+gZnvHPvJaiEJg279U90y18P3OpgUMRiRNZ5TYBUcbYU6u86HxO6n6lpnyemjhH4pHr7hhGX7lqzpyVeSfit3Hh9ehNYOiI+mgmbDuqZk/e574xF/DTl2GZbAzT4HItkkIWNS/MwoUOH+EsU9NXYJEHxyIp98nZCFbu1i+ml5kjbQoxvAcIzxroXa4ZXH/o3h6X3nDGgTzj7rZYmsjlTCp9Qkj2OHT2kPVj2GjLSh4qnjAotcfbZ9buUMa3aBabAwxrstkUl1IX6aDrq4NR285kglIoVaPJ+WNE4R9d8eq4FdhzwIUx2dylATkKUB+a353UpVEAWcB39bQRz2WxQz8RxlauTIZbQ05XETo0ZOlTiLQI4q75d9DkcxMT1qvp1kJtZNMAYrqjTI8WKLTzDxtyENEL//wDTfA1BSzPriCQVOi4Cbbi5SQSoT0XRjMVFjtljSqDpwQ0KAD9H8v8M0N1wj0bNJG8EVl2C+qrFeYyxKB93VhS2Bf5FokKVbea5HJ7pd8NH32djGiOrF5kiQ+luEUlVGDHpLtL6HECV2PBgqsQ5UwpV5m+cTs3nMdb9diKIwtfthC80OOk2a6Q+Y/ofW03Ti6vnhVesFyoAg7o5gDr2ir+mTjCNJ6gQdRQtOoq7HZRi5Vkgx0FLYz+9+e+BKXw0N/kM7lEdTqOgghlPOwkmktdF6N0t8ZKwa3jvp3at7VHLDNaaf37SOrNgLm03gI5Q8OJKsoWsUIIH/TdojFq6PMev6+eGvgaFWb5cDMHZ02JxJ4L6kSrUfpQGZBa2+swyQhbpiMssjDjO60YlZKT1/q1ku0xsAEpDTph8KSO/GDQTSoIZi78PHgOCqNHJmFlenDNMpR+EKxSTNt+vFASqe96P3G4mHfbfZC5MFjs18sBKZ7xADQgybJ BmZfAEm2 fTdZBgJ6YCeuELxE9hi4zvlGdClZRfXk+XQ8Fld7qABep+T8GUHI6RCtgXh3YMq2oPfTHvUOrhb8fjdFdirrXch0SGpONX9mxIS6Et1NrIm4ekxXJmXQLnF5QThPQ4r2PSTZQU7tf4guHFzOHvnT/WVKPQNQzKgHGTv/v9Y0JOQFW4iVGr/f7UdjKb6+ljDgn+Vitz0F/Ed2EjBNTegtBc6v1FL3G6JOO2QWIefh9yc550VcZM64Opq1B3iKlqZf+iGB1ahGApEj/Ahelpaw2u03Bkb/KnF6dBJFGrMKS25WjmXT88fh6Suok2C4UBdUqPW16cH8w2Ks5CMXVbJTtlJ6G7ljSnwJUgMtIOfUOzmfIuePFw/nP0g3PkRmtbOED8/1b 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 Tue, Apr 16, 2024 at 8:13=E2=80=AFAM Liam R. Howlett wrote: > > * jeffxu@chromium.org [240415 12:35]: > > From: Jeff Xu > > > > This is V10 version, it rebases v9 patch to 6.9.rc3. > > We also applied and tested mseal() in chrome and chromebook. > > > > ------------------------------------------------------------------ > ... > > > MM perf benchmarks > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > This patch adds a loop in the mprotect/munmap/madvise(DONTNEED) to > > check the VMAs=E2=80=99 sealing flag, so that no partial update can be = made, > > when any segment within the given memory range is sealed. > > > > To measure the performance impact of this loop, two tests are developed= . > > [8] > > > > The first is measuring the time taken for a particular system call, > > by using clock_gettime(CLOCK_MONOTONIC). The second is using > > PERF_COUNT_HW_REF_CPU_CYCLES (exclude user space). Both tests have > > similar results. > > > > The tests have roughly below sequence: > > for (i =3D 0; i < 1000, i++) > > create 1000 mappings (1 page per VMA) > > start the sampling > > for (j =3D 0; j < 1000, j++) > > mprotect one mapping > > stop and save the sample > > delete 1000 mappings > > calculates all samples. > > > Thank you for doing this performance testing. > > > > > Below tests are performed on Intel(R) Pentium(R) Gold 7505 @ 2.00GHz, > > 4G memory, Chromebook. > > > > Based on the latest upstream code: > > The first test (measuring time) > > syscall__ vmas t t_mseal delta_ns per_vma % > > munmap__ 1 909 944 35 35 104% > > munmap__ 2 1398 1502 104 52 107% > > munmap__ 4 2444 2594 149 37 106% > > munmap__ 8 4029 4323 293 37 107% > > munmap__ 16 6647 6935 288 18 104% > > munmap__ 32 11811 12398 587 18 105% > > mprotect 1 439 465 26 26 106% > > mprotect 2 1659 1745 86 43 105% > > mprotect 4 3747 3889 142 36 104% > > mprotect 8 6755 6969 215 27 103% > > mprotect 16 13748 14144 396 25 103% > > mprotect 32 27827 28969 1142 36 104% > > madvise_ 1 240 262 22 22 109% > > madvise_ 2 366 442 76 38 121% > > madvise_ 4 623 751 128 32 121% > > madvise_ 8 1110 1324 215 27 119% > > madvise_ 16 2127 2451 324 20 115% > > madvise_ 32 4109 4642 534 17 113% > > > > The second test (measuring cpu cycle) > > syscall__ vmas cpu cmseal delta_cpu per_vma % > > munmap__ 1 1790 1890 100 100 106% > > munmap__ 2 2819 3033 214 107 108% > > munmap__ 4 4959 5271 312 78 106% > > munmap__ 8 8262 8745 483 60 106% > > munmap__ 16 13099 14116 1017 64 108% > > munmap__ 32 23221 24785 1565 49 107% > > mprotect 1 906 967 62 62 107% > > mprotect 2 3019 3203 184 92 106% > > mprotect 4 6149 6569 420 105 107% > > mprotect 8 9978 10524 545 68 105% > > mprotect 16 20448 21427 979 61 105% > > mprotect 32 40972 42935 1963 61 105% > > madvise_ 1 434 497 63 63 115% > > madvise_ 2 752 899 147 74 120% > > madvise_ 4 1313 1513 200 50 115% > > madvise_ 8 2271 2627 356 44 116% > > madvise_ 16 4312 4883 571 36 113% > > madvise_ 32 8376 9319 943 29 111% > > > > If I am reading this right, madvise() is affected more than the other > calls? Is that expected or do we need to have a closer look? > The madvise() has a bigger percentage (per_vma %), but it also has a smaller base value (cpu). -Jeff