From ec17b7029a5f5f2e42d66380762ab24fa5174fc4 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Sat, 24 Sep 2011 00:30:47 +0000 Subject: Convert affinity control from the deprecated PLPA to HWLOC --- Affinity.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Affinity.c (limited to 'Affinity.c') 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 + +/*{ + +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++; +} + -- cgit v1.2.3