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 832DCC4345F for ; Mon, 22 Apr 2024 12:18:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ED8A26B0083; Mon, 22 Apr 2024 08:18:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E89AA6B0087; Mon, 22 Apr 2024 08:18:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D4FE56B0088; Mon, 22 Apr 2024 08:18:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id B887F6B0083 for ; Mon, 22 Apr 2024 08:18:41 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 4B53BA19DD for ; Mon, 22 Apr 2024 12:18:41 +0000 (UTC) X-FDA: 82037071242.27.84000D1 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf15.hostedemail.com (Postfix) with ESMTP id 32665A0022 for ; Mon, 22 Apr 2024 12:18:39 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Svsmp+Qf; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf15.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713788319; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=SopgFjRtI0ffj2dK9FXbE2ciUH6pMtJ7UOQ4NOhhA2o=; b=kPqUyyTt4wBQ1J8hwYST0H4cu5atHmlDswpYDdjdS12Rk+o9Esm0KNmcap6b9dzibn5rPA fJUY7QLEpNoToRAuUggYFmJghzZSa/wezF3kiEAyzfbiGBWwtZflEY/grwcJKICmbDC6t8 wy/4YPzN+D5NDMmssqlaUZeIAh39zOo= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Svsmp+Qf; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf15.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713788319; a=rsa-sha256; cv=none; b=OIu3GyNWd7mNNnLpEgJqZXWDmGOfTZ6PE4ia6qnxWdjzx8HiHpHA0zxrttDWqf64isILc+ 1+EYdJ0E73rOIlofSRMarQocxuKer0n0Er1XZpp/2fJ2V+oG+O5gQ6VJ9QUvSv4e29Q98z Hv53XO5eeoc5iwkvVp7aBB+MP+2eztQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1713788318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=SopgFjRtI0ffj2dK9FXbE2ciUH6pMtJ7UOQ4NOhhA2o=; b=Svsmp+QfCHMVyP/J8kmP/i7JL+K4JScBe8dir/7jFLrcZ7aeHfzmo0P7HmJhw6jng1tf13 KR06UADl1RRRNsE4bFeLVV32wTJhqBnUH5ydgu7LNTDsfBK2A2DWU4I5HvffjzhRyMA1eK 2wCihpmpN93MDMEJD+CT1+pYjyXSRdI= Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-317-oCah3tOROOGWMINknGf8Fg-1; Mon, 22 Apr 2024 08:18:37 -0400 X-MC-Unique: oCah3tOROOGWMINknGf8Fg-1 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-6a0426da999so13947136d6.2 for ; Mon, 22 Apr 2024 05:18:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713788316; x=1714393116; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=SopgFjRtI0ffj2dK9FXbE2ciUH6pMtJ7UOQ4NOhhA2o=; b=rmEkR00akVXQ1Ky3IyPQvLJPOnSg+qwq5uZTjmGMT97VioW5n6ToeHvOCabdhqoH2u PqqqzMbISNT8A0sFRUh19TTXYYcIhET2MF6OUL4q/4LA/+V4L9fQQGFQCZ/ERTzQiQyK n8KXEyOr/+3dAgQJzugo/oCgQLi7wM56fsdN5sdTLttLm5FTclEImRVxGs/5Rr5lUQlI WREzRXy8BKKMJbECxq9rlnsd9datf+Ga1gN7QNbYNnsI9pBYVMTgyvwQwpJNxuVFNocN SwZjpivAOA/nBBb8oxn618Of0xqbtWDghMD3OjXe37pVKuG7na7SXPEiV6Ko6hoE5Hb7 T0gw== X-Forwarded-Encrypted: i=1; AJvYcCX6HhDaqbgFfcWrxnLIkhY0e+Pk0KV2V+xyz4p36nlcwzG0qdQdr5MeYz45uB7OBMe3WLJ5BPXOd5is5AfG8LYHlrA= X-Gm-Message-State: AOJu0YzRdH059Z6tNYxX1HLWmb6E1LI2vs/FlIdIH1UXiclgBouNz4e0 gBnat0jZeCNgjt4xv9au2sWZqLYqeqCmiohHahhnGsDA8iUrjaTllLec3s4aykKsolxh5h1dUXA 4zn5JzuL7tp8d5/mhO+oEaTLny380HC8vJCX9Jyz8HE/xLVZG X-Received: by 2002:a05:622a:a017:b0:439:9377:3aed with SMTP id jt23-20020a05622aa01700b0043993773aedmr4444434qtb.3.1713788316361; Mon, 22 Apr 2024 05:18:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGaO+jkIgMfgkbaiEc50vOm5Rb/GAfToJkVvTnMjptsRHlwbup3OtVGRo+Shi9ytw0cO2YTOg== X-Received: by 2002:a05:622a:a017:b0:439:9377:3aed with SMTP id jt23-20020a05622aa01700b0043993773aedmr4444409qtb.3.1713788315804; Mon, 22 Apr 2024 05:18:35 -0700 (PDT) Received: from x1n (pool-99-254-121-117.cpe.net.cable.rogers.com. [99.254.121.117]) by smtp.gmail.com with ESMTPSA id z1-20020ac81001000000b00434ee466ea6sm4176324qti.22.2024.04.22.05.18.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Apr 2024 05:18:35 -0700 (PDT) Date: Mon, 22 Apr 2024 08:18:33 -0400 From: Peter Xu To: Kefeng Wang Cc: Andrew Morton , linux-mm@kvack.org Subject: Re: [PATCH v3] mm: memory: check userfaultfd_wp() in vmf_orig_pte_uffd_wp() Message-ID: References: <20240422030039.3293568-1-wangkefeng.wang@huawei.com> MIME-Version: 1.0 In-Reply-To: <20240422030039.3293568-1-wangkefeng.wang@huawei.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 32665A0022 X-Stat-Signature: ok8qgxzo3zazteu5z395q71wdqdbsex5 X-HE-Tag: 1713788319-855234 X-HE-Meta: U2FsdGVkX1+5R785eIC618pUXuMBac50q+4MrTYugAKXMdWRYHVa5nCfzEO0pk0RIlUbJWHMXhhZhN43tsrZw2X1/PkyiPDOag8qkwbWA9aOJy9OtXylenhHJ/G/GSCaLVMMrCex9oGk+bFb9TosEi7pn4q/iYkxgf1XZZHVVUY4eKQE5KULkerIQVym39Z5LQn528MsU8s1RbN7uVam5im0l8BtsAtht3EEsNQYaRgZ6KjWf1c/Gc95+lonr0NkOXtY77A1bk3ARrKpEWnn5OMLUOjIkOAA4Ch/H5IZJ8YczQew82yoNcksT67GWGCCof5DNVFUoihoxBtq+ga/cx+fM0KEc42phc4MGjPXwRFqw9YWCWjrYt+lx/pv43nj9kvmuv9LqQMMT4lu/RC8x6OQUMlNeX9zW/dMRCMUCo5jGApWmWa5SN01z1oOXo8j+2yegWd57oFRY08RjY+6sGvs5HgSznNzP07unRc4W4oV1Yz4fRVabsmdDEYB5sPZuUVcxnDY4oSdjMz4VGJGPjWzxKs8Ga5zUORIZwHUfS8xztJk5AWrihhxAfv5teRf3OtqyqZ8DpRZyLyUy+AAyIfLy+obJnY0fvKeGwn7OBdGLJI6dDCytQL0RrMe6CG46puGe56iqeqD5sVP+eWHCc45ki5HwZX8Yp7DP2m/TUF7SBtNEHEFpPW9olH9013xrKMK68fMP2J/Y25+ihEfSTDF3rQ2BIw7lptPoB1T74bchEldp51z8sDDkWVWhrtgcqh6CzSBBsLCgCppXqjgi1gr37w4ftCnjjAYicSNY9Oc+ol2UVg6dn+UzwDaYUgunuQo1hFLza5h2/87QBHE1V/Qz0WiXTO81mbazH3wssEt5AZCronu2orNnzIChV/Lt68/ynZ+wCVvSSAZjWN4JpQ+ZfRFr+bb7kt0Nnn8gyD8Rq2OuRP16OsLZqeQFFFmXuk1rkDSd4X8tFhFR3D VFArDZrU dkdOFRtXma8hiE+uU88UQkImgB2HIXSUgtez6XmfH/alEHFdf2xsXRazHWKad5S89bWHf6ebw1HHsCEOBJOEX+SqUrRdEA9jHor0Qh8xXYbdyogWPNgqqb40FD5c768TghvhvtDVWwBu0qtC3tuOXg6I4ZjCqkyOHk1gL9vtGMeZtW3EnrXfLfWJjdyESkZmZXnLO1S2fPDzVjENOSujK5MgrqCs5kw5Y9G9TtUz3Khhm1Q/Rd/oz6jcdWwv/H0MQSM48M+zv3MfuFbxhZgJf2MAcFkNl5DPAUYEg/8mSSswQ/FAklanV6eqFSEmXie8mh5R4Gl6AKP9fSCr8aw72FPIcgYRiq2N0BO1ktQSF3uqdz5cucI1PgVmiHw1mvs1X1M0QEEZ/em3CU5WWeuT+vlrlHHHJ8NmX8POZ//O1qRKuR0X68jiQNpBHCaissjlin8fhmC5dA85I7zw= 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 Mon, Apr 22, 2024 at 11:00:39AM +0800, Kefeng Wang wrote: > Adding userfaultfd_wp() check in vmf_orig_pte_uffd_wp() to avoid the > unnecessary FAULT_FLAG_ORIG_PTE_VALID check/pte_marker_entry_uffd_wp() > in most pagefault, note, the function vmf_orig_pte_uffd_wp() is not > inlined in the two kernel versions, the difference is shown below, > > perf date, > > perf report -i perf.data.before | grep vmf > 0.17% 0.13% lat_pagefault [kernel.kallsyms] [k] vmf_orig_pte_uffd_wp.part.0.isra.0 > perf report -i perf.data.after | grep vmf > > lat_pagefault -W 5 -N 5 /tmp/XXX > latency before after diff > average(8 tests) 0.262675 0.2600375 -0.0026375 > > Although it's a small, but the uffd_wp is a new feature than previous > kernel, when the vma is not registered with UFFD_WP, let's avoid to > execute the new logical, also adding __always_inline attribute to > vmf_orig_pte_uffd_wp(), which make set_pte_range() only check VM_UFFD_WP > flags without the function call. In addition, directly call the > vmf_orig_pte_uffd_wp() in do_anonymous_page() and set_pte_range() > to save an uffd_wp variable. > > Signed-off-by: Kefeng Wang Reviewed-by: Peter Xu -- Peter Xu