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 27388E95A91 for ; Mon, 9 Oct 2023 08:41:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BEFB46B015F; Mon, 9 Oct 2023 04:41:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B9F806B0160; Mon, 9 Oct 2023 04:41:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A8E876B0161; Mon, 9 Oct 2023 04:41:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 978C76B015F for ; Mon, 9 Oct 2023 04:41:56 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 6F6E61CA472 for ; Mon, 9 Oct 2023 08:41:56 +0000 (UTC) X-FDA: 81325280232.28.184108E Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf07.hostedemail.com (Postfix) with ESMTP id A42854001E for ; Mon, 9 Oct 2023 08:41:54 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=mTU2kcR8; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf07.hostedemail.com: domain of rppt@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1696840914; 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=w3aZlHbnYFmkx4P8ebmDoMvJ74hb1Kth7r4ox0RmoZw=; b=kEh1//VLRwvoJwButtfOuz6Z+ZYzwlIEiCapBXL7kLspLOSMIVtsG84mXWgEp3Cd9nSOXi o3d7PRoHH3CCZheZuWD76/T/StQO8Btgo5a8hVdAkhiRt6LM9fGVb0uP7W7BIi7wri41SO KdEdVZ3GKo1JnUwjUQ9Ca8Nb1l4mTZg= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=mTU2kcR8; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf07.hostedemail.com: domain of rppt@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696840914; a=rsa-sha256; cv=none; b=IFAE0ghctaWITV/LSFpu4T8TsQg6VWeYYbFm/iLhhQ1GMREt9mfZwiejmRrWqMefv3mNSb eRgfZbP8q+BWNBXuROFnCvoKorp9jCqOkv6nNc1SIOItBNXQTzLo/3K9Q4Hl40dWoP+uRb XKp3/N+8ujRVvJcQVpuNensw68rGk0g= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 45F27B80EDB; Mon, 9 Oct 2023 08:41:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3970AC433C7; Mon, 9 Oct 2023 08:41:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696840912; bh=4kcb3KJxlv8xCWB0hf9FgeYmQ74is/VJSpLom3fBsoE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=mTU2kcR8q/tIZnExeb3VK5ciNJvkkphanMOurKs3FwH6W0csFeiAJIIP1FvK3AlJx cK3nL9xTZf31ZI+s6rz25iHEYD1kwBObTWCi+M/hma15XVAWtGBbF1mZzMYlGuXLLc dcQgBOAdDaA0WykfzWlgS7FyyJwLQzyH1+rQaNCLLbstpF0QporGOPW8xgny+ORqsx wbcMdXOQhL1dRrhaKZMK6LaefQ5DYEHigIkdPNWlUxJxfQoQilqMUTytR9QCKGAoWy j7APXNbcE4LyhT41zUaupAFBMMqdGIm660ETyw2zxuIXqcumqhtJL90PVqRUbudVmP oReRJ5PvA9dww== Date: Mon, 9 Oct 2023 11:40:58 +0300 From: Mike Rapoport To: Axel Rasmussen Cc: Alejandro Colomar , Peter Xu , linux-man@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 03/10] userfaultfd.2: comment on feature detection in the example program Message-ID: <20231009084058.GH3303@kernel.org> References: <20230919190206.388896-1-axelrasmussen@google.com> <20230919190206.388896-4-axelrasmussen@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230919190206.388896-4-axelrasmussen@google.com> X-Rspamd-Queue-Id: A42854001E X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: yhxwjxmn433grxoo77a5risphz7rq1wg X-HE-Tag: 1696840914-884026 X-HE-Meta: U2FsdGVkX1/Ujv1DlH+ZQcYHVVnnjQl1NXlbQN3ZJlizjKsLPC0sZkKigarKrniq1fMOvTecco5Ar1CCpx2Y0+6HPsUdWzRtz0gV5NdnURzKXUEz8c4k4NNq77kRqsTiF6vnBeEo+K7FIJ4Wv6KcUL7KC6V+V2LRJq9SH6gt3VC23hau7ThKoBgsjoqMXVgWyrNVo7DfQ0pKN0zmBW2LBNVg112kQkIRpQRgaPqrq3jbUetc70nixR9DkTKpGwWu6Iwkfa+K6UN15UTn0Qcn9G8Bx8U4oErbVhZi4JdORmMwHxJ9LIO9aiaVSjufKcI9QoJ/yfwiXGAJJRVzacWZ25/VzXUP8YS10Zy7rDEjKE8XptwO5DcZpBArm7dn+v+y7fc1tmXMe11fAmN6l3u0yorvd9GsLjoWUWY2jr4zSui8wp7666NSI1VGxNJx2jVyeaSf3IaokFpkKKMBF3z0qASAYMIQHxavW35UrbSamHZdsqE2//NlQRCJPIRUSera91M3a08gXRftXCY5MJJqU9VDVrKPRX8/1XjMPb6BnJgvekoSRo9DcdCr37Ejjzk4BfOY1STnE71OIKD8m1AqEZ78vC4KuWPYpANayJfMrz7OZzyrD/Utxe6jg9bY6ZCALO5PuS+rrlJIvRT5CU7eBmxEXQraSZdeSp/NfvBLCohsDZz5DrdX1R/xE1OWRiCCwlHJwPpXtAcDrmrsd7vERp7toTM/Nzy2rZYjg+xSMrwaWh5919YgS/mNM2/rCrQeREiU3wNXJgqBbHsHFBvdx30dWM8Ud9U0QntRiT/IP/uNV4ZLfwqx6kXW/rUNYTBnQE7OV6a/hsZY9lz5gvaF6Pqs3HA2qSskET9zoOKrGuCa2euNUDQVCe9K3SGmKRRESX15aoln4Do48Y2NHYjs9VNX+VAJ10BQJHHbqECTQlGTjAuTY3ocEB/6NmnsY2oN+vk17BwJY6fXqex7uWM 4YdsJJbA UZ2KuZL/tBDUzKJaEO4Ib9e305l55m3oYFP6NRnE1EEJy+CJTBZmLwkQr4MC3cCFYMkBcvgOwlyTR/nNRO5NlukdmAQnl2C7w7HnlmMvGqQjtoF/bDKL95Yxn6VkUMm70z+S30d263WSWQ7ZplhRdEKeOwQ05JXJ1Vnxr5w/y639DwqZLvT1sC6DZRRvnEahxoAy/RoE7H3kyiC+t67PDHZbaSEHD5E2Rv8oCrROOsqR3TNbliI0Rnc3zeYisa0iNOuuScHg3J8Nr/XjMuKtDt8OGdg== 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: On Tue, Sep 19, 2023 at 12:01:59PM -0700, Axel Rasmussen wrote: > The example program doesn't depend on any extra features, so it does not > make use of the two-step feature handshake process. This is fine, but it > might set a bad example for programs which *do* depend on specific > features (e.g. they may conclude they don't need to do anything to > enable / detect them). > > No need to make the example program more complicated: let's just add a > comment indicating why we do it the way we do it in the example, and > describing briefly what a more complicated program would need to do > instead. > > The comment is kept rather brief; a full description of this feature > will be included in ioctl_userfaultfd.2 instead. > > Signed-off-by: Axel Rasmussen Reviewed-by: Mike Rapoport (IBM) > --- > man2/userfaultfd.2 | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/man2/userfaultfd.2 b/man2/userfaultfd.2 > index 00d94e514..b2b79f61d 100644 > --- a/man2/userfaultfd.2 > +++ b/man2/userfaultfd.2 > @@ -881,6 +881,13 @@ main(int argc, char *argv[]) > if (uffd == \-1) > err(EXIT_FAILURE, "userfaultfd"); > \& > + /* NOTE: Two-step feature handshake is not needed here, since this > + example doesn't require any specific features. > + > + Programs that *do* should call UFFDIO_API twice: once with > + `features = 0` to detect features supported by this kernel, and > + again with the subset of features the program actually wants to > + enable. */ > uffdio_api.api = UFFD_API; > uffdio_api.features = 0; > if (ioctl(uffd, UFFDIO_API, &uffdio_api) == \-1) > -- > 2.42.0.459.ge4e396fd5e-goog > > -- Sincerely yours, Mike.