All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Orr <marcorr@google.com>
To: Dave Hansen <dave.hansen@intel.com>
Cc: Peter Gonda <pgonda@google.com>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Borislav Petkov <bp@alien8.de>, Andy Lutomirski <luto@kernel.org>,
	Sean Christopherson <seanjc@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Joerg Roedel <jroedel@suse.de>, Ard Biesheuvel <ardb@kernel.org>,
	Andi Kleen <ak@linux.intel.com>,
	Kuppuswamy Sathyanarayanan 
	<sathyanarayanan.kuppuswamy@linux.intel.com>,
	David Rientjes <rientjes@google.com>,
	Vlastimil Babka <vbabka@suse.cz>,
	Tom Lendacky <thomas.lendacky@amd.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Peter Zijlstra <peterz@infradead.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Ingo Molnar <mingo@redhat.com>,
	Varad Gautam <varad.gautam@suse.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Mike Rapoport <rppt@kernel.org>,
	David Hildenbrand <david@redhat.com>,
	Marcelo <marcelo.cerri@canonical.com>,
	tim.gardner@canonical.com,
	Khalid ElMously <khalid.elmously@canonical.com>,
	philip.cox@canonical.com,
	"the arch/x86 maintainers" <x86@kernel.org>,
	linux-mm@kvack.org, linux-coco@lists.linux.dev,
	linux-efi@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCHv7 00/14] mm, x86/cc: Implement support for unaccepted memory
Date: Fri, 24 Jun 2022 10:06:02 -0700	[thread overview]
Message-ID: <CAA03e5F480=psSECDAkXQEvNKk3une-4dJV57Hde4z4MMzh=1A@mail.gmail.com> (raw)
In-Reply-To: <5af19000-4482-7eb9-f158-0a461891f087@intel.com>

On Fri, Jun 24, 2022 at 9:57 AM Dave Hansen <dave.hansen@intel.com> wrote:
>
> Peter, is your enter key broken?  You seem to be typing all your text in
> a single unreadable paragraph.
>
> On 6/24/22 09:37, Peter Gonda wrote:
> > if a customer incorrectly labels their image it may fail to boot..
>
> You're saying that firmware basically has two choices:
> 1. Accept all the memory up front and boot slowly, but reliably
> 2. Use thus "unaccepted memory" mechanism, boot fast, but risk that the
>    VM loses a bunch of memory.
>
> If the guest can't even boot because of a lack of memory, then the
> pre-accepted chunk is probably too small in the first place.
>
> If the customer screws up, they lose a bunch of the RAM they paid for.
> That seems like a rather self-correcting problem to me.

I think Peter's point is a little more nuanced than that. Once lazy
accept goes into the guest firmware -- without the feature negotiation
that Peter is suggesting -- cloud providers now have a bookkeeping
problem. Which images have kernels that can boot from a guest firmware
that doesn't pre-validate all the guest memory?

The way we've been solving similar bookkeeping problems up to now
(e.g., Which guest can run with CVM features like TDX/SEV enabled?
Which SEV guests can live migrate?) is as follows. We tag images with
feature tags. But this is sort of a hack. And not a great one. It's
confusing to customers, hard for the cloud service provider to
support, and easy to mess up.

It would be better if the guest FW knew whether or not the kernel it
was going to launch supported lazy accept.

That being said, this does seem like a difficult problem to solve,
since it's sort of backward from how things work, in that when the
guest firmware wants to switch between pre-validating all memory vs.
minimizing what it pre-validates, the guest kernel is not running yet!
But if there is some way to do this, it would be a huge improvement
over the current status quo of pushing the feature negotiation up to
the cloud service provider and ultimately the cloud customer.

  reply	other threads:[~2022-06-24 17:06 UTC|newest]

Thread overview: 207+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-14 12:02 [PATCHv7 00/14] mm, x86/cc: Implement support for unaccepted memory Kirill A. Shutemov
2022-06-14 12:02 ` [PATCHv7 01/14] x86/boot: Centralize __pa()/__va() definitions Kirill A. Shutemov
2022-06-23 17:37   ` Dave Hansen
2022-06-14 12:02 ` [PATCHv7 02/14] mm: Add support for unaccepted memory Kirill A. Shutemov
2022-06-14 12:57   ` Gupta, Pankaj
2022-06-17 19:28   ` Tom Lendacky
2022-06-17 20:53     ` Tom Lendacky
2022-07-21 15:14   ` Borislav Petkov
2022-07-21 15:49     ` Dave Hansen
2022-07-22 19:18       ` Borislav Petkov
2022-07-22 19:30         ` Dave Hansen
2022-07-25 12:23           ` Borislav Petkov
2022-07-25 12:38             ` David Hildenbrand
2022-07-25 12:53               ` Borislav Petkov
2022-07-26 14:30                 ` David Hildenbrand
2022-07-25 13:00             ` Mike Rapoport
2022-07-25 13:05               ` Borislav Petkov
2022-08-05 11:49   ` Vlastimil Babka
2022-08-05 12:09     ` David Hildenbrand
2022-08-05 13:38       ` Vlastimil Babka
2022-08-05 14:22         ` David Hildenbrand
2022-08-05 14:53           ` Dave Hansen
2022-08-05 14:41         ` Dave Hansen
2022-08-05 18:17           ` Vlastimil Babka
2022-08-08 15:55             ` Dave Hansen
2022-08-10 14:19     ` Mel Gorman
2022-08-15 21:08       ` Dionna Amalie Glaze
2022-08-15 22:02         ` Tom Lendacky
2022-08-29 16:02           ` Dionna Amalie Glaze
2022-08-29 16:19             ` Dave Hansen
2022-09-06 17:50               ` Dionna Amalie Glaze
2022-09-08 12:11                 ` Mike Rapoport
2022-09-08 16:23                   ` Dionna Amalie Glaze
2022-09-08 19:28                     ` Mike Rapoport
2022-09-22 14:31                       ` Tom Lendacky
2022-09-24  1:03                         ` Kirill A. Shutemov
2022-09-24  9:36                           ` Mike Rapoport
2022-09-26 12:10                           ` Kirill A. Shutemov
2022-09-26 13:38                             ` Tom Lendacky
2022-09-26 15:42                               ` Kirill A. Shutemov
2022-09-26 15:42                               ` Tom Lendacky
2022-06-14 12:02 ` [PATCHv7 03/14] mm: Report unaccepted memory in meminfo Kirill A. Shutemov
2022-07-26 14:33   ` David Hildenbrand
2022-06-14 12:02 ` [PATCHv7 04/14] efi/x86: Get full memory map in allocate_e820() Kirill A. Shutemov
2022-07-25 13:02   ` Borislav Petkov
2022-06-14 12:02 ` [PATCHv7 05/14] x86/boot: Add infrastructure required for unaccepted memory support Kirill A. Shutemov
2022-06-15 10:19   ` Peter Zijlstra
2022-06-15 15:05     ` Kirill A. Shutemov
2022-07-17 17:16       ` Borislav Petkov
2022-07-25 21:33   ` Borislav Petkov
2022-06-14 12:02 ` [PATCHv7 06/14] efi/x86: Implement support for unaccepted memory Kirill A. Shutemov
2022-06-22 19:58   ` Dave Hansen
2022-07-26  8:35   ` Borislav Petkov
2022-06-14 12:02 ` [PATCHv7 07/14] x86/boot/compressed: Handle " Kirill A. Shutemov
2022-06-14 12:02 ` [PATCHv7 08/14] x86/mm: Reserve unaccepted memory bitmap Kirill A. Shutemov
2022-07-26  9:07   ` Borislav Petkov
2022-11-30  1:28     ` Kirill A. Shutemov
2022-12-01  9:37       ` Mike Rapoport
2022-12-01 13:47         ` Kirill A. Shutemov
2022-06-14 12:02 ` [PATCHv7 09/14] x86/mm: Provide helpers for unaccepted memory Kirill A. Shutemov
2022-06-14 12:02 ` [PATCHv7 10/14] x86/mm: Avoid load_unaligned_zeropad() stepping into " Kirill A. Shutemov
2022-06-23 17:19   ` Dave Hansen
2022-07-26 10:21   ` Borislav Petkov
2022-08-02 23:46     ` Dave Hansen
2022-08-03 14:02       ` Dave Hansen
2022-08-11 11:26         ` Borislav Petkov
2022-08-13 16:11           ` Andy Lutomirski
2022-08-13 21:13             ` Kirill A. Shutemov
2022-08-13 16:04         ` Andy Lutomirski
2022-08-13 20:58           ` Kirill A. Shutemov
2022-07-26 17:25   ` Borislav Petkov
2022-07-26 17:46     ` Dave Hansen
2022-07-26 20:17   ` Andy Lutomirski
2022-08-09 11:38     ` Kirill A. Shutemov
2022-08-13 16:03       ` Andy Lutomirski
2022-08-13 21:02         ` Kirill A. Shutemov
2022-06-14 12:02 ` [PATCHv7 11/14] x86: Disable kexec if system has " Kirill A. Shutemov
2022-06-23 17:23   ` Dave Hansen
2022-06-23 17:23     ` Dave Hansen
2022-06-23 21:48     ` Eric W. Biederman
2022-06-23 21:48       ` Eric W. Biederman
2022-06-24  2:00       ` Kirill A. Shutemov
2022-06-24  2:00         ` Kirill A. Shutemov
2022-06-28 23:51         ` Kirill A. Shutemov
2022-06-28 23:51           ` Kirill A. Shutemov
2022-06-29  0:10           ` Dave Hansen
2022-06-29  0:10             ` Dave Hansen
2022-06-29  0:59             ` Kirill A. Shutemov
2022-06-29  0:59               ` Kirill A. Shutemov
2022-07-04  7:18               ` Dave Young
2022-07-04  7:18                 ` Dave Young
2022-06-14 12:02 ` [PATCHv7 12/14] x86/tdx: Make _tdx_hypercall() and __tdx_module_call() available in boot stub Kirill A. Shutemov
2022-06-23 17:25   ` Dave Hansen
2022-06-14 12:02 ` [PATCHv7 13/14] x86/tdx: Refactor try_accept_one() Kirill A. Shutemov
2022-06-23 17:31   ` Dave Hansen
2022-07-26 10:58   ` Borislav Petkov
2022-06-14 12:02 ` [PATCHv7 14/14] x86/tdx: Add unaccepted memory support Kirill A. Shutemov
2022-06-24 16:22   ` Dave Hansen
2022-06-27 10:42     ` Kirill A. Shutemov
2022-07-26 14:51   ` Borislav Petkov
2022-08-09 11:45     ` Kirill A. Shutemov
2022-08-10 10:27       ` Borislav Petkov
2022-06-24 16:37 ` [PATCHv7 00/14] mm, x86/cc: Implement support for unaccepted memory Peter Gonda
2022-06-24 16:57   ` Dave Hansen
2022-06-24 17:06     ` Marc Orr [this message]
2022-06-24 17:09       ` Dave Hansen
2022-06-24 17:15         ` Peter Gonda
2022-06-24 17:19         ` Marc Orr
2022-06-24 17:21           ` Peter Gonda
2022-06-24 17:47           ` Dave Hansen
2022-06-24 18:10             ` Peter Gonda
2022-06-24 18:13               ` Dave Hansen
2022-06-24 17:40   ` Michael Roth
2022-06-24 17:58     ` Michael Roth
2022-06-24 18:05     ` Peter Gonda
2022-06-27 11:30   ` Kirill A. Shutemov
2022-06-27 11:54     ` Ard Biesheuvel
2022-06-27 12:22       ` Kirill A. Shutemov
2022-06-27 16:17         ` Peter Gonda
2022-06-27 16:33           ` Ard Biesheuvel
2022-06-27 22:38             ` Kirill A. Shutemov
2022-06-28 17:17               ` Ard Biesheuvel
2022-07-18 17:21                 ` Kirill A. Shutemov
2022-07-18 23:32                   ` Dionna Amalie Glaze
2022-07-19  0:31                     ` Dionna Amalie Glaze
2022-07-19 18:29                       ` Dionna Amalie Glaze
2022-07-19 19:13                         ` Borislav Petkov
2022-07-19 20:45                           ` Ard Biesheuvel
2022-07-19 21:23                             ` Borislav Petkov
2022-07-19 21:35                               ` Dave Hansen
2022-07-19 21:50                                 ` Borislav Petkov
2022-07-19 22:01                                   ` Kirill A. Shutemov
2022-07-19 22:02                                   ` Dave Hansen
2022-07-19 22:08                                     ` Tom Lendacky
2022-07-20  0:26                                     ` Marc Orr
2022-07-20  5:44                                       ` Borislav Petkov
2022-07-20 17:03                                         ` Marc Orr
2022-07-22 15:07                                           ` Borislav Petkov
2022-07-21 17:12                                       ` Dave Hansen
2022-07-23 11:14                                         ` Ard Biesheuvel
2022-07-28 22:01                                           ` Dionna Amalie Glaze
2022-08-09 11:14                                           ` Kirill A. Shutemov
2022-08-09 11:36                                             ` Ard Biesheuvel
2022-08-09 11:54                                               ` Kirill A. Shutemov
2022-08-09 21:09                                                 ` Dionna Amalie Glaze
2022-07-19  2:48                     ` Yao, Jiewen
2022-07-29 14:01 ` [PATCH v1 0/2] Provide SEV-SNP " Tom Lendacky
2022-07-29 14:01   ` [PATCH v1 1/2] x86/sev: Use per-CPU PSC structure in prep for unaccepted memory support Tom Lendacky
2022-07-29 14:18     ` Dave Hansen
2022-07-29 14:25       ` Tom Lendacky
2022-07-29 19:08         ` Dave Hansen
2022-07-29 19:22           ` Tom Lendacky
2022-07-29 19:28             ` Dave Hansen
2022-07-29 20:12               ` Tom Lendacky
2022-08-03 18:11                 ` [PATCH v1.1 0/2] Provide SEV-SNP support for unaccepted memory Tom Lendacky
2022-08-03 18:11                   ` [PATCH v1.1 1/2] x86/sev: Use per-CPU PSC structure in prep for unaccepted memory support Tom Lendacky
2022-08-03 18:17                     ` Dave Hansen
2022-08-03 18:21                       ` Tom Lendacky
2022-08-03 18:24                         ` Dave Hansen
2022-08-03 21:03                           ` Tom Lendacky
2022-08-03 21:18                             ` Dave Hansen
2022-08-03 21:34                               ` Tom Lendacky
2022-08-03 21:48                                 ` Dave Hansen
2022-08-03 22:17                                   ` Tom Lendacky
2022-08-03 18:18                     ` Tom Lendacky
2022-08-03 18:11                   ` [PATCH v1.1 2/2] x86/sev: Add SNP-specific " Tom Lendacky
2022-07-29 14:01   ` [PATCH v1 " Tom Lendacky
2022-08-23  0:24     ` Dionna Amalie Glaze
2022-08-23 14:28       ` Tom Lendacky
2022-08-23 23:28     ` Dionna Amalie Glaze
2022-08-08 17:16 ` [PATCH v2 0/2] Provide SEV-SNP support for unaccepted memory Tom Lendacky
2022-08-08 17:16   ` [PATCH v2 1/2] x86/sev: Put PSC struct on the stack in prep for unaccepted memory support Tom Lendacky
2022-08-08 21:43     ` Dave Hansen
2022-08-08 22:18       ` Tom Lendacky
2022-08-08 22:33         ` Dave Hansen
2022-08-08 22:35           ` Tom Lendacky
2022-08-12 13:03     ` Borislav Petkov
2022-08-12 14:11       ` Tom Lendacky
2022-08-12 14:33         ` Borislav Petkov
2022-08-12 14:51           ` Tom Lendacky
2022-08-13 19:40             ` Borislav Petkov
2022-08-14 13:36               ` Tom Lendacky
2022-08-08 17:16   ` [PATCH v2 2/2] x86/sev: Add SNP-specific " Tom Lendacky
2022-08-15 15:57 ` [PATCH v3 0/2] Provide SEV-SNP support for unaccepted memory Tom Lendacky
2022-08-15 15:57   ` [PATCH v3 1/2] x86/sev: Put PSC struct on the stack in prep for unaccepted memory support Tom Lendacky
2022-08-17 16:08     ` Borislav Petkov
2022-08-17 21:17       ` Tom Lendacky
2022-08-15 15:57   ` [PATCH v3 2/2] x86/sev: Add SNP-specific " Tom Lendacky
2022-08-18 13:39     ` Borislav Petkov
2022-08-25 14:23 ` [PATCH v4 0/4] Provide SEV-SNP support for unaccepted memory Tom Lendacky
2022-08-25 14:23   ` [PATCH v4 1/4] x86/sev: Put PSC struct on the stack in prep for unaccepted memory support Tom Lendacky
2022-09-20 16:15     ` Borislav Petkov
2022-08-25 14:23   ` [PATCH v4 2/4] x86/sev: Allow for use of the early boot GHCB for PSC requests Tom Lendacky
2022-08-25 14:23   ` [PATCH v4 3/4] x86/sev: Use large PSC requests if applicable Tom Lendacky
2022-08-25 14:23   ` [PATCH v4 4/4] x86/sev: Add SNP-specific unaccepted memory support Tom Lendacky
2022-08-25 22:10     ` Dionna Amalie Glaze
2022-08-26 21:29       ` Tom Lendacky
2022-09-27 17:04 ` [PATCH v5 0/6] Provide SEV-SNP support for unaccepted memory Tom Lendacky
2022-09-27 17:04   ` [PATCH v5 1/6] x86/sev: Fix calculation of end address based on number of pages Tom Lendacky
2022-09-27 17:10     ` Dave Hansen
2022-09-27 20:45       ` Tom Lendacky
2022-09-27 19:04     ` Dionna Amalie Glaze
2022-09-27 17:04   ` [PATCH v5 2/6] " Tom Lendacky
2022-09-27 17:04   ` [PATCH v5 3/6] x86/sev: Put PSC struct on the stack in prep for unaccepted memory support Tom Lendacky
2022-09-27 17:04   ` [PATCH v5 4/6] x86/sev: Allow for use of the early boot GHCB for PSC requests Tom Lendacky
2022-09-27 17:04   ` [PATCH v5 5/6] x86/sev: Use large PSC requests if applicable Tom Lendacky
2022-09-27 17:04   ` [PATCH v5 6/6] x86/sev: Add SNP-specific unaccepted memory support Tom Lendacky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAA03e5F480=psSECDAkXQEvNKk3une-4dJV57Hde4z4MMzh=1A@mail.gmail.com' \
    --to=marcorr@google.com \
    --cc=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=ardb@kernel.org \
    --cc=bp@alien8.de \
    --cc=dave.hansen@intel.com \
    --cc=david@redhat.com \
    --cc=dfaggioli@suse.com \
    --cc=jroedel@suse.de \
    --cc=khalid.elmously@canonical.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-coco@lists.linux.dev \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luto@kernel.org \
    --cc=marcelo.cerri@canonical.com \
    --cc=mingo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=pgonda@google.com \
    --cc=philip.cox@canonical.com \
    --cc=rientjes@google.com \
    --cc=rppt@kernel.org \
    --cc=sathyanarayanan.kuppuswamy@linux.intel.com \
    --cc=seanjc@google.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=tim.gardner@canonical.com \
    --cc=varad.gautam@suse.com \
    --cc=vbabka@suse.cz \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.