From 778bc455586d2b53d76e054190a45d6614347d76 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 19 Jan 2021 10:51:50 +0100 Subject: [PATCH] mem: add LOCKED flag to mlock the mapped memory --- src/pipewire/mem.c | 3 +++ src/pipewire/mem.h | 1 + 2 files changed, 4 insertions(+) diff --git a/src/pipewire/mem.c b/src/pipewire/mem.c index 2f2a130f1..d9f65f779 100644 --- a/src/pipewire/mem.c +++ b/src/pipewire/mem.c @@ -296,6 +296,9 @@ static struct mapping * memblock_map(struct memblock *b, else fl |= MAP_SHARED; + if (flags & PW_MEMMAP_FLAG_LOCKED) + fl |= MAP_LOCKED; + if (flags & PW_MEMMAP_FLAG_TWICE) { pw_log_error(NAME" %p: implement me PW_MEMMAP_FLAG_TWICE", p); errno = ENOTSUP; diff --git a/src/pipewire/mem.h b/src/pipewire/mem.h index b1751819a..a695e9814 100644 --- a/src/pipewire/mem.h +++ b/src/pipewire/mem.h @@ -51,6 +51,7 @@ enum pw_memmap_flags { PW_MEMMAP_FLAG_TWICE = (1 << 2), /**< map the same area twice after each other, * creating a circular ringbuffer */ PW_MEMMAP_FLAG_PRIVATE = (1 << 3), /**< writes will be private */ + PW_MEMMAP_FLAG_LOCKED = (1 << 4), /**< lock the memory into RAM */ PW_MEMMAP_FLAG_READWRITE = PW_MEMMAP_FLAG_READ | PW_MEMMAP_FLAG_WRITE, };