All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Gupta, Pankaj" <pankaj.gupta@amd.com>
To: Dionna Amalie Glaze <dionnaglaze@google.com>
Cc: "Xu, Min M" <min.m.xu@intel.com>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Borislav Petkov <bp@suse.de>, "Gao, Jiaqi" <jiaqi.gao@intel.com>,
	Michael Roth <michael.roth@amd.com>,
	Borislav Petkov <bp@alien8.de>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	"Lutomirski, Andy" <luto@kernel.org>, "Christopherson,,
	Sean" <seanjc@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Rodel, Jorg" <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>,
	"Hansen, Dave" <dave.hansen@intel.com>,
	Mike Rapoport <rppt@kernel.org>,
	David Hildenbrand <david@redhat.com>,
	"x86@kernel.org" <x86@kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>,
	"linux-efi@vger.kernel.org" <linux-efi@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCHv5 06/12] x86/boot/compressed: Handle unaccepted memory
Date: Thu, 2 Jun 2022 14:51:37 +0200	[thread overview]
Message-ID: <19ac7bbc-82f1-8350-8638-163303d682b1@amd.com> (raw)
In-Reply-To: <CAAH4kHYj9WOKngeXYL=KnNb1fXa-MaFGTBGZcBX726Od858Q3A@mail.gmail.com>


> The memory accounting in Linux is probably the issue. Both times I ran
> the test were from a freshly booted VM. The test parses the output of
> $(free -k) to determine the amount of free memory it should allocate
> and write/read from, with a given stride of pages to skip before
> touching the next page.
> 
> We grab the third column of numbers from the Mem output that looks like this
> 
>                 total        used        free      shared  buff/cache   available
> Mem:        65856604     4128688    48558952       11208    13168964    60942928
> Swap:        1953788      118124     1835664
> 
> So my workstation has 48558952 free bytes. We take that, give it to
> memtouch to allocate that much anonymous memory rounded down to the
> nearest MB with mmap and randomly read/write the buffer.
> 
> For an 8GB machine, the UEFI will have the initial 0-0xA000 memory and
> 0x10_0000 to 0xC00_0000 (beginning of mmio hole) prevalidated. The
> next 5GB is classified as the UEFI v2.9 memory type
> EFI_RESOURCE_MEMORY_UNACCEPTED, 0x1_4000_000 to 0x2_0000_0000.
> The Linux e820 map should see that range as unaccepted rather than
> EFI_CONVENTIONAL_MEMORY (i.e., EDK2's EFI_RESOURCE_SYSTEM_MEMORY), but
> I think it needs to be accounted as free conventional memory.

AFAIU the unaccepted memory also stays in buddy (first via slow path) 
and should be accounted automatically in free?

> 
> So when I see 2044MB free vs 7089MB free in my VMs, the two are
> roughly 5GB different.

Is it possible all memory got allocated with memblock? Maybe some 
variable tests to validate with '/proc/meminfo | grep UnacceptedMem' 
would give you more clue.

Thanks,
Pankaj

  parent reply	other threads:[~2022-06-02 12:51 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-25  3:39 [PATCHv5 00/12] mm, x86/cc: Implement support for unaccepted memory Kirill A. Shutemov
2022-04-25  3:39 ` [PATCHv5 01/12] x86/boot/: Centralize __pa()/__va() definitions Kirill A. Shutemov
2022-04-25  7:37   ` David Hildenbrand
2022-04-25  7:52   ` Mike Rapoport
2022-04-25  3:39 ` [PATCHv5 02/12] mm: Add support for unaccepted memory Kirill A. Shutemov
2022-04-28 10:05   ` Borislav Petkov
2022-05-03 20:21   ` David Hildenbrand
2022-05-06  0:54     ` Kirill A. Shutemov
2022-04-25  3:39 ` [PATCHv5 03/12] efi/x86: Get full memory map in allocate_e820() Kirill A. Shutemov
2022-04-27 20:25   ` Borislav Petkov
2022-04-27 23:48     ` Kirill A. Shutemov
2022-04-28 10:02       ` Borislav Petkov
2022-04-25  3:39 ` [PATCHv5 04/12] x86/boot: Add infrastructure required for unaccepted memory support Kirill A. Shutemov
2022-04-29 10:58   ` Wander Lairson Costa
2022-05-02 13:38     ` Kirill A. Shutemov
2022-04-25  3:39 ` [PATCHv5 05/12] efi/x86: Implement support for unaccepted memory Kirill A. Shutemov
2022-04-29 10:53   ` Borislav Petkov
2022-05-02 13:40     ` Kirill A. Shutemov
2022-04-25  3:39 ` [PATCHv5 06/12] x86/boot/compressed: Handle " Kirill A. Shutemov
2022-04-27  0:17   ` Michael Roth
2022-04-27 14:19     ` Kirill A. Shutemov
2022-05-03 14:15       ` Borislav Petkov
2022-04-29 13:10   ` Wander Lairson Costa
2022-05-03 14:12   ` Borislav Petkov
2022-05-06 15:30     ` Kirill A. Shutemov
2022-05-10 11:03       ` Borislav Petkov
2022-05-13  5:31         ` Dionna Amalie Glaze
2022-05-13  5:34         ` Dionna Amalie Glaze
2022-05-13  9:01           ` Borislav Petkov
2022-05-13 14:45             ` Kirill A. Shutemov
2022-05-16  6:46               ` Xu, Min M
2022-05-31 22:37                 ` Dionna Amalie Glaze
2022-05-31 22:40                 ` Dionna Amalie Glaze
2022-06-01 15:49                   ` Gupta, Pankaj
2022-06-01 16:20                     ` Dionna Amalie Glaze
2022-06-01 19:34                       ` Randy Dunlap
2022-06-01 21:19                         ` Gupta, Pankaj
2022-06-02 12:51                       ` Gupta, Pankaj [this message]
2022-06-02 15:31                         ` Dionna Amalie Glaze
2022-06-07 17:28                           ` Dionna Amalie Glaze
2022-06-07 18:15                             ` Gupta, Pankaj
2022-04-25  3:39 ` [PATCHv5 07/12] x86/mm: Reserve unaccepted memory bitmap Kirill A. Shutemov
2022-04-29 13:19   ` Wander Lairson Costa
2022-05-04 11:04   ` Borislav Petkov
2022-04-25  3:39 ` [PATCHv5 08/12] x86/mm: Provide helpers for unaccepted memory Kirill A. Shutemov
2022-05-04 11:12   ` Borislav Petkov
2022-05-06 16:13     ` Kirill A. Shutemov
2022-05-10 18:32       ` Borislav Petkov
2022-05-11  1:15         ` Kirill A. Shutemov
2022-05-11  9:07           ` Borislav Petkov
2022-04-25  3:39 ` [PATCHv5 09/12] x86/tdx: Make _tdx_hypercall() and __tdx_module_call() available in boot stub Kirill A. Shutemov
2022-04-25  3:39 ` [PATCHv5 10/12] x86/tdx: Unaccepted memory support Kirill A. Shutemov
2022-05-05 10:12   ` Borislav Petkov
2022-05-06 20:44     ` Kirill A. Shutemov
2022-05-11  1:19       ` Kirill A. Shutemov
2022-05-11  9:13         ` Borislav Petkov
2022-04-25  3:39 ` [PATCHv5 11/12] mm/vmstat: Add counter for memory accepting Kirill A. Shutemov
2022-04-25  3:39 ` [PATCHv5 12/12] x86/mm: Report unaccepted memory in /proc/meminfo Kirill A. Shutemov

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=19ac7bbc-82f1-8350-8638-163303d682b1@amd.com \
    --to=pankaj.gupta@amd.com \
    --cc=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=ardb@kernel.org \
    --cc=bp@alien8.de \
    --cc=bp@suse.de \
    --cc=dave.hansen@intel.com \
    --cc=david@redhat.com \
    --cc=dfaggioli@suse.com \
    --cc=dionnaglaze@google.com \
    --cc=jiaqi.gao@intel.com \
    --cc=jroedel@suse.de \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=kirill@shutemov.name \
    --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=michael.roth@amd.com \
    --cc=min.m.xu@intel.com \
    --cc=mingo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --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=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.