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 23873C3DA4A for ; Wed, 14 Aug 2024 14:42:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7084B6B0088; Wed, 14 Aug 2024 10:42:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6B9AB6B008A; Wed, 14 Aug 2024 10:42:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 580246B008C; Wed, 14 Aug 2024 10:42:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 39FEC6B0088 for ; Wed, 14 Aug 2024 10:42:47 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id E85E180FB6 for ; Wed, 14 Aug 2024 14:42:46 +0000 (UTC) X-FDA: 82451117532.18.6A7A5B7 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf24.hostedemail.com (Postfix) with ESMTP id CBE4F180029 for ; Wed, 14 Aug 2024 14:42:44 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=gLXQCvGo; spf=pass (imf24.hostedemail.com: domain of pbonzini@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=pbonzini@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723646469; 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=xVYdNdGbsg5hDvwTYOliW2fHo02oz1rG9FEP2u4lRJM=; b=Mx44w48i/e5fAePr+T+NViwEtAc0s0raD12qxUBpW0OlwmW1IPEp8NLkPapSy7CMK7Y9Em oWCRk89dd+qh1AqMu3qrcz10esjuySqScex/yMHbma55u9+/TRLwm1MeQ2AMNW6DVYQGQ4 +Owj5L91H8X7Bv58604kvWyjaFVSR3w= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=gLXQCvGo; spf=pass (imf24.hostedemail.com: domain of pbonzini@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=pbonzini@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723646469; a=rsa-sha256; cv=none; b=cs1/jkAxA0Cst9A9XXPs5rDVXNMp6It5fIqlyIcyAdCotorB1IT5HosGznIW8ZMZXs3w7N 3aOkgzHVvyrLDQFNrvkb05ETmXSn0UVN3fc7CYQUPM82Yw1/xY9Ti7u9l2xJu52HqBz4mi PxMRD8hZvd3zgqA0pPBbW9/NzTdqaQc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1723646564; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xVYdNdGbsg5hDvwTYOliW2fHo02oz1rG9FEP2u4lRJM=; b=gLXQCvGo1lvFNqrpgXUmZnBgiDM9JhsL1wsKLaHzJ4zk1yTJE7m3x5CLMuysCwT3vsF8CH TgbzPwVVkVHJ2o0QytS1TGvq0hHcuwtZYJIA0FCn/8LsuJwHrnKjTdcrSuYAvXburn3mzk rxHN4aNtiz/uljPnI86+EYU6/7lYp9w= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-611-lHA2dvWnMEucvO9GISbwAA-1; Wed, 14 Aug 2024 10:42:42 -0400 X-MC-Unique: lHA2dvWnMEucvO9GISbwAA-1 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-428e48612acso75994735e9.3 for ; Wed, 14 Aug 2024 07:42:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723646561; x=1724251361; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xVYdNdGbsg5hDvwTYOliW2fHo02oz1rG9FEP2u4lRJM=; b=nkBYic4eDtEjKZulaGIYhFwo5y3P617S5Xpb3MG6hAbuoBPj92AN0RRZ/KR6NLiYr1 FnBqW0pJw6uHm1BS2MhojkFO4lNT9sb8GMZN5YeA8m95GZYc78vokVyLFbTvTV9bJ8nD bB+9F1L/xa6fvRU/MrnOic7zMOMytQwKq2luWbSGbEv/AfCMaH3M49/8SeurPvUMPRKa l0Jv72IKFU7jJkYsCmdWk6BUGoslK2XLIOgi0+dHAkMl8bpFEDpImven2gL6xOhUyISA qYRwj7EzRsSU3iwh/KLYQ91t0zB9eavR9Qccssj/HKW/y9yeeM7/22/RU/jX2Gj0wqwv nrgg== X-Forwarded-Encrypted: i=1; AJvYcCWqtUCj23cyq9eANxd64VD39JSFCi3W++XqNlqROCo59PzauUKY248aeYBqS+SuVT5bM65USlW9Rw==@kvack.org X-Gm-Message-State: AOJu0YyXXcad1GSiO6JaewUNgi96O+hyFiSYIozpuyOGo8746bmdXH9V EoWp4UTROCSwJF3VBY++X/N7wxUnVQSwdoGaQPS+Mtf49HggDexX99fYd2xLLUra3SNTDGjgWTi k4ia/jzwF1Y3G+qP+W8q0BjjrjOY7ZYKl6uj/y6a67KQvhqqyrnjg+dgzUrvFF7jGUDLJG4Jtp3 3mJ0lwXrXGtXaPjI+kosA8+n8= X-Received: by 2002:a05:6000:2ac:b0:360:75b1:77fb with SMTP id ffacd0b85a97d-37177742ccamr3183743f8f.8.1723646561312; Wed, 14 Aug 2024 07:42:41 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGtP+rSeBmdU6XVoONivIqjh3NiciH9BKIZVBTlvjlI3aofydQJhEqWOqQib+vR63crzrcjSC2qHRhrq2xiWUg= X-Received: by 2002:a05:6000:2ac:b0:360:75b1:77fb with SMTP id ffacd0b85a97d-37177742ccamr3183718f8f.8.1723646560795; Wed, 14 Aug 2024 07:42:40 -0700 (PDT) MIME-Version: 1.0 References: <20240809160909.1023470-1-peterx@redhat.com> <20240814123715.GB2032816@nvidia.com> In-Reply-To: From: Paolo Bonzini Date: Wed, 14 Aug 2024 16:42:28 +0200 Message-ID: Subject: Re: [PATCH 00/19] mm: Support huge pfnmaps To: Sean Christopherson Cc: Jason Gunthorpe , Peter Xu , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Oscar Salvador , Axel Rasmussen , linux-arm-kernel@lists.infradead.org, x86@kernel.org, Will Deacon , Gavin Shan , Zi Yan , Andrew Morton , Catalin Marinas , Ingo Molnar , Alistair Popple , Borislav Petkov , David Hildenbrand , Thomas Gleixner , kvm@vger.kernel.org, Dave Hansen , Alex Williamson , Yan Zhao X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: CBE4F180029 X-Stat-Signature: 5mf9oj6tkni8gkxpzkaqmr7in15zsboc X-Rspam-User: X-HE-Tag: 1723646564-473943 X-HE-Meta: U2FsdGVkX1+uS4xDyR4f4vdEMUIycExR8UispyiO3m1pftKHbAUU3wGO5qp2t0riHFQSqLEAUBSsZg3q1i8Srg+iZgK6x2oX8oLwO6/B2oB8r9QYVmgM5cNJ5h5TwFxf6nGv09Evltggbv7Wj2sRdTuCVtl55685wj56Zgup7jnyxUUq/sIewS9EeviixqPdqR7tvsAEDdY2/JWzWmLT1DiY4khTm+uCVMhHXGLgbGFvtepvinJDNtExoXpsSdtEEIldJBxDHqKvRqnm/Mf+1TSwHCxrmp1TKHvlMyTKDqEK14jZU52uXCOP25R43pPU77xNnCSxssmSKSkjayXU03u54yrSBnDOWZMFRhKXTvsfKH23lcAGDbPjUiRvIkti7cvpysk8ze3AXDSkMGS/fNju7rAVvsoYjBMYFn1qSIw1NufnoODv1s+BUbDhaIx3UvdJmbShZjH99IBx2Z0XRrrZhPsWyO2Psw1TrkSTZocC6IKc9S+5/bbcZ4/weNiZw24S9UilRfPIqScf5P+KBxpd7h59jiA0ZC56sk+pIGVv6l0d0E+PPYZhcddXpIUb79OBsUsYoTv0pa6+RaaUHl1C0uYDBq73tyqSaXJdn9igaUmUT3sXOjVL6y8du30I4trpUiMVEjBHWwDuo/uVIbsF5HCCoSXXufl+emZ+wAr7m3khgOeMjUbJQaa7uEDYYuRHjlPuMrxl6ScC5Omv4WJIMkY3NtmN6aGHkuL28mvKivamy8vD4GqUhCar9uWBuUAQFtp39uCNfsmhq2WVLIxxrzT6bJ0tvT/VLipDI768kxjSuSbfiWzNGmQacPrKqI8cCy26Ijwm9hznTHnizbmMUbGa643QWTifJO9qkZlCAlBFNNYpSrHVP1YpYLKqf11b0BV9e/A4ljBNUjvo/Aop/xor7xAYuWR4nkdGqSoqGnqb2LPsakP57gZsj32p7Ym3J/vfc1CR54ev0l7 GBEmIC4j 8f/nbXK/33h2H8T8p7XRZkrCUDMi+SilZpYPEj90KJCkCA1aKdncQ4pU5analvAcL2I33B5zkpMEFcGwl6/4oG57A+EL+Q1B696qhupB/g/5BwS8DOhAVCb5a28HOmR1QtnPfmXEYeUr9tbRZnqcsdELyLxOqcmyYCkL5ZgeyHvdjWnVQ06RaPnKkIZjz3jYLKwgOIIfuPlIeUf/YA8hgWSl6bDaPl5Jdd4a8R65UW5Hd4M+AlWeEoy/pRgfoLPaptirR0xrKESDMrq979CxclaKIxD5U3fekce5H X-Bogosity: Ham, tests=bogofilter, spamicity=0.000073, 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 Wed, Aug 14, 2024 at 4:35=E2=80=AFPM Sean Christopherson wrote: > > vfio/iommufd will reassemble the contiguous range from the 4k PFNs to > > setup the IOMMU, but KVM is not able to do it so reliably. > > Heh, KVM should very reliably do the exact opposite, i.e. KVM should neve= r create > a huge page unless the mapping is huge in the primary MMU. And that's ve= ry much > by design, as KVM has no knowledge of what actually resides at a given PF= N, and > thus can't determine whether or not its safe to create a huge page if KVM= happens > to realize the VM has access to a contiguous range of memory. Indeed: the EPT is managed as a secondary MMU. It replays the contents of the primary MMU, apart from A/D bits (which are independent) and permissions possibly being more restrictive, and that includes the page size. Which in turn explains why the VA has to be aligned for KVM to pick up the hint: aligning the VA allows the primary MMU to use a hugepage, which is a prerequisite for using it in EPT. Paolo