#include "types.hh" #include "util.hh" #include "affinity.hh" #if HAVE_SCHED_H #include #endif namespace nix { #if HAVE_SCHED_SETAFFINITY static bool didSaveAffinity = false; static cpu_set_t savedAffinity; #endif void setAffinityTo(int cpu) { #if HAVE_SCHED_SETAFFINITY if (sched_getaffinity(0, sizeof(cpu_set_t), &savedAffinity) == -1) return; didSaveAffinity = true; printMsg(lvlDebug, format("locking this thread to CPU %1%") % cpu); cpu_set_t newAffinity; CPU_ZERO(&newAffinity); CPU_SET(cpu, &newAffinity); if (sched_setaffinity(0, sizeof(cpu_set_t), &newAffinity) == -1) printMsg(lvlError, format("failed to lock thread to CPU %1%") % cpu); #endif } int lockToCurrentCPU() { #if HAVE_SCHED_SETAFFINITY int cpu = sched_getcpu(); if (cpu != -1) setAffinityTo(cpu); return cpu; #else return -1; #endif } void restoreAffinity() { #if HAVE_SCHED_SETAFFINITY if (!didSaveAffinity) return; if (sched_setaffinity(0, sizeof(cpu_set_t), &savedAffinity) == -1) printMsg(lvlError, "failed to restore affinity %1%"); #endif } } boutsummaryrefslogtreecommitdiff
path: root/gnu/build/chromium-extension.scm
1dc631e4f7. * gnu/home.scm (%profile-generation-rx): New variable. (home-generation-base): New procedure.
AgeCommit message (Expand)Author
2020-11-08Add (gnu build chromium-extension)....* gnu/build/chromium-extension.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. Marius Bakke
Ludovic Courtès
2022-07-17Revert "home: Add 'home-generation-base'."...This reverts commit 5df8f7802e8b45855e8f84830677001dc631e4f7. This commit or the next one appears to have broken ‘guix pull’. Tobias Geerinckx-Rice
2022-07-23home: Add 'home-generation-base'....* gnu/home.scm (%profile-generation-rx): New variable. (home-generation-base): New procedure. Ludovic Courtès