Thread (15 messages) flat view 15 messages, 3 authors, 2016-02-13
STALE3827d

[PATCH 1/2] arm64: mm: Enable CONT_SIZE aligned sections for 64k page kernels.

From: Ard Biesheuvel <hidden>
Date: 2016-02-12 16:46:50

On 12 February 2016 at 17:43, Jeremy Linton [off-list ref] wrote:
On 02/12/2016 10:28 AM, Ard Biesheuvel wrote:
quoted
On 12 February 2016 at 17:21, Jeremy Linton [off-list ref] wrote:
quoted
On 02/12/2016 10:11 AM, Ard Biesheuvel wrote:
quoted

On 12 February 2016 at 17:06, Jeremy Linton [off-list ref]
wrote:

(trimming)
quoted
quoted

   #if defined(CONFIG_DEBUG_ALIGN_RODATA)
-#define ALIGN_DEBUG_RO                 . = ALIGN(1<<SECTION_SHIFT);
-#define ALIGN_DEBUG_RO_MIN(min)                ALIGN_DEBUG_RO
+#if defined(CONFIG_ARM64_64K_PAGES)
+#define ALIGN_DEBUG_RO_MIN(min)                . = ALIGN(CONT_SIZE);
+#else
+#define ALIGN_DEBUG_RO_MIN(min)                . =
ALIGN(SECTION_SIZE);


Doesn't this align to 32 MB on 16k pages kernels?


Yes, I considered whether it was more appropriate to use CONT_SIZE for
16k
as well.

Opinions?
Looking at vmlinux.lds.S, I see that that would put _stext and
__init_begin at 32 MB aligned boundaries. making the size of the
kernel at least 64 MB. If I take your .rodata patch into account,
which adds a third instance of ALIGN_DEBUG_RO_MIN, the Image footprint
will rise to ~100 MB. Or am I missing something?
No, I think your correct. But, its an option, and it sort of depends on use
case. In a system with 100+GB of RAM it might be useful. Not so much on a
phone or small embedded system. I don't really see those people enabling
ALIGN_RODATA anyway. Worse, I expect the loss of RAM efficiently going from
4k-16k pages in a RAM constrained system to be a pretty big hit too.

I don't have any hard data one way or the other, and I don't have a strong
opinion. Although, I suspect at the moment the potential users of 16k pages
may tend toward the small side.
Well, the thing is, if you only use 2 MB of each 32 MB on average, you
gain nothing by going from contiguous pages to proper sections, since
the TLB footprint is the same. So my opinion would be to use CONT_SIZE
for 16k pages as well.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help