Skip to content

Userfaultfd returns ENOMEM with > 900 active regision #91

@mcfadden8

Description

@mcfadden8

We are seeing the following error when attempting to register more than 900 regions with userfaultfd:

Tue Aug 27 13:57:55 PDT 2019
./db_bench --benchmarks=fillseq --num=40000000 --threads=24
LevelDB:    version 1.22
Date:       Tue Aug 27 13:57:55 2019
CPU:        96 * AMD EPYC 7401 24-Core Processor
CPUCache:   512 KB
Values:     100 bytes each (50 bytes after compression)
Entries:    40000000
RawSize:    4425.0 MB (estimated)
FileSize:   2517.7 MB (estimated)
WARNING: Snappy compression is not enabled
------------------------------------------------
100869:100900 [ERROR][/home/martymcf/.sessions/altus/src/umap/src/umap/Uffd.cpp:266]: register_region ioctl(UFFDIO_REGISTER) failed: Cannot allocate memoryNumber of regions is: 950
terminate called after throwing an instance of 'Umap::Exception'
  what():  ! UMAP Exception [/home/martymcf/.sessions/altus/src/umap/src/umap/Uffd.cpp:266]:  register_region ioctl(UFFDIO_REGISTER) failed: Cannot allocate memoryNumber of regions is: 950
/home/martymcf/run_db_bench.sh: line 39: 100869 Aborted                 (core dumped) ./db_bench --benchmarks=fillseq --num=$blocks --threads=$threads

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions