]> git.ipfire.org Git - ipfire-3.x.git/commitdiff
pakfire: Import latest patches from upstream.
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 3 Feb 2013 20:52:14 +0000 (21:52 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 3 Feb 2013 20:52:14 +0000 (21:52 +0100)
pakfire/pakfire.nm
pakfire/patches/0001-A-new-try-to-get-the-parallelism-straight.patch [new file with mode: 0644]
pakfire/patches/0002-builder-Remove-pids-from-list-of-running-jobs-when-j.patch [new file with mode: 0644]
pakfire/patches/0003-Revert-A-new-try-to-get-the-parallelism-straight.patch [new file with mode: 0644]
pakfire/patches/0004-build-parallelism-New-way-to-figure-that-out.patch [new file with mode: 0644]

index 5b9f84d5bbccb674528eccbe0d96c6d7f9542b98..9eebd23ec99565263415af2a4b81eb6c776f4238 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = pakfire
 version    = 0.9.24
-release    = 1
+release    = 2
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Packaging
diff --git a/pakfire/patches/0001-A-new-try-to-get-the-parallelism-straight.patch b/pakfire/patches/0001-A-new-try-to-get-the-parallelism-straight.patch
new file mode 100644 (file)
index 0000000..cae4b75
--- /dev/null
@@ -0,0 +1,34 @@
+From 369ac3b365091ba1a26fb266a94d97adb3719cbc Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Thu, 24 Jan 2013 01:51:29 +0100
+Subject: [PATCH 1/4] A new try to get the parallelism straight.
+
+Getting back to CPU cores * 2.
+---
+ python/pakfire/system.py | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/python/pakfire/system.py b/python/pakfire/system.py
+index a9154de..6f67d31 100644
+--- a/python/pakfire/system.py
++++ b/python/pakfire/system.py
+@@ -156,15 +156,10 @@ class System(object):
+                       Calculates how many processes should be run
+                       simulatneously when compiling.
+               """
+-              # Check how many processes would fit into the
+-              # memory when each process takes up to 500MB.
+-              multiplicator = self.memory / (500 * 1024 * 1024)
+-              multiplicator = round(multiplicator)
+-
+               # Count the number of online CPU cores.
+               cpucount = os.sysconf("SC_NPROCESSORS_CONF")
+-              return min(multiplicator, cpucount * 2)
++              return cpucount * 2
+ # Create an instance of this class to only keep it once in memory.
+-- 
+1.7.11.7
+
diff --git a/pakfire/patches/0002-builder-Remove-pids-from-list-of-running-jobs-when-j.patch b/pakfire/patches/0002-builder-Remove-pids-from-list-of-running-jobs-when-j.patch
new file mode 100644 (file)
index 0000000..53ca008
--- /dev/null
@@ -0,0 +1,43 @@
+From c3319c905d03176308e01175f344cf33bd926113 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Sun, 3 Feb 2013 21:36:00 +0100
+Subject: [PATCH 2/4] builder: Remove pids from list of running jobs when job
+ has finished.
+
+---
+ python/pakfire/client/builder.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/python/pakfire/client/builder.py b/python/pakfire/client/builder.py
+index 9798cc4..2d6280c 100644
+--- a/python/pakfire/client/builder.py
++++ b/python/pakfire/client/builder.py
+@@ -251,6 +251,8 @@ class PakfireDaemon(object):
+                                       # Finally, remove the process from the process list.
+                                       self.processes.remove(process)
++                                      if self.pid2jobid.has_key(process.id):
++                                              del self.pid2jobid[process.id]
+                       return ret
+@@ -274,7 +276,6 @@ class PakfireDaemon(object):
+                       for process in self.processes[:]:
+                               job_id = self.pid2jobid.get(process.pid, None)
+                               if job_id and job_id in aborted_jobs:
+-
+                                       # Kill the process.
+                                       log.info("Killing process %s which was aborted by the user." \
+                                               % process.pid)
+@@ -283,6 +284,8 @@ class PakfireDaemon(object):
+                                       # Remove the process from the process list to avoid
+                                       # that is will be cleaned up in the normal way.
+                                       self.processes.remove(process)
++                                      if self.pid2jobid.has_key(process.id):
++                                              del self.pid2jobid[process.id]
+                       return True
+-- 
+1.7.11.7
+
diff --git a/pakfire/patches/0003-Revert-A-new-try-to-get-the-parallelism-straight.patch b/pakfire/patches/0003-Revert-A-new-try-to-get-the-parallelism-straight.patch
new file mode 100644 (file)
index 0000000..7db604a
--- /dev/null
@@ -0,0 +1,35 @@
+From 879abfa1d86f820326bd8edab5e7d5c8991cc9f0 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Sun, 3 Feb 2013 21:36:30 +0100
+Subject: [PATCH 3/4] Revert "A new try to get the parallelism straight."
+
+This reverts commit 369ac3b365091ba1a26fb266a94d97adb3719cbc
+and obviously this is not a solution either.
+---
+ python/pakfire/system.py | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/python/pakfire/system.py b/python/pakfire/system.py
+index 6f67d31..a9154de 100644
+--- a/python/pakfire/system.py
++++ b/python/pakfire/system.py
+@@ -156,10 +156,15 @@ class System(object):
+                       Calculates how many processes should be run
+                       simulatneously when compiling.
+               """
++              # Check how many processes would fit into the
++              # memory when each process takes up to 500MB.
++              multiplicator = self.memory / (500 * 1024 * 1024)
++              multiplicator = round(multiplicator)
++
+               # Count the number of online CPU cores.
+               cpucount = os.sysconf("SC_NPROCESSORS_CONF")
+-              return cpucount * 2
++              return min(multiplicator, cpucount * 2)
+ # Create an instance of this class to only keep it once in memory.
+-- 
+1.7.11.7
+
diff --git a/pakfire/patches/0004-build-parallelism-New-way-to-figure-that-out.patch b/pakfire/patches/0004-build-parallelism-New-way-to-figure-that-out.patch
new file mode 100644 (file)
index 0000000..f4621fc
--- /dev/null
@@ -0,0 +1,40 @@
+From f7a632ab069e3439f312023fc599dc659c197568 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Sun, 3 Feb 2013 21:40:16 +0100
+Subject: [PATCH 4/4] build parallelism: New way to figure that out.
+
+The system will now use either the old formula,
+CPU cores * 2 + 1 or the amount of memory in megabytes devided
+by 128 (i.e. each compiler process can have 128M RAM) which ever
+is less.
+---
+ python/pakfire/system.py | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/python/pakfire/system.py b/python/pakfire/system.py
+index a9154de..6d54d5f 100644
+--- a/python/pakfire/system.py
++++ b/python/pakfire/system.py
+@@ -157,14 +157,15 @@ class System(object):
+                       simulatneously when compiling.
+               """
+               # Check how many processes would fit into the
+-              # memory when each process takes up to 500MB.
+-              multiplicator = self.memory / (500 * 1024 * 1024)
++              # memory when each process takes up to 128MB.
++              multiplicator = self.memory / (128 * 1024 * 1024)
+               multiplicator = round(multiplicator)
+               # Count the number of online CPU cores.
+-              cpucount = os.sysconf("SC_NPROCESSORS_CONF")
++              cpucount = os.sysconf("SC_NPROCESSORS_CONF") * 2
++              cpucount += 1
+-              return min(multiplicator, cpucount * 2)
++              return min(multiplicator, cpucount)
+ # Create an instance of this class to only keep it once in memory.
+-- 
+1.7.11.7
+