|
@@ -41,6 +41,7 @@ struct starpu_leveldb_obj
|
|
|
|
|
|
struct starpu_leveldb_base
|
|
|
{
|
|
|
+ char *path;
|
|
|
leveldb::DB* db;
|
|
|
/* if StarPU creates the leveldb */
|
|
|
bool created;
|
|
@@ -249,6 +250,7 @@ static void *starpu_leveldb_plug(void *parameter, starpu_ssize_t size STARPU_ATT
|
|
|
}
|
|
|
|
|
|
tmp->db = db;
|
|
|
+ tmp->path = strdup(parameter);
|
|
|
STARPU_ASSERT(status.ok());
|
|
|
return (void *) tmp;
|
|
|
}
|
|
@@ -259,15 +261,17 @@ static void starpu_leveldb_unplug(void *base)
|
|
|
struct starpu_leveldb_base *base_tmp = (struct starpu_leveldb_base *) base;
|
|
|
if(base_tmp->created)
|
|
|
delete base_tmp->db;
|
|
|
+ free(base->path);
|
|
|
free(base);
|
|
|
}
|
|
|
|
|
|
-static int get_leveldb_bandwidth_between_disk_and_main_ram(unsigned node)
|
|
|
+static int get_leveldb_bandwidth_between_disk_and_main_ram(unsigned node, void *base)
|
|
|
{
|
|
|
unsigned iter;
|
|
|
double timing_slowness, timing_latency;
|
|
|
double start;
|
|
|
double end;
|
|
|
+ struct starpu_leveldb_base *base_tmp = (struct starpu_leveldb_base *) base;
|
|
|
|
|
|
srand(time (NULL));
|
|
|
char *buf = (char *)malloc(STARPU_DISK_SIZE_MIN*sizeof(char));
|
|
@@ -311,7 +315,7 @@ static int get_leveldb_bandwidth_between_disk_and_main_ram(unsigned node)
|
|
|
free(buf);
|
|
|
|
|
|
_starpu_save_bandwidth_and_latency_disk((NITER/timing_slowness)*STARPU_DISK_SIZE_MIN, (NITER/timing_slowness)*STARPU_DISK_SIZE_MIN,
|
|
|
- timing_latency/NITER, timing_latency/NITER, node);
|
|
|
+ timing_latency/NITER, timing_latency/NITER, node, base_tmp->path);
|
|
|
return 1;
|
|
|
}
|
|
|
|