Thread (23 messages) 23 messages, 7 authors, 2016-04-20

[PATCH 1/2] arm64: mem-model: add flatmem model for arm64

From: catalin.marinas@arm.com (Catalin Marinas)
Date: 2016-04-12 14:44:43
Also in: linux-mm, lkml

On Mon, Apr 11, 2016 at 11:40:13AM +0100, Will Deacon wrote:
On Mon, Apr 11, 2016 at 12:31:53PM +0200, Ard Biesheuvel wrote:
quoted
On 11 April 2016 at 11:59, Chen Feng [off-list ref] wrote:
quoted
Please see the pg-tables below.


With sparse and vmemmap enable.

---[ vmemmap start ]---
0xffffffbdc0200000-0xffffffbdc4800000          70M     RW NX SHD AF    UXN MEM/NORMAL
---[ vmemmap end ]---
OK, I see what you mean now. Sorry for taking so long to catch up.
quoted
The board is 4GB, and the memap is 70MB
1G memory --- 14MB mem_map array.
No, this is incorrect. 1 GB corresponds with 16 MB worth of struct
pages assuming sizeof(struct page) == 64

So you are losing 6 MB to rounding here, which I agree is significant.
I wonder if it makes sense to use a lower value for SECTION_SIZE_BITS
on 4k pages kernels, but perhaps we're better off asking the opinion
of the other cc'ees.
You need to be really careful making SECTION_SIZE_BITS smaller because
it has a direct correlation on the use of page->flags and you can end up
running out of bits fairly easily.
With SPARSEMEM_VMEMMAP, SECTION_SIZE_BITS no longer affect the page
flags since we no longer need to encode the section number in
page->flags.

-- 
Catalin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help