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 13E6DC433EF for ; Tue, 14 Jun 2022 21:59:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1796D6B0071; Tue, 14 Jun 2022 17:59:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1017A6B0072; Tue, 14 Jun 2022 17:59:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E6F246B0073; Tue, 14 Jun 2022 17:59:14 -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 D1C7F6B0071 for ; Tue, 14 Jun 2022 17:59:14 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id ABD7F21132 for ; Tue, 14 Jun 2022 21:59:14 +0000 (UTC) X-FDA: 79578207828.11.4CE00C5 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2058.outbound.protection.outlook.com [40.107.92.58]) by imf29.hostedemail.com (Postfix) with ESMTP id 45232120096 for ; Tue, 14 Jun 2022 21:59:14 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VFW23MDIUpgHODkOj2uo34fOtg6lNbjYd0WhWDUYMHzzSBJRxDZ2EWPlo2p86Zy01J9mZ04TpAIJBuJPZftXGJU7pXF8nNwor+77ZcEnAHKXFTxlCfwknLfdJmV/BdXkp/5vqlDp0cXR4SpbjTLv6uonaoh8CA6ESsFAUFDaxV3V+2jMF0jcfEIJriYIQrSTMjxSbbgS4B+MyWewGNm/HOMkEyeyay4rhPCGO6mNTq+gXqh/SnR9uj0cFcS/9WYPnXmVPCJ3t2VKI/DVVaf/OY/5aXlBsHdBdGGhzFIttP5+8JEC/ZXiMUSqfymRjXn8ZH4duc0gvpHCdLEUnCgP6w== 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=tENEt5JrWFz5AwgeZb0ljhI9IbZU7+qNM4/GAWXsrIk=; b=bD/OMOCHpx7Oq5z9kUY2Jhzy/GdLE9jgehQB6lRlCm4wwXcnk8Irjk2zl139Tw0CvuNVcfmwe0WrUfYdNUoDWzqekuyue8DDA+mXUg2KY2EDMsSi8HqadcHuHCe+gjRUxRIBpuZd/eNw0Ovxtum2OBSMpsFhfRDuUxUw0AdvkFp6eKnkgV729sOy552SqHEK98nzZ5Cb8AONPX1ecE+b4UdbqaHxy1PwELHj6APK3qhyKW89n8kFaSAudwICk90UJ6f71DFdZRsRi0uqi+C03vUpqn2pEXvXU6HWBZCfgu5l5uLzBS1AqjXPYeiXhxrqKNDHaZzgVNgMtsIdSE2mfw== 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=tENEt5JrWFz5AwgeZb0ljhI9IbZU7+qNM4/GAWXsrIk=; b=i4shtwxwVIDQ/rRKPAjbzE+hRg3MxNkqDRcZ/Clk92JUdgwBBzVsM8/iGwoWaRK7aGmsdMG7T0SKooeZwA9xf98Rvx4CgrTUgUHyt93OaMmQ58P/Offr2Kayk41dIssK9u24nRaCj1e5o17FIXvLCzLJx4am/eUAPfWuBh8gW+7lpkXA/QESCrTb6yskjT30dc7MrrS0MNRd6YCaE/AzKynRvKVYn0NKWHGMS+MzQ6UU+BIosTfAnM21s1k2/fVGjwGcxjJs4g5JCjYh5zkUUj3b+JcWq2vhxYT5SUETuLVtNV1uhVg/KIJKIzHSowvtMydXe/f6EimY12ehw+gZwg== Received: from BY5PR12MB4130.namprd12.prod.outlook.com (2603:10b6:a03:20b::16) by MN0PR12MB6174.namprd12.prod.outlook.com (2603:10b6:208:3c5::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.20; Tue, 14 Jun 2022 21:59:12 +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 21:59:12 +0000 Message-ID: <4a4baf45-d43e-5a26-060e-67310a12f910@nvidia.com> Date: Tue, 14 Jun 2022 14:59:09 -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: Nadav Amit Cc: Mike Rapoport , 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> <481fc9d0-6122-bf59-9d04-23c10d256764@nvidia.com> <0BB58ACF-2801-4622-BF3B-9913A23AE46C@gmail.com> <555DA48F-F297-4354-987D-9030688B0E0A@gmail.com> From: John Hubbard In-Reply-To: <555DA48F-F297-4354-987D-9030688B0E0A@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SJ0PR03CA0115.namprd03.prod.outlook.com (2603:10b6:a03:333::30) 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: 0fe16cbc-94ff-40b3-393a-08da4e511da6 X-MS-TrafficTypeDiagnostic: MN0PR12MB6174: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: I/1W+wo1rMAZ3OXFh75n/ZnsQQv77asyJ6YOovougf/UhTqwRyW64g7K6TzV2jcQ2Qb+sO2M+nNnOAVUXqc0+v0ANxCLaNoPhAbZPFFO39PY7Xm2fg9Y826Hg9AF25Wkat0nmgvAWYEyGIzKeVR1+I9ObBqICLMDza5P5h7MLW0RVQqxIBuEiTiqBt4mhQlD7kQSpI3HZ0kR02dtfakMbO+jH6NUcojfHw93+xpiA3TVFUNU7DZ/Iop2eKMsUGVicdw57SFZTjqdc7g7D832Ru6HCQndD+ObMfedwPsjX0B42TA9oSy6hzzfgk3lmbT30l6qzeBvF/N6OLP6aekrn32LHZECFrGkTiV5b9ToumpO20JFgyFXZzT+1UWUret9up8fBRGLevyr9rcbLdMg7CFWcBbFbn8pMMSJHb5kBIfdCZYJsMpDEkIhRXA5YRTC3M/Htva+r7IOv3WYduDmni7lhy9S6kVnBUNRfiUYW8jQtj9veK4XdSyk6bhnIJxqJf0z0+iGJglvTonjygz7PYrEuAHQP4FoLvXvRK7mj/mNkV4zoctIrfYl9QJ8X5yeDZ+rUHFqT/Ov+tTSwJ5pV2nA3HHquK4CgC7h2KXCzt+BChHWSuK6CoxvvEbg7fmsZp45/6YiWOw+N8SwCIxNnElIP2jDnQl5C8tRf3tasz1Cgla96IhLXrufgEB6Ah3U1K3dL0IgYes+HCin3Zng9vJivjBK4CrWZxNJzOf/v8A= 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)(6486002)(4326008)(2906002)(508600001)(86362001)(8936002)(31696002)(66476007)(8676002)(6916009)(66556008)(26005)(66946007)(6512007)(2616005)(186003)(6666004)(54906003)(53546011)(316002)(6506007)(38100700002)(31686004)(5660300002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RVZDNm1yRnZTb3liUXBQMGtjTVJKdVAzdjdGL0RUOXNob3pxNGJuTDhIbHFo?= =?utf-8?B?SVkrSTN6cUFMMms2MzJSQ0NkaURBL3pGeDA0SFA5Z0dEZHlTRWEzUERoRllO?= =?utf-8?B?TE5nak5qa3JLRUN5T09mK1d0RU5KZGU2cjhuQnorS2xRaE15dE80SGtzbjF6?= =?utf-8?B?RmkzREkwenB2K2NDcjBGNkdtcmk1UHJzaWFYVjdSZUs2TnJJd1kwR0xXWlZp?= =?utf-8?B?REY4VFhDN1IvSGdmTlQ2YTNYNktQQzFGYW9TOTRYL2lwbnp3QkYycUhncVdm?= =?utf-8?B?L0I2TytFMlE1UmpJaVBZRzRqekhia2ZQdGF3Tm1WWUpEVWV5MGRLM2xLVDBz?= =?utf-8?B?Uis5M2Q1dmN4RGRoZUtHRXF3N1hjUTE2ZUdPZzRRcnZTNWdWNkl4TWUwYlg4?= =?utf-8?B?UzVuOWNJNS9mWHRnd3U1WTByeW9KL3lzUkhva0xmSkZHUDVMNWNMWXBTWUFS?= =?utf-8?B?bEhZQVE0NkM0OWpBNjg1RDgvU09URmxLUWtQaVZzcEM4MFpGbXdYcEs2eUlB?= =?utf-8?B?ZTBqVEZOdUlzbXplZm54ZmJwUVhxVm1hWkROb2hPNzhmdDVBc3hUZERISm9l?= =?utf-8?B?YVRnbFJTcitXbHkrb3hwOEFSSVdNTXJ6aEtqeDFIL2RzZHpQWmlGaDF4Q3FN?= =?utf-8?B?bnJVWUROR2ozaXVXNXlEWFhyaFY5MTFmS1E5VWNNNGRPS1Jtc3ZpTlFvcUo1?= =?utf-8?B?OUZYMzVKQzlZRFoyaHhzL3BUVy8vV0JxV29mTnZiNUk0ZDRLbDk1S003MXp1?= =?utf-8?B?OUw1aG9laGVkY1FPcUs1dGtUbW9KbldoYWpCajA1K2MraEt3RjZ3MXYxNExr?= =?utf-8?B?SDlNUkpJbEhxNER2UzFKczM3QjcrYnF2S2Z4RUJ3TXYxVFVkZENTZmhYM0pD?= =?utf-8?B?d3ZPRzlVd1JteU85dFd3RUU1NkM3T2FYcVFBYXhiaUovWmNUbk1KZUlvT2Ns?= =?utf-8?B?d2ZTZUliQ3Y3N28vb1FRSDJkamRmNndUTkVpSXZiYVo3cFY5a25nb2NOYkZ1?= =?utf-8?B?d2I4a1hTRWVncFJHYk8wVndJbnYyQWErMHM2bS9LU3N2b2lOQll1d29WMlI5?= =?utf-8?B?bDI5cU5WNk5xODI4elJJSWtyVGorQ2ZtU09QMGZRN2lBcEVXYzhzZU1rUHlS?= =?utf-8?B?d0JoaWl5WkxidS9EUlRIWmFBME5zaVpsZWpTQlJNTU5ONUNEQVpMdklPZkVU?= =?utf-8?B?OUZ3Qm41Mmhnb2o2M3V3MWlnMy9KOGdhOHYwYzNrZi9vd0lNZGYxZ0Q5VTFC?= =?utf-8?B?OG8xcURpanAyN1dPb1pmTXE1RFlyckEvL3RJQWxnbmtaazFFZHVSSUtzZVFm?= =?utf-8?B?WkhLRmlEN1VJNFA5bDF1OElENUFNaVZwWTRlanRrRVppMHFIODlpTGtjUEsz?= =?utf-8?B?WUNFMS92MjJPSUFBZmx5b1hXY0FvQjkxU05SRjNGdFpKZCszT0d5dWIzb3po?= =?utf-8?B?WFlwa1pyZDl4Z2txMlFkbTVBdmhJRXozYVZJbHBTVm5Qb0t4TmE1U0RZVUtY?= =?utf-8?B?WmVaNFlwYTFzS0RQTlNNRG05Z3QySnllMVh5WUtNa1BWWWUwQWxNOFlIczFP?= =?utf-8?B?bnlabnNHeXNNU1VVai96WWtwV0xPb0tjbU0zdWM1Vm00U090VHJic2xKSURz?= =?utf-8?B?YmJCUDE5TjFpQW82c1RBdSs2ZURUTkxEcjJJMHhtdWdHYk5PT0w2RTZsS0Vw?= =?utf-8?B?MzZzY3VZcmJtYkJabm9VdllMd2pSUzJQUFVlNmFhNllsbW5QSTlqcEN3SGFU?= =?utf-8?B?RDNMSEF1T1dWRExGSHhTbFNyYzVuR1F0UTU4MmR1RU5ldUJsNkVVZ25rMzhx?= =?utf-8?B?M2FONHlrckNxSXlmQ1dUeUlYRUorUy9ITmY5cnVNbmliQ2NyNjB4bzVWNzZK?= =?utf-8?B?V1lGNk5HZGpLM3N1UkZERHFwaUlSY0RiemY5aTlZbXliNG0xeXBzWlF4cjc0?= =?utf-8?B?eXVySXBTdm9wamF2TEhMVGVsZ3pEMHNOaUFOZ1B1RzlFV2Q1ZWF6VEk4OUw4?= =?utf-8?B?VGh6TlBpOHc0VXhocEM3MHVYbnZkTy9Ub1dMMHNvR1d1RXFDSzJlTHVsZmQ4?= =?utf-8?B?Y3d0dGdEOEg5WkQxVE9PREIyRXFQdXd4ODh1cm9OYUxJYUlkS3dqZUlZcVRi?= =?utf-8?B?OG45NzVHOC9MQ1lWR2lUNVhPQTJZTmVVbWZac3dlTEZIUnN6WW1kemhhbms5?= =?utf-8?B?b2xZWmZ6cEMvMUZjbWJySDNFZmdsYkZIUkhuU0M3OVRZck1jMUpFY1BQQXdx?= =?utf-8?B?VGdNaGlFSjRXbDc0QlU1dEppeWh4ejZ1MXlveUN6aEtSdTRGbWYvSjh0emRl?= =?utf-8?B?dnNkaXJ5TGhyVGdwcTdOTTJRcm8vcnJsTENqV2tHVEF1bmFWWldKczNTN1Nt?= =?utf-8?Q?Ky+wEKW8jJUp1bhg=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0fe16cbc-94ff-40b3-393a-08da4e511da6 X-MS-Exchange-CrossTenant-AuthSource: BY5PR12MB4130.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jun 2022 21:59:12.4502 (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: vWDo/69f6ek+MyHNhbm/zbET/UzeiP0ivL31tzbCVJQoZFfxZoO1JMQsHcqfg+RgLEHyRmQxAk7PfPg2npeJgA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6174 ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1655243954; 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=tENEt5JrWFz5AwgeZb0ljhI9IbZU7+qNM4/GAWXsrIk=; b=jpCgAUzuoZ0eAV5lreTombNpUu8UZfLDGeBEmv1M9GpAQAR4PoRaMnrIoma/ZMuk2JVAjs DWsdrzuNzlgyAVkFHHF3qraMRDGzNLmyj3Xva7VWfwgacsz3jMpySMcLqPgFRKSVoLb8Rs GlhEvvBaDdJJPY6xmQaWnEF/HeBW9j8= ARC-Authentication-Results: i=2; imf29.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=i4shtwxw; dmarc=pass (policy=reject) header.from=nvidia.com; spf=none (imf29.hostedemail.com: domain of jhubbard@nvidia.com has no SPF policy when checking 40.107.92.58) smtp.mailfrom=jhubbard@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1655243954; a=rsa-sha256; cv=pass; b=oYSJFrdPE0rKK6ASc2HZG1KkFZYPCyh7n1HBt4d/PNjmgJM9X1EtgPdWwDm3o7l2uRYIQo xueB+S2KksWTWGyPovp2nmgMlafje1gmIHncOsbHPmThbcr+qXCgep7x8XpVOqJ6wtekJr P2btuXZVx85YH1m0l/3ZTIZ8+/2cPQ0= X-Rspamd-Queue-Id: 45232120096 X-Rspam-User: X-Stat-Signature: wpngt3y7a7fprdbmi9xxpghzop1jqxih Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=i4shtwxw; dmarc=pass (policy=reject) header.from=nvidia.com; spf=none (imf29.hostedemail.com: domain of jhubbard@nvidia.com has no SPF policy when checking 40.107.92.58) smtp.mailfrom=jhubbard@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-Rspamd-Server: rspam04 X-HE-Tag: 1655243954-9507 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 14:52, Nadav Amit wrote: >> Actually, I think passing around a struct might be overkill, when you can >> simply collapse the various boolean args into a single flags arg. It looked >> like a lot of the new args were bools... > > Ok. Whatever you prefer. I thought that having something similar to “struct > vm_fault” makes sense, especially since it would allow to avoid propagating > ugly arguments like mmap_changing. But I do not care enough to argue. Actually, I think you could make a case for passing around a struct. The argument list is getting longer. I don't actually have an opinion on that point, other than to point out the obvious: if you usually need most of the struct fields (args) in each function call, then a struct might be an improvement. But if you only need a few, then a struct passes up the opportunity to have some function calls that are much simpler and shorter. It's the flags point that I really think you want to stick with, either a flags arg, or a .flags field. thanks, -- John Hubbard NVIDIA