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 09070C48BF6 for ; Mon, 4 Mar 2024 12:36:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 843476B0074; Mon, 4 Mar 2024 07:36:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7F2FF6B0075; Mon, 4 Mar 2024 07:36:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6B9B06B0078; Mon, 4 Mar 2024 07:36:18 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 5673F6B0074 for ; Mon, 4 Mar 2024 07:36:18 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 1FEC8140A1A for ; Mon, 4 Mar 2024 12:36:18 +0000 (UTC) X-FDA: 81859304436.01.BE4DD88 Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) by imf17.hostedemail.com (Postfix) with ESMTP id 61D7B40012 for ; Mon, 4 Mar 2024 12:36:16 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=pReorS11; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf17.hostedemail.com: domain of qperret@google.com designates 209.85.218.48 as permitted sender) smtp.mailfrom=qperret@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709555776; 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=2tCjt8GyebtBYI2Xvz8sUiEyWim1o0bzRB2XeH8koPM=; b=4lZaN++Vo8NxzjYuNtOGX6n32ajIRv7JNQOVne6H8aGjrTWlxH2RyxbnYb56gEUzOVPbOA L6J12HXgcQSdXTQrs1QGwW6ao0Vzi+KwKI2cdV48GCZS26GcOt2XCadyI2qsn7HXjSVcee fDw8X32u5A/RA9+89tBzyNghyq2TIYA= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=pReorS11; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf17.hostedemail.com: domain of qperret@google.com designates 209.85.218.48 as permitted sender) smtp.mailfrom=qperret@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709555776; a=rsa-sha256; cv=none; b=cRVeFEkRkIn7Y5GjkSMfLgqe6oxOIeH+Mnt86NlFh9Kn9i0vWYrVnYn6kYnZ2+H0BKRVVr HxIKeFGaPG4c1RH3jEE8/0OlWqYPhyrqo6gBL5zKdOSpuHmcoosF5bQSt54JNwOULB10Af fVKfNY3w4KqgvKoy+nFIClcXJlUvdmQ= Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-a44ad785a44so322990366b.3 for ; Mon, 04 Mar 2024 04:36:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1709555775; x=1710160575; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=2tCjt8GyebtBYI2Xvz8sUiEyWim1o0bzRB2XeH8koPM=; b=pReorS11YeqykkDzKwD2iN5kEP5mXpKiJ6i5LOsStCKovzh0hLVACBP3grCN1FNO0e /ZBN0VJIX5MjDbGw1wJv88KkMEL74Ist3nGYnbfMnNAFVRuYhMWUMZvNqcLpNjw9M6At RbOUzM1Ynwq2A7TLFkM1o1va6rRet0GVVSTfOMFNPq99xOeUWli8M4rNPBcFWaupWRy/ iTuCsfzM1ohcGh3J3e/6tvoXd2nWd1NNyYsJTQojqap4V5IRYp72i1IQA3CXagfe6QK/ wkbqdKfC6+NqM40jLabfNF8HpA4QgvmRBz5khuOkHLk2lwrdmwT7giEzaGPTtz8J+INJ sIvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709555775; x=1710160575; 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=2tCjt8GyebtBYI2Xvz8sUiEyWim1o0bzRB2XeH8koPM=; b=ABv1DUb6sAqi0dY+iurPomSfCG/5l0mFBd1pmGOdS0xFtZz/0IItS+UsseDl7kzW6l OGsnQtoyvfeq+c1W9lasdF3IayfN52S8jbw2MTc0CRQkwCGFiLB9xqMKVY+5a5Rbqcp+ QKuBYaykSeULJN+Q09zWEq4OVDynvrt0VD15SWwsZIZjfOBG1BxC03XxoHr1Dtdc2BXK YlRP1JACpdA7wxCEPOos5O9yntOwaSGegzEScKxBLVuydCtGLMe5G1Nv97c/PK6Jl7KC IX6cdn7tU4pFY6z9W4+yusjTMFdilKnc/674he/01Q/FEqpPXTt44KDrj4jfaBRL5Tk4 BX8A== X-Forwarded-Encrypted: i=1; AJvYcCWHi8xb9JsI07OnkZF7d8/BYtUYhJ08pUDAKXedjmV6nd9i3IRJa4jh7yvKkggH/13xh5b0rTWCKmeG/Y9c9ONQpM0= X-Gm-Message-State: AOJu0Yx3Agen+zS/cLHG20CpPRbKlKNp8Plre+v1cur815E5bk/IRCaI MBHH3Ay2sTi8ZK47cWx3NrVxfGS81LBvDRoRTASU6YIk8E4+MQDSKODubkXkBA== X-Google-Smtp-Source: AGHT+IF1Zf9BQZ8KhCs5HjLIj2UtmVes7lW/uaj/8C5cnvF9YC3mnsB1KcFgOCmmOgM4AgU2QoLqYg== X-Received: by 2002:a17:906:a2cf:b0:a3f:33b2:5ce2 with SMTP id by15-20020a170906a2cf00b00a3f33b25ce2mr6696648ejb.35.1709555774688; Mon, 04 Mar 2024 04:36:14 -0800 (PST) Received: from google.com (64.227.90.34.bc.googleusercontent.com. [34.90.227.64]) by smtp.gmail.com with ESMTPSA id j11-20020a170906830b00b00a44c723472bsm2910061ejx.57.2024.03.04.04.36.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 04:36:14 -0800 (PST) Date: Mon, 4 Mar 2024 12:36:10 +0000 From: Quentin Perret To: David Hildenbrand Cc: Matthew Wilcox , Fuad Tabba , kvm@vger.kernel.org, kvmarm@lists.linux.dev, pbonzini@redhat.com, chenhuacai@kernel.org, mpe@ellerman.id.au, anup@brainfault.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, seanjc@google.com, viro@zeniv.linux.org.uk, brauner@kernel.org, akpm@linux-foundation.org, xiaoyao.li@intel.com, yilun.xu@intel.com, chao.p.peng@linux.intel.com, jarkko@kernel.org, amoorthy@google.com, dmatlack@google.com, yu.c.zhang@linux.intel.com, isaku.yamahata@intel.com, mic@digikod.net, vbabka@suse.cz, vannapurve@google.com, ackerleytng@google.com, mail@maciej.szmigiero.name, michael.roth@amd.com, wei.w.wang@intel.com, liam.merwick@oracle.com, isaku.yamahata@gmail.com, kirill.shutemov@linux.intel.com, suzuki.poulose@arm.com, steven.price@arm.com, quic_mnalajal@quicinc.com, quic_tsoni@quicinc.com, quic_svaddagi@quicinc.com, quic_cvanscha@quicinc.com, quic_pderrin@quicinc.com, quic_pheragu@quicinc.com, catalin.marinas@arm.com, james.morse@arm.com, yuzenghui@huawei.com, oliver.upton@linux.dev, maz@kernel.org, will@kernel.org, keirf@google.com, linux-mm@kvack.org Subject: Re: folio_mmapped Message-ID: References: <40a8fb34-868f-4e19-9f98-7516948fc740@redhat.com> <20240226105258596-0800.eberman@hu-eberman-lv.qualcomm.com> <925f8f5d-c356-4c20-a6a5-dd7efde5ee86@redhat.com> <755911e5-8d4a-4e24-89c7-a087a26ec5f6@redhat.com> <99a94a42-2781-4d48-8b8c-004e95db6bb5@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 61D7B40012 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: ndpteb57qnnqzd1t1teesq5pyir8s394 X-HE-Tag: 1709555776-687609 X-HE-Meta: U2FsdGVkX195KOqkf7fTFs95rdChbGX0lGva0oHTJm6d85KrvzSJZfPD8M6rsnQOmxlGuWObFSjtO1yPOG8K23cySzON/JcGHLlP/uB/aLbFnv8kKSJbGp9xTvJ1CzNRVyg2dJGlBmO1mBo2OBkh8fwgXKKLI8urWEEhZCgvb4QB7x0xcoiYpS4IoXJxf4D26WLpJyG33V37qaeIQ1Nsci2UIRM+fgE5wQLXEF7iVlXRRwUQJ5bNnS2lndFDPETqYzMfuuVuKieKCmIejzFTIQtKALfrRltxcyMaxQtIrnQEnEqtpoI5b1nrsY5X0KE2To22G03UkXISk3p63gwYlkpDV8tKGGEx5WoBub2Lg6CULtBahkwOHNVvaRNNz35yKpBkv5Jc+7BbDXHkohcLIl1HjC3bIGmUqSMdLdGWusG8Mereu9dnYyl+kioPMfJJ8Cp69+0I5fjOdCy8UpCLy5gw1S5fK30zI1urwvSoFaR8y3mDU25N3efdXwSihpRMjnJALDFDQ5PQDsmOa7d4OptMrL55ACBwZokCk6XEexf1Fups+u4R+jgnkF8vLle/AAzSqmVf7m4o+Wj0KlNPkueJBcAeVQjAj3oL3KWPBYXap3bqI2XVYbHVSc7g2/0WLjiyptlyQDPinlw1tIInq28Kp/hiMdDHMCUuv30+NHW2Sa/eA7B/5sh59HBTxQTFDxUutQqRsjHEgTHehfvPSTY9JW90Vgvf9taKf2E3QTEIrYxlZoTzWvXE2o5x0s07e20dzaqyHBWPQCodGVOQfgXhJNs+6xxdTXDdw7ONjaIS8AC35ULR7Wr+0jGqZ4ZgFfue5StXTwToyPt7xV0vXC0V6fV1oF98A0EKZULtXkDiX1LJKgWRnML7XLn5/I5Y2X1p3IlmfkstfVG7FRti4D9fnZGtOiZB3RFW96mJDvAh3yJNybIOf5MjhYqIoxWvu59lmistUEcwkgCr+2V Js+SaExK OwO/Je3woyWOTgHR4DW+BZFSwF0yVVr7MJkylFni7L3pzwSI+AJBlvF0x1G2kzRjL8PL5IdeapE6MtS5urllyfC4nlR+ZcawgQCOWWFa3Xmr6ktqY3SLvfEtZLnsunF9n2ajtsU9B+ytbAm4F8D6H0y0/4z0krJBQmIzTHnQW11kyuubk9b0zpxLbC9PJwYYglR1H X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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 Thursday 29 Feb 2024 at 11:04:09 (+0100), David Hildenbrand wrote: > An alternative would be to remember in pKVM that a page needs a wipe before > reaccess. Once re-accessed by anybody (hypervisor or new guest), it first > has to be wiped by pKVM. > > ... but that also sounds complicated and similar requires the linear > map+unmap in pKVM page-by-page as they are reused. But at least a guest > shutdown would be faster. Yep, FWIW we did try that, but ended up having issues with Linux trying to DMA to these pages before 'touching' them from the CPU side. pKVM can keep the pages unmapped from the CPU and IOMMU stage-2 page-tables, and we can easily handle the CPU faults lazily, but not faults from other masters, our hardware generally doesn't support that. > As discussed in the sub-thread, that might still be required. > > One could think about completely forbidding GUP on these mmap'ed > guest-memfds. But likely, there might be use cases in the future where you > want to use GUP on shared memory inside a guest_memfd. > > (the iouring example I gave might currently not work because > FOLL_PIN|FOLL_LONGTERM|FOLL_WRITE only works on shmem+hugetlb, and > guest_memfd will likely not be detected as shmem; 8ac268436e6d contains some > details) Perhaps it would be wise to start with GUP being forbidden if the current users do not need it (not sure if that is the case in Android, I'll check) ? We can always relax this constraint later when/if the use-cases arise, which is obviously much harder to do the other way around. Thanks, Quentin