Skip to content
New issue

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

issue: 3884801 Check for resident hugepages to avoid SIGBUS #204

Open
wants to merge 2 commits into
base: vNext
Choose a base branch
from

Commits on Nov 11, 2024

  1. issue: 3884801 Check for resident hugepages to avoid SIGBUS

    In a containerized environment mmap() beyond the hugepages limit can be
    successful, but a further memory access triggers SIGBUS and terminates
    the process. Check that all the allocated hugepages are resident with
    mincore() to avoid the SIGBUS issue.
    
    Cost of the feature depends on the allocation size and hugepage size:
     - 32GB with 2MB pages takes 4400 us
     - 32GB with 1GB pages takes 11 us
     - 32MB with 2MB pages takes 5-6 us
    
    We expect a big memory preallocation at the start (2GB by default) and
    rare 32MB allocations during warmup period. Therefore, this feature can
    add several additional 5us latency spikes during warmup period.
    
    Signed-off-by: Dmytro Podgornyi <[email protected]>
    pasis committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    b80bf4a View commit details
    Browse the repository at this point in the history
  2. issue: 3884801 Add XLIO_QUICK_START parameter

    The parameter disables the check for resident hugepages. The check can
    be expensive and, on the other hand, can be irrelevant based on the
    system configuration. Therefore, disabling it reduces the initialization
    time which can be crucial in some scenarios.
    
    The name for the parameter is chosen to extend the idea of reducing
    initialization time in the future.
    
    Signed-off-by: Dmytro Podgornyi <[email protected]>
    pasis committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    eedc045 View commit details
    Browse the repository at this point in the history