diff options
author | Jamie Liu <jamieliu@google.com> | 2019-06-06 16:27:09 -0700 |
---|---|---|
committer | Shentubot <shentubot@google.com> | 2019-06-06 16:29:46 -0700 |
commit | b3f104507d7a04c0ca058cbcacc5ff78d853f4ba (patch) | |
tree | fb45110e8c9329b16165a92e67edb2c184de0dd6 /pkg/sentry/mm/mm.go | |
parent | a26043ee53a2f38b81c9eaa098d115025e87f4c3 (diff) |
"Implement" mbind(2).
We still only advertise a single NUMA node, and ignore mempolicy
accordingly, but mbind() at least now succeeds and has effects reflected
by get_mempolicy().
Also fix handling of nodemasks: round sizes to unsigned long (as
documented and done by Linux), and zero trailing bits when copying them
out.
PiperOrigin-RevId: 251950859
Diffstat (limited to 'pkg/sentry/mm/mm.go')
-rw-r--r-- | pkg/sentry/mm/mm.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/pkg/sentry/mm/mm.go b/pkg/sentry/mm/mm.go index 0a026ff8c..604866d04 100644 --- a/pkg/sentry/mm/mm.go +++ b/pkg/sentry/mm/mm.go @@ -276,6 +276,12 @@ type vma struct { mlockMode memmap.MLockMode + // numaPolicy is the NUMA policy for this vma set by mbind(). + numaPolicy int32 + + // numaNodemask is the NUMA nodemask for this vma set by mbind(). + numaNodemask uint64 + // If id is not nil, it controls the lifecycle of mappable and provides vma // metadata shown in /proc/[pid]/maps, and the vma holds a reference. id memmap.MappingIdentity |