Kirill Korotaev wrote:Nick can you elaborate what your proposal is?
Introduce calls to BC core over the kernel to charge locked memory.
Normaly new locked piece of memory may appear in insert_vm_struct,
but there are places (do_mmap_pgoff, dup_mmap etc) when new vma
is not inserted by insert_vm_struct(), but either link_vma-ed or
merged with some other - these places call BC code explicitly.
Plus sys_mlock[all] itself has to be patched to charge/uncharge
needed amount of pages.
I still haven't heard your good reasons why such a complex scheme is
required when my really simple proposal of unconditionally charging
the page to the container it was allocated by.
That has the benefit of not being full of user explotable holes andI guess you will have to account locked pages still and
also not putting such a huge burden on mm/ and the wider kernel in
general.