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 725E2C61DB2 for ; Tue, 10 Jun 2025 22:25:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D199C6B0089; Tue, 10 Jun 2025 18:25:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CF0E76B008C; Tue, 10 Jun 2025 18:25:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C06B66B0092; Tue, 10 Jun 2025 18:25:12 -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 A286D6B0089 for ; Tue, 10 Jun 2025 18:25:12 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id C9C4BBC10A for ; Tue, 10 Jun 2025 22:25:11 +0000 (UTC) X-FDA: 83540922822.06.BF1A36E Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf01.hostedemail.com (Postfix) with ESMTP id 39C7E40002 for ; Tue, 10 Jun 2025 22:25:09 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="JJ7r/8ny"; spf=pass (imf01.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749594309; 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=jeldsOfLIW+0Hr4bYxPOhI4qHvZBHHNPgSq/+bzEbT4=; b=j3spkuK/sm97PynpcjU41JtY6bics3MAd2z7HNp72c7Ns6+eeU33wu6vuk9m5bqiDOtham OlUOIcQhsmUOcUlUkkyqp9eUviQjdwzHmUJJs6FgtP/brBig/1ht4/H7OAN95IRTgqk2Rg bw1Eybjpj/aRCiokwU9c1oqa8k9s2kw= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="JJ7r/8ny"; spf=pass (imf01.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749594309; a=rsa-sha256; cv=none; b=at+dVmiuMgaeq2CtU3HkYxSNZYesWkMWIRdBY9bpSyDKjXxfM6kS7p8Kg5JFVzdU+Qfwqz dWJLZc+vGoQIYozzb05tWiH+bsPPNs8gtxTkxRlH70Jya468kb7xtqy7vjv+omQTtTRssM 7D6mqFpcCMDYIPlFFi+R9RovDT23cwo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1749594308; 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=jeldsOfLIW+0Hr4bYxPOhI4qHvZBHHNPgSq/+bzEbT4=; b=JJ7r/8nylq9p8XUPBIJoCglrzm6WhcrlLknWRuBFgxYtjwd79OegBviDQd/Lkt32xP6F5k uoPLlsLhVh8aVEoXgg78c8/GwWykxs4rAaEFhMciRGAAbNoiyzOTj85BNJqkrcfl5FF6X0 w7ZWFklfpYdZarPspeiXybSvyxCwTCU= Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-665-n2nxEx0qO8SErqHe2PqaKA-1; Tue, 10 Jun 2025 18:25:07 -0400 X-MC-Unique: n2nxEx0qO8SErqHe2PqaKA-1 X-Mimecast-MFC-AGG-ID: n2nxEx0qO8SErqHe2PqaKA_1749594307 Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4a38007c7bdso128899581cf.3 for ; Tue, 10 Jun 2025 15:25:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749594307; x=1750199107; 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=jeldsOfLIW+0Hr4bYxPOhI4qHvZBHHNPgSq/+bzEbT4=; b=usiLKxGorJDeuFX81Y8YJnKsNAoqBfbzLRbiIJtbk1+eFvTM9kQUeWuX+1b9BxsvrA j6Qyy4gV7ZPUyL6ceYHWMDzxKxnSZoPsS/V3qfqeC27oCL5aUcpSDxERqYrzS7SP1a60 mqZrT/r7loS+DACL/Em0Wto0aBplih3Q1C6cPuv5ZNbjKA1+t161vsTBaJS0FqjL2K/9 KOsKZ+jb1FjvAxdFdD6n4WdVYn2PG8Z9sgOaHb9q+9xxQMvhClX6PHS19Wwc1XHHAQUR vrWCMfiHabomiktP80BdMbJNq4CyURNJ6aWuUfzGEVhj+Dws2O5rcF8EZ4ytMphMf0NV xLXg== X-Forwarded-Encrypted: i=1; AJvYcCWpgY4nNbF9ZSey/CD+B+wwFq10sjoeKWPeyhxXwBdgrbLn9gouaYiXGabOzGUU8kK22qjDSXRpcQ==@kvack.org X-Gm-Message-State: AOJu0YzG8+9fead94JqqZDrAUb+1cbwuCmUbgs3LYTthcyGvO+Ngdvl0 Ok8e7LCLAO/koIi7+pEyLIhEzEI7H3U5D9iC1a1vO3r3UEDXOV8t9G3S6Kcsq1OP5jmIotD/ylV Ll74oh6wTHhTuqEyzNszTFSNYiEnS8sp1xAeixXrXdLd22lQ3W40v X-Gm-Gg: ASbGncuoHoLjpTTpyIT+5o4AVfNPqlPMKvcu5RUZWbQmlhGgASCvJoEbu3AKR07MPBZ w1xCJTqHonGD8hMYUmZneDJtHXr5+LR2iSVZ9mtivvwu1qafeq1awBghqaRd+tVfLiKmvsdQIxG 24yy9ecGI7zJpMvQ+28rtr7MEc2RvqGMVaAnT8h6/bCkySHT17OpM2WqeYKN0G+EbrSGQA1hDPM ZA4GeOkNNmA99bX8IUdXaVtSi9XbXBNuCJH3mcMjTJF0P2IIR/+gVUQYN1zBnPCVjaFajr0NIdw Lqq6o9nzl2Jo6w== X-Received: by 2002:a05:622a:17cb:b0:477:ea0:1b27 with SMTP id d75a77b69052e-4a713c2b203mr19488571cf.26.1749594306764; Tue, 10 Jun 2025 15:25:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEh6veUjTr0aDX8Dk7lxqv8igglcGEC5XvjmK9Q5HpFTvrfcPRBsYoFnhvHMTj0/FgKtwRQ1A== X-Received: by 2002:a05:622a:17cb:b0:477:ea0:1b27 with SMTP id d75a77b69052e-4a713c2b203mr19488271cf.26.1749594306427; Tue, 10 Jun 2025 15:25:06 -0700 (PDT) Received: from x1.local ([85.131.185.92]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a619866975sm78374471cf.68.2025.06.10.15.25.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Jun 2025 15:25:05 -0700 (PDT) Date: Tue, 10 Jun 2025 18:25:02 -0400 From: Peter Xu To: Nikita Kalyazin Cc: akpm@linux-foundation.org, pbonzini@redhat.com, shuah@kernel.org, viro@zeniv.linux.org.uk, brauner@kernel.org, muchun.song@linux.dev, hughd@google.com, kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, jack@suse.cz, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, jannh@google.com, ryan.roberts@arm.com, david@redhat.com, jthoughton@google.com, graf@amazon.de, jgowans@amazon.com, roypat@amazon.co.uk, derekmn@amazon.com, nsaenz@amazon.es, xmarcalx@amazon.com Subject: Re: [PATCH v3 4/6] KVM: guest_memfd: add support for userfaultfd minor Message-ID: References: <20250404154352.23078-1-kalyazin@amazon.com> <20250404154352.23078-5-kalyazin@amazon.com> MIME-Version: 1.0 In-Reply-To: <20250404154352.23078-5-kalyazin@amazon.com> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: HnfBMCIVtLnEhDpvitQmvmrWEYTgkVCKJM-yr0d3FRo_1749594307 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 39C7E40002 X-Stat-Signature: 9psfnumchx3uqkyn7x6sceixbgak1o6a X-Rspam-User: X-HE-Tag: 1749594309-799085 X-HE-Meta: U2FsdGVkX18dHUsLP6hJu7VdgAaqRCRuMvm2Lvc8IPGFlPzAZajaZT0utSZ2H8gwc5+enrkzkpZSBbr4jTtZk4s7sQ7lTqrbLpI+IHNA+HGjhMdFbx4qidgmJBNzmliD273FYXAH936avQl6n91p13f9cHYLtZ2nAV7l6952kR40NCtF0d7Z5XW+8VhaxxQENkBC3fKt6qktgMDewitIJHmRu4cMlGgxZm1XD3ZO9DmwO7JesaywG3LKIsIAdX6glFNAoJm/ubz4NrtOERSorJnaqSNSEV8VkGRa4zFeORCr1EQbCY9Vy998KLkOA7Ua2eJU6xbC2NXEomY94nNINZaLZEva8U0/q6WEN92msc185fUSEDMOrEYR+66edAzgFCV2g0z1G/3pPJVfm5SnbrqapZ2FLX+vJKcRfpXr62wgUd2yeSFr7Oni+hrXwyWmtBeDo3IuROH2SMEtO7roG9JXvkRm4oL134ffQP9H2F6AiivAeyN50hLkYfQuWZgjQ4VlBuaeLqyMerL5OyoDWHIE0dgWI8Fgqi6eoW/Q3jE+fnQGrJZe6MIos6P2Uvd2tuPo8W/6C4y55aazBgL0SMU9RYqGbSLDeBdQfxG3oR5BlCUADUyyrd3+xNOjq9E+eVgy9bH4T62SU7nXmxpH9FALIl909fT8kKsrwfziRrVIicOnY13bktJzpphOuRvLo0eOHz3D1n4PxNPEbglheN8IPCFz/MrVn4etkjc6pP38QI4AfeFNJEsqvDZJDXd6X5wzwe4FTt9ADk4QtD7MXiFxxCo4H09XwpRU9jVydT4poxofGYOgjtBZIsPQWrsm8yjI/26dBh3Zu2B3aHttXSOVkOWBxWi/Oexi98VygVwb9nqGClF4sa23o6guGzTrnyvft2o6gIXMNfMw+BmV4ng0MPgGO6O2y4+/Hu6PSzMi3HFonf7+orRE7NJ2DvPO3AirCDXHLMcmX6WGWmf cz2WfmNK EHhL2Awt/8v+7TB8KYYKJngFC0hmaipKeYCKQZNPkCFeLRtRWxjunrpPghynBNa1U9BnqZFUyaXixPI72hgJfU5syoJIz33eV8BKV/P6wbB5APe5w7+pbO35Nrer5hlC8yhOo107flWJU/bqUQ+lK+r9nBevxkjb7HGz/or9vDGOHSWwNtHDBiI+s4zboa3YhJScSa1tc9uAXseVS8S23JxSRkOPncmL7SHw5KJDWj34SGqjmtjK7IfM4R2YJVQPYLiOi0XceSN5HHUJ/v4cbrDRWtLhNLB0gGTouEM/fy/TH8U7yCWzq5xarI85WsE20RxSBuSExLEGp+CFIWE8yl92pzdt/GYIhtaI++IBd4lOAvOcoB8og/rIjZQTiATwu3GqZ0lTGguAVJ6xIi9Dm1geH8W6xuGKoN9lWuaLtGYOY53X8pXBoGycCZOkvTIrHq9ey 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 Fri, Apr 04, 2025 at 03:43:50PM +0000, Nikita Kalyazin wrote: > Add support for sending a pagefault event if userfaultfd is registered. > Only page minor event is currently supported. > > Signed-off-by: Nikita Kalyazin > --- > virt/kvm/guest_memfd.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c > index fbf89e643add..096d89e7282d 100644 > --- a/virt/kvm/guest_memfd.c > +++ b/virt/kvm/guest_memfd.c > @@ -4,6 +4,9 @@ > #include > #include > #include > +#ifdef CONFIG_KVM_PRIVATE_MEM > +#include > +#endif /* CONFIG_KVM_PRIVATE_MEM */ > > #include "kvm_mm.h" > > @@ -380,6 +383,13 @@ static vm_fault_t kvm_gmem_fault(struct vm_fault *vmf) > kvm_gmem_mark_prepared(folio); > } > > + if (userfaultfd_minor(vmf->vma) && > + !(vmf->flags & FAULT_FLAG_USERFAULT_CONTINUE)) { > + folio_unlock(folio); > + filemap_invalidate_unlock_shared(inode->i_mapping); > + return handle_userfault(vmf, VM_UFFD_MINOR); > + } > + Hmm, does guest-memfd (when with your current approach) at least needs to define the new can_userfault() hook? Meanwhile, we have some hard-coded lines so far, like: mfill_atomic(): if (!vma_is_shmem(dst_vma) && uffd_flags_mode_is(flags, MFILL_ATOMIC_CONTINUE)) goto out_unlock; I thought it would fail guest-memfd already on a CONTINUE request, and it doesn't seem to be touched yet in this series. I'm not yet sure how the test worked out without hitting things like it. Highly likely I missed something. Some explanations would be welcomed.. Thanks, > vmf->page = folio_file_page(folio, vmf->pgoff); > > out_folio: > -- > 2.47.1 > -- Peter Xu