We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
I am currently working on huge pages support for vmcache and during this process I noticed that too many pages get allocated when using 2MB pages.
The changes I did:
pageSize
4096
2097152
MAP_HUGETLB | MAP_HUGE_2MB
BTreeNodeHeader
BTreeNode
BTree
u16
u32
virtAllocSize
1ul << 16
max(pageSize, 1ul << 16)
mmap
madvice
virtMem
How I ran vmcache:
THREADS=1
DATASIZE=1
VIRTGB=6
PHYSGB=4
BLOCK
sysctl
The problem symptoms:
VIRTGB too low
BTreeNode::mergeNodes
BTree::trySplit
Does anyone have an idea for what the cause could be? Apart from the indices and sizes the implementation looks generic over the page size to me.
The text was updated successfully, but these errors were encountered:
No branches or pull requests
I am currently working on huge pages support for vmcache and during this process I noticed that too many pages get allocated when using 2MB pages.
The changes I did:
pageSize
from4096
to2097152
MAP_HUGETLB | MAP_HUGE_2MB
in the mmap flags in the non-exmap case (I currently only try to get huge pages working outside of exmap)BTreeNodeHeader
,BTreeNode
andBTree
fromu16
tou32
to avoid overflows when addressing in the full 2MB rangevirtAllocSize
from1ul << 16
tomax(pageSize, 1ul << 16)
to align themmap
allocation size to the page sizemadvice
call forvirtMem
was made conditional depending onpageSize
being4096
to avoid it when using huge pagesHow I ran vmcache:
THREADS=1
DATASIZE=1
VIRTGB=6
PHYSGB=4
BLOCK
pointing to a 16GB filesysctl
The problem symptoms:
VIRTGB too low
BTreeNode::mergeNodes
never gets calledBTree::trySplit
Does anyone have an idea for what the cause could be? Apart from the indices and sizes the implementation looks generic over the page size to me.
The text was updated successfully, but these errors were encountered: