All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@kernel.org>
To: Dave Hansen <dave.hansen@intel.com>
Cc: x86@kernel.org, Andy Lutomirski <luto@kernel.org>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
	Mike Rapoport <rppt@linux.ibm.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Rick Edgecombe <rick.p.edgecombe@intel.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/4] x86/mm: replace GFP_ATOMIC with GFP_KERNEL for direct map allocations
Date: Thu, 11 Nov 2021 17:57:55 +0200	[thread overview]
Message-ID: <YY09g03W1o8OAuPJ@kernel.org> (raw)
In-Reply-To: <234cb35b-2092-22e1-8d44-4fad7a2e1877@intel.com>

On Thu, Nov 11, 2021 at 07:19:40AM -0800, Dave Hansen wrote:
> On 11/11/21 3:02 AM, Mike Rapoport wrote:
> > From: Mike Rapoport <rppt@linux.ibm.com>
> > 
> > The allocations of the direct map pages are mostly happen very early during
> > the system boot and they use either the page table cache in brk area of bss
> > or memblock.
> > 
> > The few callers that effectively use page allocator for the direct map
> > updates are gart_iommu_init() and memory hotplug. Neither of them happen in
> > an atomic context so there is no reason to use GFP_ATOMIC for these
> > allocations.
> > 
> > Replace GFP_ATOMIC with GFP_KERNEL to avoid using atomic reserves for
> > allocations that do not require that.
> 
> I usually think of the biggest downside of GFP_ATOMIC as being that it
> fails more often.  But, since we tend not to be low on memory in early
> boot, GFP_ATOMIC and GFP_KERNEL end up being pretty close in actual
> behavior.
> 
> These allocations also get exposed via init_extra_mapping_*().  But,
> those are used via early_initcall()s where GFP_KERNEL is fine too.

Right, I forgot to mention them in the changelog...

> Those are a bit worrying because they're in somewhat nice code, like the
> Numascale APIC code.  I'm not sure how much use it sees these days.
>
> I guess if this goes wrong somehow, we'll get some nice splats to tell
> us what happened.
> 
> Was this motivated by anything in particular?  Or is it a pure cleanup?

The trigger was the discussion about PKS protection for the kernel page
tables, but for now I'd say it's pure cleanup.

-- 
Sincerely yours,
Mike.

  reply	other threads:[~2021-11-11 15:58 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-11 11:02 [PATCH 0/4] x86/mm: replace GFP_ATOMIC with GFP_KERNEL for direct map allocations Mike Rapoport
2021-11-11 11:02 ` [PATCH 1/4] x86/mm: make init_trampoline_kaslr() __init Mike Rapoport
2021-11-11 20:46   ` Edgecombe, Rick P
2021-11-11 11:02 ` [PATCH 2/4] x86/mm: make kernel_physical_mapping_change() __init Mike Rapoport
2021-11-11 20:47   ` Edgecombe, Rick P
2021-11-11 11:02 ` [PATCH 3/4] x86/mm: init_64: make set_pte_vaddr_p4d static Mike Rapoport
2021-11-11 20:48   ` Edgecombe, Rick P
2021-11-11 11:02 ` [PATCH 4/4] x86/mm: replace GFP_ATOMIC with GFP_KERNEL for direct map allocations Mike Rapoport
2021-11-11 15:19   ` Dave Hansen
2021-11-11 15:57     ` Mike Rapoport [this message]
2021-11-11 21:35   ` Edgecombe, Rick P
2021-11-12 12:30     ` Mike Rapoport
2021-11-12 22:39       ` Edgecombe, Rick P

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=YY09g03W1o8OAuPJ@kernel.org \
    --to=rppt@kernel.org \
    --cc=bp@alien8.de \
    --cc=dave.hansen@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rick.p.edgecombe@intel.com \
    --cc=rppt@linux.ibm.com \
    --cc=tglx@linutronix.de \
    --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.