lkml.org 
[lkml]   [2015]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 00/10] evacuate struct page from the block layer, introduce __pfn_t
On 05/08/2015 10:05 AM, Ingo Molnar wrote:
> * Rik van Riel <riel@redhat.com> wrote:

>> Memory trends point in one direction, file size trends in another.
>>
>> For persistent memory, we would not need 4kB page struct pages
>> unless memory from a particular area was in small files AND those
>> files were being actively accessed. [...]
>
> Average file size on my system's /usr is 12.5K:
>
> triton:/usr> ( echo -n $(echo $(find . -type f -printf "%s\n") | sed 's/ /+/g' | bc); echo -n "/"; find . -type f -printf "%s\n" | wc -l; ) | bc
> 12502
>
>> [...] Large files (mapped in 2MB chunks) or inactive small files
>> would not need the 4kB page structs around.
>
> ... they are the utter uncommon case. 4K is here to stay, and for a
> very long time - until humans use computers I suspect.

There's a bit of an 80/20 thing going on, though.

The average file size may be small, but most data is used by
large files.

Additionally, a 2MB pmem area that has no small files on it that
are currently open will also not need 4kB page structs.

A system with 2TB of pmem might still only have a few thousand
small files open at any point in time. The rest of the memory
is either in large files, or in small files that have not been
opened recently. We can reclaim the struct pages of 4kB pages
that are not currently in use.

--
All rights reversed


\
 
 \ /
  Last update: 2015-05-08 17:21    [W:0.106 / U:3.212 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site