|
@dvyukov | |||||
|
Mind blown: C heap compaction based on practical ideas. No pointer updates, instrumented writes, etc. Merge data from 2 pages into 1, map it on 2 virt addresses, temp mprotect source page to deal with concurrent writes. Free/reuse old page. Profit. twitter.com/emeryberger/st…
|
||||||
|
||||||
|
Manish
@ManishEarth
|
17. velj |
|
I've always wanted to see allocator stuff that used this.
See also: std::vector impl that can grow without ever needing to copy more than a page of data
|
||
|
|
||
|
Bruce Mitchener
@ArmyOfBruce
|
17. velj |
|
Been looking at playing with VMOs and VMARs in the Zircon kernel for Fuchsia to see what is possible there.
|
||
|
|
||
|
Avi Kivity
@AviKivity
|
17. velj |
|
mprotect()/munmap() calls stalling the CPU while broadcasting TLB flushes over the entire system. This is very expensive for many-core servers.
|
||
|
|
||
|
Xerxes Rånby
@xranby
|
18. velj |
|
I love when academic papers is backed up with sourcecode and examples! github.com/plasma-umass/m…
|
||
|
|
||
|
c[ad]+r
@ph_hofer
|
18. velj |
|
You'll burn at least sizeof(struct vm_area_struct) on Linux when you remap the page, so there's other memory/fragmentation to consider.
|
||
|
|
||
|
Bobby Powers
@lilbobbypowers
|
23. velj |
|
In our evaluation we use cgroups to measure amount of kernel memory allocated on behalf of the process - even with this still a win!
|
||
|
|
||
|
Sandro Manke (闪山)
@2dbrain
|
22. velj |
|
Yeah that paper is rather nice :)
|
||
|
|
||
|
;pHil /n_n
@inpHilltr8r
|
17. velj |
|
can't quite put my finger on why my gut thinks this is a bad solution to a well understood problem
something something page tables something
|
||
|
|
||
|
Carlo Alberto Ferraris
@CAFxX
|
17. velj |
|
Agreed that's really smart. I'm just worried about the security implications. Maybe memory tagging will help?
|
||
|
|
||