Subject: [bug#67055] [PATCH] gnu: Add numad.

From: [email-masked]
Date: Fri, 10 Nov 2023 20:46:19 +0000

---
  gnu/packages/linux.scm | 39 +++++++++++++++++++++++++++++++++++++++
  1 file changed, 39 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 95a66e3d6a..587f70729f 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -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
+processes can be pre-bound to nodes with sufficient available 
resources.")
+    (license license:lgpl2.1)))
+
  (define-public kbd-neo
    (package
      (name "kbd-neo")

base-commit: bb3ab24a296ffa5273b2e82a02ed057e90c095f3
-- 
2.41.0