aboutsummaryrefslogtreecommitdiffstats
path: root/tools/squashfs4/patches/003-Only-use-available-CPUs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'tools/squashfs4/patches/003-Only-use-available-CPUs.patch')
-rw-r--r--tools/squashfs4/patches/003-Only-use-available-CPUs.patch92
1 files changed, 0 insertions, 92 deletions
diff --git a/tools/squashfs4/patches/003-Only-use-available-CPUs.patch b/tools/squashfs4/patches/003-Only-use-available-CPUs.patch
deleted file mode 100644
index 4f608b9ed6..0000000000
--- a/tools/squashfs4/patches/003-Only-use-available-CPUs.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From bc8e655a420d2f62bb0597947e96dce7b4d3fb36 Mon Sep 17 00:00:00 2001
-From: Wessel Dankers <wsl@fruit.je>
-Date: Sun, 30 Oct 2022 19:29:28 +0100
-Subject: [PATCH] Only use available CPUs
-
-Not all online CPUs may be available for the current process,
-especially when CPU affinity is involved. In such cases too many
-threads will be created, which will then compete unnecessarily
-for CPU time.
-
-Use sched_getaffinity() to determine the correct number of threads
-to create.
----
- squashfs-tools/mksquashfs.c | 16 ++++++++++++----
- squashfs-tools/unsquashfs.c | 13 ++++++++++---
- 2 files changed, 22 insertions(+), 7 deletions(-)
-
---- a/squashfs-tools/mksquashfs.c
-+++ b/squashfs-tools/mksquashfs.c
-@@ -52,7 +52,9 @@
- #include <ctype.h>
- #include <sys/sysinfo.h>
-
--#ifndef linux
-+#ifdef linux
-+#include <sched.h>
-+#else
- #include <sys/sysctl.h>
- #endif
-
-@@ -5079,7 +5081,15 @@ static void initialise_threads(int readq
- BAD_ERROR("Failed to set signal mask in intialise_threads\n");
-
- if(processors == -1) {
--#ifndef linux
-+#ifdef linux
-+ cpu_set_t cpu_set;
-+ CPU_ZERO(&cpu_set);
-+
-+ if(sched_getaffinity(0, sizeof cpu_set, &cpu_set) == -1)
-+ processors = sysconf(_SC_NPROCESSORS_ONLN);
-+ else
-+ processors = CPU_COUNT(&cpu_set);
-+#else
- int mib[2];
- size_t len = sizeof(processors);
-
-@@ -5096,8 +5106,6 @@ static void initialise_threads(int readq
- ERROR_EXIT(" Defaulting to 1\n");
- processors = 1;
- }
--#else
-- processors = sysconf(_SC_NPROCESSORS_ONLN);
- #endif
- }
-
---- a/squashfs-tools/unsquashfs.c
-+++ b/squashfs-tools/unsquashfs.c
-@@ -33,6 +33,7 @@
- #include "fnmatch_compat.h"
-
- #ifdef __linux__
-+#include <sched.h>
- #include <sys/sysinfo.h>
- #include <sys/sysmacros.h>
- #elif defined __FreeBSD__
-@@ -2719,7 +2720,15 @@ void initialise_threads(int fragment_buf
- }
-
- if(processors == -1) {
--#ifndef linux
-+#ifdef linux
-+ cpu_set_t cpu_set;
-+ CPU_ZERO(&cpu_set);
-+
-+ if(sched_getaffinity(0, sizeof cpu_set, &cpu_set) == -1)
-+ processors = sysconf(_SC_NPROCESSORS_ONLN);
-+ else
-+ processors = CPU_COUNT(&cpu_set);
-+#else
- int mib[2];
- size_t len = sizeof(processors);
-
-@@ -2735,8 +2744,6 @@ void initialise_threads(int fragment_buf
- "Defaulting to 1\n");
- processors = 1;
- }
--#else
-- processors = sysconf(_SC_NPROCESSORS_ONLN);
- #endif
- }
-