Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3302347pxb; Fri, 12 Feb 2021 14:59:51 -0800 (PST) X-Google-Smtp-Source: ABdhPJz6XuMd79yx9JhbQ/VKRheMrr1WkR0gx+1uDdWV+UQl7/2B70P99yeUrhXNoYk4E6/No1Vi X-Received: by 2002:aa7:d7cb:: with SMTP id e11mr2242283eds.176.1613170791733; Fri, 12 Feb 2021 14:59:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613170791; cv=none; d=google.com; s=arc-20160816; b=PaKc4TTamIusRESOJ41JlceJJAxrnBhziViJ5RragQZP0cMEGXfgiK/ZPAeuDKi+nF CpdfX9/Q1XMk7KZf+UHXqRmvlxva+oUjoGHA9GDPQJwctypBojcIBc4ZaCMm5RaBQaWV lG+bm53dCY2JoW/WBQohBrXxcIJjn4Kt+0xaX00df/bwn+RezYule1+IcyjwllzSR2hP 2KFUsByJq9uRT9Tommptwz6Z2oVKF9uuQG4TUp1og1PVYDAtBj/DSxp51WMAMLaGBkkg iwX1wdkbf6kobkEbjltKFPTEE0QRmxRFk7st1sR3SWnKgyKIWifAIgyHiS2GyDZHrqWu qqzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=CzDlzPzKU3YheI9b/NibUr3Erv08+T00iefc2m4bYp0=; b=VuFL5d2CCSZ1+Kw9hw3xY3mRSBxPrMOuAyX72g5yQ99XCpnTtvWX6pqHZjdZETh7lG dFoMj9LlfYxSxjrQltEEckoTbLwfi0TrAPv4Wlmtuqe74lNGMLJHIvuWXmH2qz5grY47 4e/XhCCRXeQnmNXlq33GCgV8uJWh0Vwz7343UZzWceu5bK1fb3H2dCKyJQY5efk2wZZK CeBuiaFRWTqJoWyTkWwhRcclNwhcdsDq4AY4DgUie9qSRz4q5DDC9v22lxy4dp602nLA 4KB5QkiODr1h5HNJjlVjJ4fjioVRcwb/4kXJApGczPNH70RDTVH5FwFrHfikeVuQKpgn qGGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=Wr+212K+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y6si8061744edp.196.2021.02.12.14.59.28; Fri, 12 Feb 2021 14:59:51 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=Wr+212K+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230053AbhBLW4R (ORCPT + 99 others); Fri, 12 Feb 2021 17:56:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60904 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231470AbhBLWwg (ORCPT ); Fri, 12 Feb 2021 17:52:36 -0500 Received: from mail-il1-x12c.google.com (mail-il1-x12c.google.com [IPv6:2607:f8b0:4864:20::12c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 86F62C061574 for ; Fri, 12 Feb 2021 14:51:55 -0800 (PST) Received: by mail-il1-x12c.google.com with SMTP id a16so671671ilq.5 for ; Fri, 12 Feb 2021 14:51:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=CzDlzPzKU3YheI9b/NibUr3Erv08+T00iefc2m4bYp0=; b=Wr+212K+q+ykejSfO/y9AhAJc3j57hC3tdALgV+si3kpw3k2H7yiMirkDqF8javOti riEmedN1Oy/IM2jPVlR/EuOuGaY94jZoBwUo3d4hWk3TEId5RBE6LY0gXh4FOCDVsjTh hUz8UgFAirqegSXWX8/zBc3FI9fUhMAttLB7uHN/s2+bSN5iQUtaEFHMh79qCQ/SWdvX VIN01kyYrEOVrxxgnLx1siMvwRkUwvvZBgjNqsOqQG5BY/n7HqPpm8o8Q15a5/MXwPBH RQ+c9I1kHWYlRwskUJwHY1604M1pux9k0qZm0DkoTfanMnFLr49VaQDd4f2xAmMdSigq fVGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=CzDlzPzKU3YheI9b/NibUr3Erv08+T00iefc2m4bYp0=; b=KzaAQC9EVaORBhaT3snm+eQj/fn1lL73rtUCFS3uwUqxMZ5l5AbHhV5QOB1bvvu7rm vyd00sdTBosKMglrPuiG9XHmGIHfP4UBe6Xk8ZHz2b0TYmhKtt+icGiGdrSmMK100CDg RzmDD/mQDkBsEvWIQoeo4aQugHzhuGP1QYb5i1ENdVzJmq2j4IBihJuKpGrtMKm6XZDh B5PieaiGmlrFiVUT4GCLvlRhlTuPAP+zIxCQIBXcqsSRCfIoljbaRc/Ct/RIan+7vjho UgJLEG4aiWa9HxP7gLNgIH6C3oBgBYN/D5ZARQlREJxz9PFtl+HnFeyzHwTRvvWJxVCA KlCg== X-Gm-Message-State: AOAM532KurGsFvCoIdgpZiouiwROoW8mMXWfWzin/BmOiepDPKbuX+/8 I94ZxCgTf7kXjGkGMYeUUYWDDt8RcH0GZdauGmxfmg== X-Received: by 2002:a05:6e02:194a:: with SMTP id x10mr4196424ilu.165.1613170314792; Fri, 12 Feb 2021 14:51:54 -0800 (PST) MIME-Version: 1.0 References: <20210210212200.1097784-1-axelrasmussen@google.com> <20210210212200.1097784-6-axelrasmussen@google.com> <20210212222145.GB2858050@casper.infradead.org> <20210212224405.GF3171@xz-x1> In-Reply-To: <20210212224405.GF3171@xz-x1> From: Axel Rasmussen Date: Fri, 12 Feb 2021 14:51:17 -0800 Message-ID: Subject: Re: [PATCH v5 05/10] userfaultfd: add minor fault registration mode To: Peter Xu Cc: Matthew Wilcox , Alexander Viro , Alexey Dobriyan , Andrea Arcangeli , Andrew Morton , Anshuman Khandual , Catalin Marinas , Chinwen Chang , Huang Ying , Ingo Molnar , Jann Horn , Jerome Glisse , Lokesh Gidra , Michael Ellerman , =?UTF-8?Q?Michal_Koutn=C3=BD?= , Michel Lespinasse , Mike Kravetz , Mike Rapoport , Nicholas Piggin , Shaohua Li , Shawn Anastasio , Steven Rostedt , Steven Price , Vlastimil Babka , LKML , linux-fsdevel@vger.kernel.org, Linux MM , Adam Ruprecht , Cannon Matthews , "Dr . David Alan Gilbert" , David Rientjes , Mina Almasry , Oliver Upton Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Feb 12, 2021 at 2:44 PM Peter Xu wrote: > > On Fri, Feb 12, 2021 at 10:21:45PM +0000, Matthew Wilcox wrote: > > On Thu, Feb 11, 2021 at 11:28:09AM -0800, Axel Rasmussen wrote: > > > Ah, I had added this just after VM_UFFD_WP, without noticing that this > > > would be sharing a bit with VM_LOCKED. That seems like not such a > > > great idea. > > > > > > I don't see another unused bit, and I don't see some other obvious > > > candidate to share with. So, the solution that comes to mind is > > > > it'd be even better if you didn't use the last unused bit for UFFD_WP. > > not sure how feasible that is, but you can see we're really short on > > bits here. > > UFFD_WP is used now for anonymouse already.. And the support for hugetlbfs and > shmem is in rfc stage on the list. > > Is it possible to use CONFIG_ARCH_USES_HIGH_VMA_FLAGS here? So far uffd-wp is > only working for 64 bit x86 too due to enlarged pte space. Maybe we can also > let minor mode to only support 64 bit hosts. At least for my / Google's purposes, I don't care about 32-bit support for this feature. I do care about both x86_64 and arm64, though. So it's a possibility. Alternatively, the "it's an API feature not a registration mode" approach I sent in my v6 also works for me, although it has some drawbacks. Another option is, would it be terrible to add an extra u16 or u32 for UFFD flags to vm_area_struct (say within vm_userfaultfd_ctx)? Historically we've already added a pointer, so maybe an extra say 16 bits isn't so bad? This would avoid using *any* VM_* flags for UFFD, even VM_UFFD_MISSING could be in this new flag field. > > Thanks, > > -- > Peter Xu >