mirror of
https://github.com/rwinkhart/sys.git
synced 2026-08-29 21:36:43 -04:00
unix: add SchedGetaffinity and SchedSetaffinity on Linux
SchedGetaffinity and SchedSetaffinity are used to get and set a thread's CPU affinity mask. See http://man7.org/linux/man-pages/man2/sched_setaffinity.2.html for details. Also add a manual implementation of CpuSet_t and the corresponding accessor functions (mimicking the CPU_* macros from sched.h). Fixes golang/go#11243 Change-Id: Ia5abc0053cd06810b3b09ab65c27434f5323c1ad Reviewed-on: https://go-review.googlesource.com/85915 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
committed by
Tobias Klauser
parent
a3f2cbd54c
commit
12d9d5b281
@@ -24,6 +24,7 @@ package unix
|
||||
#include <netinet/tcp.h>
|
||||
#include <netpacket/packet.h>
|
||||
#include <poll.h>
|
||||
#include <sched.h>
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/epoll.h>
|
||||
@@ -594,3 +595,12 @@ const (
|
||||
CTRL_ATTR_MCAST_GRP_NAME = C.CTRL_ATTR_MCAST_GRP_NAME
|
||||
CTRL_ATTR_MCAST_GRP_ID = C.CTRL_ATTR_MCAST_GRP_ID
|
||||
)
|
||||
|
||||
// CPU affinity
|
||||
|
||||
type cpuMask C.__cpu_mask
|
||||
|
||||
const (
|
||||
_CPU_SETSIZE = C.__CPU_SETSIZE
|
||||
_NCPUBITS = C.__NCPUBITS
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user