From: Dave Hansen <dave.hansen@intel.com>
To: Thomas Gleixner <tglx@linutronix.de>,
LKML <linux-kernel@vger.kernel.org>
Cc: x86@kernel.org, Peter Zijlstra <peterz@infradead.org>,
Bin Yang <bin.yang@intel.com>, Mark Gross <mark.gross@intel.com>
Subject: Re: [patch V3 08/11] x86/mm/cpa: Add sanity check for existing mappings
Date: Fri, 21 Sep 2018 13:07:24 -0700 [thread overview]
Message-ID: <a01dfe1f-cbbb-9546-d366-d959cbc96699@intel.com> (raw)
In-Reply-To: <20180917143546.331408643@linutronix.de>
On 09/17/2018 07:29 AM, Thomas Gleixner wrote:
> + /*
> + * If this is splitting a PMD, fix it up. PUD splits cannot be
> + * fixed trivially as that would require to rescan the newly
> + * installed PMD mappings after returning from split_large_page()
> + * so an eventual further split can allocate the necessary PTE
> + * pages. Warn for now and revisit it in case this actually
> + * happens.
> + */
> + if (size == PAGE_SIZE)
> + ref_prot = prot;
> + else
> + pr_warn_once("CPA: Cannot fixup static protections for PUD split\n");
> +set:
> + set_pte(pte, pfn_pte(pfn, ref_prot));
> +}
This looked a _little_ bit funky to me. It talks about splitting up
PMDs and PUDs, but it wasn't immediately obvious why it never looks for
PMD or PUD sizes.
It's because split_set_pte()'s "size" is the size we are splitting *to*.
IOW, a PMD split gets PAGE_SIZE and a PUD split gets PMD_SIZE. It's
obvious with a bit more context, so it might be handy to include a blurb
in the comment about what 'size' is *of*.
Reviewed-by: Dave Hansen <dave.hansen@intel.com>
next prev parent reply other threads:[~2018-09-21 20:07 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-17 14:29 [patch V3 00/11] x86/mm/cpa: Improve large page preservation handling Thomas Gleixner
2018-09-17 14:29 ` [patch V3 01/11] x86/mm/init32: Mark text and rodata RO in one go Thomas Gleixner
2018-09-21 16:15 ` Dave Hansen
2018-09-27 18:45 ` [tip:x86/mm] " tip-bot for Thomas Gleixner
2018-09-17 14:29 ` [patch V3 02/11] x86/mm/cpa: Split, rename and clean up try_preserve_large_page() Thomas Gleixner
2018-09-18 7:03 ` Peter Zijlstra
2018-09-18 8:19 ` Peter Zijlstra
2018-09-18 12:14 ` Peter Zijlstra
2018-09-18 22:34 ` Thomas Gleixner
2018-09-21 16:22 ` Dave Hansen
2018-09-27 18:46 ` [tip:x86/mm] " tip-bot for Thomas Gleixner
2018-09-17 14:29 ` [patch V3 03/11] x86/mm/cpa: Rework static_protections() Thomas Gleixner
2018-09-21 16:33 ` Dave Hansen
2018-09-27 18:46 ` [tip:x86/mm] " tip-bot for Thomas Gleixner
2018-09-17 14:29 ` [patch V3 04/11] x86/mm/cpa: Allow range check for static protections Thomas Gleixner
2018-09-21 16:36 ` Dave Hansen
2018-09-27 18:47 ` [tip:x86/mm] " tip-bot for Thomas Gleixner
2018-09-17 14:29 ` [patch V3 05/11] x86/mm/cpa: Add debug mechanism Thomas Gleixner
2018-09-21 16:40 ` Dave Hansen
2018-09-22 10:33 ` Peter Zijlstra
2018-09-27 18:48 ` [tip:x86/mm] " tip-bot for Thomas Gleixner
2018-09-17 14:29 ` [patch V3 06/11] x86/mm/cpa: Add large page preservation statistics Thomas Gleixner
2018-09-21 19:59 ` Dave Hansen
2018-09-27 18:48 ` [tip:x86/mm] " tip-bot for Thomas Gleixner
2018-09-17 14:29 ` [patch V3 07/11] x86/mm/cpa: Avoid static protection checks on unmap Thomas Gleixner
2018-09-21 20:01 ` Dave Hansen
2018-09-27 18:49 ` [tip:x86/mm] " tip-bot for Thomas Gleixner
2018-09-17 14:29 ` [patch V3 08/11] x86/mm/cpa: Add sanity check for existing mappings Thomas Gleixner
2018-09-18 7:14 ` Peter Zijlstra
2018-09-21 20:07 ` Dave Hansen [this message]
2018-09-27 18:49 ` [tip:x86/mm] " tip-bot for Thomas Gleixner
2018-09-17 14:29 ` [patch V3 09/11] x86/mm/cpa: Optimize same protection check Thomas Gleixner
2018-09-21 20:12 ` Dave Hansen
2018-09-27 18:07 ` Thomas Gleixner
2018-09-27 18:50 ` [tip:x86/mm] " tip-bot for Thomas Gleixner
2018-09-17 14:29 ` [patch V3 10/11] x86/mm/cpa: Do the range check early Thomas Gleixner
2018-09-21 20:26 ` Dave Hansen
2018-09-27 18:50 ` [tip:x86/mm] " tip-bot for Thomas Gleixner
2018-09-17 14:29 ` [patch V3 11/11] x86/mm/cpa: Avoid the 4k pages check completely Thomas Gleixner
2018-09-21 20:32 ` Dave Hansen
2018-09-27 18:51 ` [tip:x86/mm] " tip-bot for Thomas Gleixner
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=a01dfe1f-cbbb-9546-d366-d959cbc96699@intel.com \
--to=dave.hansen@intel.com \
--cc=bin.yang@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.gross@intel.com \
--cc=peterz@infradead.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).