summaryrefslogtreecommitdiffstats
path: root/Affinity.c
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2011-09-24 00:30:47 +0000
committerHisham Muhammad <hisham@gobolinux.org>2011-09-24 00:30:47 +0000
commitec17b7029a5f5f2e42d66380762ab24fa5174fc4 (patch)
tree39de052be8fcdbb1a58150eedde74bfbc0d5b92c /Affinity.c
parentd07b043ee07caa5da9e93a5a2ca9165ff98f85d7 (diff)
Convert affinity control from the deprecated PLPA to HWLOC
Diffstat (limited to 'Affinity.c')
-rw-r--r--Affinity.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/Affinity.c b/Affinity.c
new file mode 100644
index 00000000..0b2bd465
--- /dev/null
+++ b/Affinity.c
@@ -0,0 +1,36 @@
+
+#include "config.h"
+#include "Affinity.h"
+#include <stdlib.h>
+
+/*{
+
+typedef struct Affinity_ {
+ int size;
+ int used;
+ int* cpus;
+} Affinity;
+
+}*/
+
+Affinity* Affinity_new() {
+ Affinity* this = calloc(sizeof(Affinity), 1);
+ this->size = 8;
+ this->cpus = calloc(sizeof(int), this->size);
+ return this;
+}
+
+void Affinity_delete(Affinity* this) {
+ free(this->cpus);
+ free(this);
+}
+
+void Affinity_add(Affinity* this, int id) {
+ if (this->used == this->size) {
+ this->size *= 2;
+ this->cpus = realloc(this->cpus, sizeof(int) * this->size);
+ }
+ this->cpus[this->used] = id;
+ this->used++;
+}
+

© 2014-2024 Faster IT GmbH | imprint | privacy policy