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 43CA2C5478C for ; Wed, 28 Feb 2024 18:51:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CA8C66B0095; Wed, 28 Feb 2024 13:51:29 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C58756B0099; Wed, 28 Feb 2024 13:51:29 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B20BB6B009B; Wed, 28 Feb 2024 13:51:29 -0500 (EST) 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 A012B6B0095 for ; Wed, 28 Feb 2024 13:51:29 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 67780810F3 for ; Wed, 28 Feb 2024 18:51:29 +0000 (UTC) X-FDA: 81842105898.15.14D326F Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) by imf04.hostedemail.com (Postfix) with ESMTP id B711940009 for ; Wed, 28 Feb 2024 18:51:27 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="wwhqK4W/"; spf=pass (imf04.hostedemail.com: domain of qperret@google.com designates 209.85.218.52 as permitted sender) smtp.mailfrom=qperret@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709146287; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=8bUU9vxL3EbRpjfcwEhLlqzq55NSyMMv6BZETnIth48=; b=jFg8pHu4innWoAWArkO9mIn1qT/Ur03o3xVLn6zh56rUVew9bPqCD7LZy0kvgrNC7WEdNA Kq46FzC5rr7Yr1s/m+LsQ7rljD+1o2k9zY2rxOra5TwaWPiZ2UPmWO4MtsvHWI3OgnpVxz d1fdnBREariz90cN/XBPIBW6j6A7BTU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709146287; a=rsa-sha256; cv=none; b=1wCzPcX21IQQVVP4qtzodnes+O6yjDrb9Q7ehdEcF1G+x1ZURY9PF5uMa6tPlEknA35eey TUSkwYuyOrzcOcgD+0hYYZJKmzULAV0ONYaafGUWW1RNSKQBnef4FHsiBjlF92MxOTfwfl Zyd6NmYAaUAByfo+dqcYYy7pV3npkRw= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="wwhqK4W/"; spf=pass (imf04.hostedemail.com: domain of qperret@google.com designates 209.85.218.52 as permitted sender) smtp.mailfrom=qperret@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-a3e550ef31cso14245466b.3 for ; Wed, 28 Feb 2024 10:51:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1709146286; x=1709751086; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=8bUU9vxL3EbRpjfcwEhLlqzq55NSyMMv6BZETnIth48=; b=wwhqK4W/rhjPjPm6CPUhtut+ywksUc8SfikMyICjiZ+/cVej/BJVw9KchttgaurDPz Irx/X4fxLD0GYOUdtl8tvfmWou2oDNhE6wq5cr0NhXprwnegTcMRCMHGl6ECBENWASVV 2T2xAs1QJA1FEdGF6dldMslSAAPRZeDdzXXK/DfCnRsCCfrPY36ICnwtAA9+Qao70Pd3 5vOemLxtkuKFUag1VkApwNmX/wxPQCG+secZ2qhGX70qsoq5Q+v/L0s7klZ1ziNIeXU1 aOEU4GZm4pvUkSDXEw3cXwSLWlXGtUCkJBNFA7C2v7bWjmMLUP9vY4g9VqqZHXtl4zjz HgOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709146286; x=1709751086; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=8bUU9vxL3EbRpjfcwEhLlqzq55NSyMMv6BZETnIth48=; b=Zdbd7VZD3r+EIUN0+gsIVsZorby4Zv89PNe7BGR53F9H+WiJNgwoD98UWQAVIekUK0 D2gGk+sYlObWz0wMCIa6dpAkpgnRcPiIytFA+f0RTKBleNPwQR8t5AQ5gCWy/smZa218 0CjDpJNzfmmLI0D0JJRjAIOfOORaa/xwP4CX5iU2OxJC0859R+ajbZevut3IodoBLPz2 2ow65kY2SJ10Mi5Tq54MPuU2eLheDkCQjRfC4u58+gPWPtwDh+1M0kxTqlcGBsIIb+kb QcF+vt7FeMarb1SYL/XAgG7kPmdHkMdGa7CgBrBJ5cQQh08MYEDTYYSGwM/GR5cVq/gB ec7Q== X-Forwarded-Encrypted: i=1; AJvYcCUyNIG5FMVxjZ+JK1PgPMbsuV6ZLUmVNQ2VU6qm4YHsSCJLmpAklHvPN4vz4GRYFuQNtkE8LoyfwhHPji7oJGr+BqE= X-Gm-Message-State: AOJu0YxhEtPlFUmB1ggcXLco5a0fcQB50iz29lsDyHjvG9atauCklIoR zjEH8WzOeE7iiS2tsBnZlNU5OdjJzDCqWwiiuNw+shmNz+/Cc++EcbVDdheYvQ== X-Google-Smtp-Source: AGHT+IEtwSf3qPuOOfonBBPDQ2VrRKKhizXIywYMnMruTb0VkmhsBu5Qhusi2AHAlbz6PjN7AH2IWA== X-Received: by 2002:a17:906:d8b2:b0:a44:17c6:a54a with SMTP id qc18-20020a170906d8b200b00a4417c6a54amr389666ejb.35.1709146285996; Wed, 28 Feb 2024 10:51:25 -0800 (PST) Received: from google.com (64.227.90.34.bc.googleusercontent.com. [34.90.227.64]) by smtp.gmail.com with ESMTPSA id tk7-20020a170907c28700b00a43aa27b5f2sm2003321ejc.94.2024.02.28.10.51.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Feb 2024 10:51:25 -0800 (PST) Date: Wed, 28 Feb 2024 18:51:22 +0000 From: Quentin Perret To: David Hildenbrand , 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: 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> <20240228103842643-0800.eberman@hu-eberman-lv.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240228103842643-0800.eberman@hu-eberman-lv.qualcomm.com> X-Rspamd-Queue-Id: B711940009 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: zo6zaj6g3q6pug6if47zgx84pgbdppqd X-HE-Tag: 1709146287-375226 X-HE-Meta: U2FsdGVkX18rrQGcLV8Ab4ZAg7VQjJuT8EiQcllmrqxgmP/Bt+vdlJ7uQUVyKrePehoObgYY/y0ZPiTIxpISYpJiiIXDBIS2B/1D9geAMcdiaMzczXtPnntbGUgqN8FTztI8WrsO4P5YGWFUWW5Uf8xlxX7FUnCs33huWhmc8skzFsn4oYmHOzVVypn8FKptOKX5jW5KBm1A/82td5LypT5M0Px/1b2GqCarXumBPEJdM3vMQbQLc8x6CzdvIsWvXBkfppirTnwHAbzOslqr1qOO8/UBanDTgekqJFQ4rr6HnpQzM5JyWs/DvhlY0kVUm8qmjYqm5lsQpHO0Le5t9dFT98ibQgZ+JlmbR4/f/Tmxqg0BiRdPjsYaeUuP1JtOJgRt/RZk1CFQzlxBQaWh4KB8rQObSWNc29To4inPcZHjmhp4bEAPUaxPOJb1AMsa6w19Q6vgUlJkPcNeK/rwPJK59zullxjmLQUOS1fZLbD8ovBBGcvb/qLF/h+cZzfMkj2zVpzmqoJa0qLYWjjfMxbeZZ4BQWaQSRXDuHCYAyxTxbIWOLr+2lPHFOBFA5DxpxlBZM1R3F+PNwiFQP9zvQwRosAI46ODnoyPegzwobW7374gmYU2TN46IFzU0yndBOfT7mNn7L0lcLxKMo1J0mdYSFNUxNo5+PRLNPmR5MTdkXWvnbQTK6zH7Q3UCW/nyR74e9RXtO7apF4NqPgNMIpNZPKx9MeK6KV4pMWSbQd3aq2eW19xQFrTLhwBeQSgy+t0I+IVGWb5RFRxOdGRd/rn/QfE+4wl1HwCk+zVNGemZV38luskIpSLYU2n9g5SLIbOKQBIWNr5W7uNlrEZSp3aaXtjxNzZ85V/ghIEb6k/mIFLxLw3RZzSj1FnsMK+U1hQb9dRLpKxxkL3AM68sDah8hdRTcfrd4ro3u93OzfBqUpfjoFfhNUnwM4AnNWClluMD1AONrpcS4vz3ch 6LURaT9p 40atRV3UEP/znZLwsV3LTRo0XXZRHP02uWBl1bNWMkSe6P68MTbU33e8Vcl4Z5Lhg9itqLN/dX4Ip8WmUVQa3WyVREr69CBoIpFDyRN4lv24kLn+PcPPeaDjiZjZQXnoyRvRcLCd1rj5UQKB/TS2PohjA9M0gX1dcer0pcbh+ch81/7ssPeb35f0C4htXqM3gLr+S 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 Wednesday 28 Feb 2024 at 10:43:27 (-0800), Elliot Berman wrote: > On Wed, Feb 28, 2024 at 01:34:15PM +0000, Quentin Perret wrote: > > Alternatively, the shared->private conversion happens in the KVM vcpu > > run loop, so we'd be in a good position to exit the VCPU_RUN ioctl with a > > new exit reason saying "can't donate that page while it's shared" and > > have userspace use MADVISE_DONTNEED or munmap, or whatever on the back > > of that. But I tend to prefer the rmap option if it's workable as that > > avoids adding new KVM userspace ABI. > > > > You'll still probably need the new exit reason saying "can't donate that > page while it's shared" if the refcount tests fail. Can use David's > iouring as example of some other part of the kernel has a reference to > the page. I can't think of anything to do other than exiting to > userspace because we don't know how to drop that extra ref. Ack, I realized that later on. I guess there may be cases where userspace doesn't know how to drop that pin, but that's not the kernel's fault and it can't do anything about it, so a userspace exit is our best chance... Thanks, Quentin