summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2021-08-22 14:51:02 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-08-23 08:25:50 +0100
commit28b3d8c01966d16f8ab8d61beaf9527f987f1ec6 (patch)
tree07e6c9c57693540e46d5d97034db6f7a2e94f345 /meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch
parentde48dcc93f83af37ea2c0d07a53e9cbb10279dca (diff)
downloadopenembedded-core-contrib-28b3d8c01966d16f8ab8d61beaf9527f987f1ec6.tar.gz
rng-tools: upgrade 6.13 -> 6.14
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch')
-rw-r--r--meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch b/meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch
new file mode 100644
index 0000000000..f7470d04bf
--- /dev/null
+++ b/meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch
@@ -0,0 +1,47 @@
+From e4909f329245db52415102e96fc7c99ca1445d05 Mon Sep 17 00:00:00 2001
+From: Neil Horman <nhorman@gmail.com>
+Date: Thu, 15 Jul 2021 08:48:10 -0400
+Subject: [PATCH] Allow for use of either pthread affinity set methods
+
+musl has support for pthread_setaffinity_np, but not
+pthread_attr_setaffinity_np. so check for hte existence of either
+function in configure, and use the appropriate one.
+
+Upstream-Status: Backport
+Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ rngd_jitter.c | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/rngd_jitter.c b/rngd_jitter.c
+index ea29436..5c7e09e 100644
+--- a/rngd_jitter.c
++++ b/rngd_jitter.c
+@@ -67,12 +67,25 @@ static int rngd_notime_start(void *ctx,
+ for(i=i-1;i>=0;i--) {
+ CPU_SET(i,cpus);
+ }
+- pthread_attr_setaffinity_np(&thread_ctx->notime_pthread_attr, cpusize, cpus);
+
++ /*
++ * Note that only one of:
++ * HAVE_PTHREAD_ATTR_SETAFFINITY
++ * and
++ * HAVE_PTHREAD_SETAFFINITY
++ * Will ever be set, as per the configure.ac logic
++ */
++#ifdef HAVE_PTHREAD_ATTR_SETAFFINITY
++ pthread_attr_setaffinity_np(&thread_ctx->notime_pthread_attr, cpusize, cpus);
++#endif
+ ret = -pthread_create(&thread_ctx->notime_thread_id,
+ &thread_ctx->notime_pthread_attr,
+ start_routine, arg);
+
++#ifdef HAVE_PTHREAD_SETAFFINITY
++ pthread_setaffinity_np(&thread_ctx->notime_thread_id, cpusize, cpus);
++#endif
++
+ CPU_FREE(cpus);
+ return ret;
+ }