@@ -4026,6 +4026,45 @@ (define-public numactl
(license (list license:gpl2 ;programs
license:lgpl2.1)))) ;library
+(define-public numad
+ (package
+ (name "numad")
+ (version "0.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://pagure.io/numad.git")
+ (commit "d696d6c413c5b47b4bbae79e29ea132e52095af3")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
"03jjyzck1rwfy9wy5yj7q2hx0mhmhdvjxi3gzmh22p5j602i35ax"))))
+ (arguments
+ (list
+ #:tests? #f ;no tests
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("install -m")
+ "install -Dm")))) ;create directories
+ (delete 'configure))
+ #:make-flags #~(list (string-append "prefix="
+ #$output)
+ (string-append "CC="
+ #$(cc-for-target)))))
+ (build-system gnu-build-system)
+ (home-page "https://pagure.io/numad")
+ (synopsis
+ "Daemon that monitors NUMA topology and processes resource
consumption")
+ (description
+ "The daemon will attempt to match significant resource consumers
with
+available memory and CPU resources in order to reduce cross node
traffic. It
+will attempt to do some load balancing across NUMA nodes, and will
provide a
+pre-placement advisory interface (to entities like libvirt), so
significant