Toggling Linux CPU affinity masks from SBCL
License
nikodemus/sb-cpu-affinity
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
SB-CPU-AFFINITY is a simple API to Linux scheduler affinity masks for SBCL. See documentation of symbols exported from SB-CPU-AFFINITY package. Author: Nikodemus Siivola <nikodemus@random-state.net> License: MIT-style. See file LICENSE for details. Bugs and Issues: Currently each call to GET-CPU-AFFINITY-MASK (and WITH-CPU-AFFINITY-MASK) mallocs 128 bytes of memory for the mask, which is never freed by the system -- at least not on the Lisp side: freeing this memory causes glibc to complain about a double-free, and breaks SBCL. Patches and/or explantions for this welcome. Usage example: (asdf:oos 'asdf:load-op :sb-cpu-affinity) (use-package :sb-cpu-affinity) (with-cpu-affinity-mask (mask) (print mask)) (with-cpu-affinity-mask (mask :save t) ;; Remove all (clear-cpu-affinity-mask mask) ;; Set CPU 0. (setf (cpu-affinity-p 0 mask) t)) (with-cpu-affinity-mask (mask) (print mask)) (with-cpu-affinity-mask (mask :save t) ;; Only odd CPUs in mask. (dotimes (cpu (cpu-count)) (setf (cpu-affinity-p cpu mask) (oddp cpu)))) (with-cpu-affinity-mask (mask) (print mask))
About
Toggling Linux CPU affinity masks from SBCL
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published