Thread (19 messages) 19 messages, 3 authors, 2018-05-28

Re: [PATCH v2 3/4] mm: add find_alloc_contig_pages() interface

From: Vlastimil Babka <hidden>
Date: 2018-05-28 15:54:05
Also in: linux-mm, lkml

On 05/23/2018 08:07 PM, Reinette Chatre wrote:
On 5/23/2018 4:18 AM, Vlastimil Babka wrote:
quoted
On 05/22/2018 06:41 PM, Reinette Chatre wrote:
quoted
Currently the Cache Pseudo-Locking allocations are order based because I
assumed it was required by the allocator. The contiguous regions needed
by Cache Pseudo-Locking will not always be order based - instead it is
based on the granularity of the cache allocation. One example is a
platform with 55MB L3 cache that can be divided into 20 equal portions.
To support Cache Pseudo-Locking on this platform we need to be able to
allocate contiguous regions at increments of 2816KB (the size of each
portion). In support of this example platform regions needed would thus
be 2816KB, 5632KB, 8448KB, etc.
Will there be any alignment requirements for these allocations e.g. for
minimizing conflict misses?
Two views on the usage of the allocated memory are: On the user space
side, the kernel memory is mapped to userspace (using remap_pfn_range())
and thus need to be page aligned. On the kernel side the memory is
loaded into the cache and it is here where the requirement originates
for it to be contiguous. The memory being contiguous reduces the
likelihood of physical addresses from the allocated memory mapping to
the same cache line and thus cause cache evictions of memory we are
trying to load into the cache.
Hi, yeah that's what I've been thinking, and I guess page alignment is
enough for that after all. I'm just not used to cache sizes and ways
that are not power of two :)
I hope I answered your question, if not, please let me know which parts
I missed and I will try again.
Thanks!

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