#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 } } refslogtreecommitdiff
path: root/tests/pack.scm
AgeCommit message (Expand)Author
2019-08-27pack: Create /tmp in Docker images....Ludovic Courtès
2019-03-24tests: Adjust 'guix pack -f squashfs' test....Ludovic Courtès
2018-11-06store-copy: Canonicalize the mtime and permissions of the store copy....Ludovic Courtès
2018-11-06pack: Add test for 'self-contained-tarball' with localstatedir....Ludovic Courtès
2018-11-06pack: Squashfs backend now honors '--localstatedir'....Ludovic Courtès
2018-11-06pack: Docker backend now honors '--localstatedir'....Ludovic Courtès
2018-11-06pack: Import (guix store database) only when '--localstatedir' is passed....Ludovic Courtès
2018-10-28tests: Fix typo....Ludovic Courtès
2018-10-19tests: Run 'guix pack' tests using the external store....Ludovic Courtès
2018-09-18tests: Skip 'self-contained-tarball' test unconditionally....Ludovic Courtès
2018-06-01pack: Adjust test to expect relative symlinks....Ludovic Courtès
2018-06-01tests: Fix arguments in pack test....Ricardo Wurmus
2017-03-22tests: Skip 'guix pack' test when networking is unavailable....Ludovic Courtès
2017-03-17pack: Move absolute file name to <compressor>....Ludovic Courtès
2017-03-14pack: Add unit test....Ludovic Courtès