Re: [PATCH 2/2] arm64: Allow changing of attributes outside of modules

From: Laura Abbott
Date: Thu Nov 05 2015 - 20:11:30 EST

On 11/05/2015 03:10 AM, Xishi Qiu wrote:
On 2015/11/5 2:12, Laura Abbott wrote:

On 11/03/2015 06:59 PM, zhong jiang wrote:

Hi Laura

This patch seems vaild, but I didn't feel very reasonable.
Because of the large page to make TLB performance better, just
split it if it is necessary.therefore, I think the first thing
we try to keep it, if they fail ,and then to split.

I'm not quite sure I understand the request. We know we are going
to have to have something mapped at page size granularity so we
are going to have to break down the larger mappings no matter
what. Can you explain a bit more where you think we could try to
keep the larger mappings?

Hi Laura,

He means like this, if the range is aligned with large page, we
need not to split it, just change the flag.

This complicates the logic for doing the update. Apply to page range
nicely walks across all the 4K pages and does the update. It looks
like x86 does the check to keep the large pages though so I'll
give it some thought.

I have one more question.

if (!pud_none(old_pud))
memblock_free(table, PAGE_SIZE);

Here we will free the memory from pmd page, so why not free
more memory from 512 pte pages, if the 512 old pmds are not none?

It would be nice to reclaim the memory but I'm not sure if that will
work. The memory was allocated before any of the regular kernel data
structures were set up. It's not clear if giving the pages back to
the buddy allocator would actually work. I'll take a look though.
Xishi Qiu


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at