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 0A3E9C433EF for ; Tue, 14 Jun 2022 20:40:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 972066B0072; Tue, 14 Jun 2022 16:40:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 921ED6B0073; Tue, 14 Jun 2022 16:40:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 79BC36B0074; Tue, 14 Jun 2022 16:40:23 -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 67B7F6B0072 for ; Tue, 14 Jun 2022 16:40:23 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 3C7CA34F65 for ; Tue, 14 Jun 2022 20:40:23 +0000 (UTC) X-FDA: 79578009126.10.60B8C6A Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2085.outbound.protection.outlook.com [40.107.223.85]) by imf22.hostedemail.com (Postfix) with ESMTP id B1185C00B1 for ; Tue, 14 Jun 2022 20:40:22 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SX8CZK0aVRGcaogdrUUPAW+0ivug6C+lGHw1RiUHLn3Hdx1WdZSf2yS9bKkiP9lvvdWUIed32cZUCZ3U+0bkSE0bSleDdXbmKoxDlODMz2KUmh89VQoirzk9Qm6II8kYMjZcWGBN0kgvNVk+/l62kxanvqTylnuoWDDsTZA2oOVfWCuzOzALffe2ckKT9DfuQGE/jeIu87k6YM+oO5BWad4mrHjY0149ieaiDx0vtvWEa4lys9/GcEwvJATOTkDko4t6SR5NWe7ZXB8S4YloCg5O1m2AOjZ6i6Z6CCE0A94JDMWyX/sdr1cJ0pFVI2RXyIG/BvSTpYVV5J/9PM0jug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8QgtI0C5HNaW4RidFe4uGuFMrxN9CdDGz+8ZWHccW10=; b=V00tu3p3kOTydLnjJZX6XRQgfpK7QKCxooXa7EOylMAIPr++EKBhz1is/svzNOtTTX+fjWZevhYkGkXWQHgzlL4EqSQUqkqBybWmeupktigdTW4JYSBsJmqchFSdyalSx/2Du9Dxrrzzig1FQA6N8WLn/ogGFl0NMC2lSakhe1bFrTB4JE/kDTNuvk7JZsxovHJQkOukZb+C0VHB9lq/RLcNUEBtOFZZJOUyfXJmnwIhL7MkBchrA8zoy2WMSGoHobs53b/TZvqp5M4u4sLn20TC3EmnYXZg69n+yY7CXeuzSrFIOBQsXb+eYhFW+3NnVy81adFzcDzIKwmx33oCVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8QgtI0C5HNaW4RidFe4uGuFMrxN9CdDGz+8ZWHccW10=; b=KdSFMaaJaL/i96jamDxbTjkEgM9dAiXmm3JCU+Nfbi2yEj3GdkGQ4fRboqfBAJWQQXeldJ+ag5fLxXKz/8APBOX5nTMrJQNtwo4kH/66m7790GGK/8cDN+//jBp6sZw1FdTrGt3gZsEECQwdBaUl2spMhnJKSu6iJVD70RozKK+8czaGy2JRAx267DzHzZIeS+H32KBEBC/29dkblzLX0VLRkQxPUPGeps1YucgSTTdg7JiQX2zjwour/p9VDbuEwtN8/TLrS8E04OoVeY9dSsYXD8lSooLlEDqTJqrNtNzICWREeNy7Gb0wuKyA59bWvX4gF4u0dRcBfHdqOXJ4RA== Received: from BY5PR12MB4130.namprd12.prod.outlook.com (2603:10b6:a03:20b::16) by BYAPR12MB3622.namprd12.prod.outlook.com (2603:10b6:a03:d9::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.12; Tue, 14 Jun 2022 20:40:20 +0000 Received: from BY5PR12MB4130.namprd12.prod.outlook.com ([fe80::15e3:d746:57e8:4de0]) by BY5PR12MB4130.namprd12.prod.outlook.com ([fe80::15e3:d746:57e8:4de0%8]) with mapi id 15.20.5332.023; Tue, 14 Jun 2022 20:40:20 +0000 Message-ID: <481fc9d0-6122-bf59-9d04-23c10d256764@nvidia.com> Date: Tue, 14 Jun 2022 13:40:18 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH RFC] userfaultfd: introduce UFFDIO_COPY_MODE_YOUNG Content-Language: en-US To: Mike Rapoport , Nadav Amit Cc: David Hildenbrand , Peter Xu , Linux MM , Mike Kravetz , Hugh Dickins , Andrew Morton , Axel Rasmussen References: <20220613204043.98432-1-namit@vmware.com> <3eea2e6e-1646-546a-d9ef-d30052c00c7d@redhat.com> From: John Hubbard In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SJ0PR05CA0196.namprd05.prod.outlook.com (2603:10b6:a03:330::21) To BY5PR12MB4130.namprd12.prod.outlook.com (2603:10b6:a03:20b::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3553d66a-0bc7-4b61-c21f-08da4e461916 X-MS-TrafficTypeDiagnostic: BYAPR12MB3622:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PbAf/jg8tRUiKCW2ZTvFPO30wGjoH4ElH0ENffjFrPDHS+t6EtygXVBcO5I5PWQ7b9++Q6QR7521uFo+y1p6dGHigHQLP+nYWtciSty/kc46iBgKJBnbxTUNdBJbkSa7h2WWl1HjfqbXk1Ov5AIqK8J3348TP5gXDx7EQtSl/y3UxkfzpQK9y7ScXjcxnld1MBR90Vr0SA3GmuKQSkjFDI78om7Lvb7LF/f5flnVFG0mnYnF4ObMPXcZtgXdKuwDvQn+smpW3P+jWJPe3RbCXO4O+/hj2gmabLrB14bHqBg0LGLpTIlBVz09gula7XQo44vPJHsY+Iqvn3EwCcyr5c8saL4SU1mtyK3/Vn4ZTYz2yu95zdfVT1907CtFXTwpwjS1hByEaa2TCSOQ8xB1OT/4S8M/3rbQRy/VFa3uAs8/xu6TNiQ9V2vCmGBBulB2FnDuIM4G2jF38XN5EpyVnzNmgXuA3vBAarH7XgxwZheI29zcir3ht+x1yiq9pKAAoWUrKO/CMYyj7Wievkktqi2WMoxTYmIczWyDLjbgvC6riTACeykWJ/j8B5Jg6U6/d+0iltIqyK8vg7K6QpNI0TyEe65ydi/meWYTLE7PEQqOzSQbyPOLILp82/PJMZMA9Amb0CRS92X5PuFQKqnlU7I1afYtaMe1v84/mJO789gp7AepoQfH1T9XnRpdgdHUlHHIHXfZiLyNqEFZCJvB4ESQcc+To8jxR+NxcR5F8eY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR12MB4130.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(6506007)(2906002)(6512007)(26005)(53546011)(508600001)(8936002)(4744005)(86362001)(2616005)(6486002)(31696002)(5660300002)(83380400001)(186003)(4326008)(8676002)(316002)(54906003)(38100700002)(110136005)(36756003)(31686004)(66476007)(66946007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZkhOTmFaRVdpSVZUdXVqeEdRSVF2Z2hIUFFCUEpjZVFtV1h6UC9HMm83aisr?= =?utf-8?B?cHdvTjJzQU1qd1ZFR1krOUZCS01XREovNVhBejNRMTlRQTdVSHBJTitsT0Mz?= =?utf-8?B?ZzYvM0VjeDFsZkR5alhBUWVRYzlrQWJMTlNQSytyOElac0dWQWFCaFBsTUFK?= =?utf-8?B?RS9FV0JtNWJKaFNBSHpqeWVWaE9YT01qcmdqcXZsNXNkTGw2NUpvR0FqUVIz?= =?utf-8?B?VGt0b2V5NEMzN3V2eWsweDV1RzdTaU1lNDZOTDlpRnAyOTg2UjBVK2twVlht?= =?utf-8?B?NFA3V0xBNHhrVUJ6eVZtTkl2aE16ajlqWUwvc21qeUFiUExPS1pleDlHUHM4?= =?utf-8?B?Y2dVNWNuTE40UXFNN1ZZbkkrVzFLU2tlTXl0cysyZ1pXbkpORnVtemI3bytt?= =?utf-8?B?eG1HdmhwUWNmbXdUbzFPdkpFNVNkRlkwbUZIOHJDZVRaa01qamxZajZIaHpI?= =?utf-8?B?dFFOMmhrUFMvUXZXUjdJZHpyRklRWVlEa3ZkOFIrMzlyNzhNU0hudHl3N0pq?= =?utf-8?B?TFdYcDBZK0ZoNExrcmhDblBlVFJKeEJBYldyVHk2U05GMTRpYW9Qcnlob0NP?= =?utf-8?B?YjJJS1RVTVNHN3NXdlpIOFdORGZUanIzaWYvajB2cUkvVkoraFU1dy9UWStX?= =?utf-8?B?b05pckVhcWhwYzdoVkJPVDBDUW1xV0swL0xhZlNFMG1BZDd6YTNTS24yRlB1?= =?utf-8?B?Wlp5aUNRY2lKbzZpdUJVT1RFVTg1YndnQ3ZOZUJZakVhbVZqem14NkVmdnll?= =?utf-8?B?Ny9JQzJQc1Z5eVJpSE5oYzJWRHNMVDBPNDRidWd3RUYxL3V4dmQ0N1JLa2Jj?= =?utf-8?B?QXZCN2dFcG1zQVpWamxBcEpYVnBnVnA4ZE9tdTlHNGcxdStVd3FiOE1rcHVa?= =?utf-8?B?SUhHOXVtZ0NQN25NMytSU0FUZ0dpeWdqcUhRNFhUSjFzOWtva2VEaXhvOTRu?= =?utf-8?B?V3ZWK0ZXODZCbXhDbUp6NVNYZll4SlFXU3hqMlNKUUszVVFNOUErU0lxc2l3?= =?utf-8?B?UHBnRlRBcVlRWkVUR2drUDZDVjlFcHVPdFRkUTQzQm1DZE94TTdheTBsM2dG?= =?utf-8?B?TXArY1ZTdzFvYmltdzliaHlaZUtnVS9sUUZ5S3FmaEUxalRwcnpMUVZtaEtu?= =?utf-8?B?QjIxV1Z4TU1VaGZMSFBlRjJtdlNtZ1dVWDZxcGk3RWYrYk55aFFSQm5XNUpQ?= =?utf-8?B?UWtUVFZaMmR5MVUvK1NseVl5MUNmN1EwSUVkMHpJRHF3UzlHaG5VMlM0Mlpa?= =?utf-8?B?QW1COHdsWG5YeFQrdkd0ZEZ2cXdmY0pkTDVzRWJ6alpMbkRPbUYxc3ZlVmZC?= =?utf-8?B?ZkdZV2UrdE1EVTBZOXRZN25KeUZqMWtLc2RrYTliTGsxRVJvUnkrYzV0Y08y?= =?utf-8?B?NjhVa2dpaE9vRlJqZ1hxL3Q4cEtLaTVia0R6cWxJZ0lwQ056Q29LV2xvdmpj?= =?utf-8?B?UVQ1WmJPVWlOZHFiOHhURjFrQTliVnoyOUxQQUJ0OWJRbXN0b1Ruc1VUTU1S?= =?utf-8?B?aUd0ZUJlL2EyUitocmlPM1NTNk8xS0d5SDBMaGpVVWo4MVhNZGxuRFRtTFF2?= =?utf-8?B?TG1yWjF4WUt2REQwS2NlUzJVSGFWS0QwQVg5Q0hhMG1xNDdxT3J0Z0RSdnVJ?= =?utf-8?B?WWxUNExkbjJLc0lia2k3Q1N0YWYrRVlFM1hrYkppbUg4Y1F1TUZjaDdTT28w?= =?utf-8?B?YzBMZVFoZEdGSWxmT0ljSG1Da2Rwc2p6UU1vZXdpRDhpSytIVUtrOExsTXBi?= =?utf-8?B?OHlLWGlNbkVXSkMvUFVSQjF5a1l6WHkxbGd4L2puYUtEMXFWYXJPcTdqejZm?= =?utf-8?B?OGRSRzYwNFp5dkk0S0ExWi9BVTgzditFY2s0V3gvc04zczB6NFc4VXMyMEpN?= =?utf-8?B?N2s1U1RRMW1oNllCYitPU1JaYjdUZDM4RkFQTlMxN1JFUFJlWVFoRS96Njh4?= =?utf-8?B?dnd4Z1A0T0ZkL0Foa2czbStzSW01Z2pjZjkzNEFIL1ljNXRRajZWYm1ObVQ0?= =?utf-8?B?TUVpaHRxNllWL003a29OUmYxakFYOXpvN1RGR3RBUk1lT004emp6U3o3TGIz?= =?utf-8?B?RVhlTTVSOCthRlhzV1ZTa3hFK1d3TEUwbVhqbGZPQU5qdFU2SHY2cWpnSEgv?= =?utf-8?B?NEJvdTQ2OXVLdVg2R283SkllY3BGUkc5ODQzR01kREl5UHpPT3E4VFBORDln?= =?utf-8?B?RXpMOXV1WVdndkVJb1FYZzFlbG5XNSt1VVlQVlREZkRSajRLeVFwaUFzMmt4?= =?utf-8?B?UEZXSHhGK1pscEl6YmY0TFZDbnBBOWQxc1RZSmNLTzFUTk44cnNmUnNZWFBm?= =?utf-8?B?Vm8rSm4xNExlYk8rVTQwZHpGM1VBOHJwa1JDRE5jMVFBd0xieGxLbXVOdHR2?= =?utf-8?Q?L7C67WZUa9RyqplY=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3553d66a-0bc7-4b61-c21f-08da4e461916 X-MS-Exchange-CrossTenant-AuthSource: BY5PR12MB4130.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jun 2022 20:40:20.4288 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: vHUvIONb8JgrMqeHkv+30wda9wm6Ji1pUurcqVAezwkMJhi0RZHoWKOzaNBtc4d4WZgDXLRoMUe1+gmyw7VHQg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3622 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1655239222; a=rsa-sha256; cv=pass; b=vHZT2iR0QMFiZx0h4r2gsLenGBixWutTRTMii39Hcv6vK+/165g7I/DdNR8u/yEhO9GbcF 2THBGIXfq8+WR2BmogpMIcCB7GOG6TpKzqQbRjRMWrJLswz/ZSF4WPVS2qYvtzjeSjcPz2 24aqKySeoJ7QcscqAbUkdYl0IcxP0e4= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=KdSFMaaJ; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=none (imf22.hostedemail.com: domain of jhubbard@nvidia.com has no SPF policy when checking 40.107.223.85) smtp.mailfrom=jhubbard@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1655239222; 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=8QgtI0C5HNaW4RidFe4uGuFMrxN9CdDGz+8ZWHccW10=; b=vJeXtaQm3dN9DceB0oOvQe7cyZ6zQOfm9mElFdGt0kf7Ogo1lwRt2pxPtG3jnG+BfzaHrK 3XMgXRtOtdKgul8Q0bksfTSxSurYqUdLkmcfrNU3I2BQTikBH8sCk7nxTfSfvoY+aACbu7 EWrXXYk7XyBGXYlAf/7ZZ9+Fizd51HY= X-Stat-Signature: h5ro7jgwxyn7hzaccojjyn66u68omy64 X-Rspamd-Queue-Id: B1185C00B1 Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=KdSFMaaJ; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=none (imf22.hostedemail.com: domain of jhubbard@nvidia.com has no SPF policy when checking 40.107.223.85) smtp.mailfrom=jhubbard@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com X-Rspamd-Server: rspam07 X-Rspam-User: X-HE-Tag: 1655239222-801164 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 6/14/22 11:56, Mike Rapoport wrote: >> But, I cannot take it anymore: the list of arguments for uffd stuff is >> crazy. I would like to collect all the possible arguments that are used for >> uffd operation into some “struct uffd_op”. > > Squashing boolean parameters into int flags will also reduce the insane > amount of parameters. No strong feelings though. > Just a quick drive-by comment about boolean arguments: they ruin the readability of the call sites. In practice, sometimes a single boolean argument can be OK-ish (still poor to read at the call site, but easier to code initially), but once you get past one boolean argument in the function, readability is hopeless: foo(ptr, true, false, a == b); So if you have a choice, I implore you to prefer flags and/or enums. :) thanks, -- John Hubbard NVIDIA