Bläddra i källkod

Expose the disk swap node number to the application

Samuel Thibault 8 år sedan
förälder
incheckning
bc0d878278
3 ändrade filer med 10 tillägg och 3 borttagningar
  1. 4 0
      doc/doxygen/chapters/api/data_out_of_core.doxy
  2. 2 0
      include/starpu_disk.h
  3. 4 3
      src/core/disk.c

+ 4 - 0
doc/doxygen/chapters/api/data_out_of_core.doxy

@@ -101,6 +101,10 @@ method of the disk operations. This returns an opaque object pointer.
 \ingroup API_Out_Of_Core
 Close an existing data opened with starpu_disk_open.
 
+\var starpu_disk_swap_node
+\ingrop API_Out_Of_Core
+This contains the node number of the disk swap, if set up through the
+STARPU_DISK_SWAP variable.
 
 \var starpu_disk_stdio_ops
 \ingroup API_Out_Of_Core

+ 2 - 0
include/starpu_disk.h

@@ -67,4 +67,6 @@ void *starpu_disk_open(unsigned node, void *pos, size_t size);
 
 int starpu_disk_register(struct starpu_disk_ops *func, void *parameter, starpu_ssize_t size);
 
+int starpu_disk_swap_node;
+
 #endif /* __STARPU_DISK_H__ */

+ 4 - 3
src/core/disk.c

@@ -54,6 +54,8 @@ static struct disk_register **disk_register_list = NULL;
 static int disk_number = -1;
 static int size_register_list = 2;
 
+int starpu_disk_swap_node = -1;
+
 int starpu_disk_register(struct starpu_disk_ops *func, void *parameter, starpu_ssize_t size)
 {
 	STARPU_ASSERT_MSG(size < 0 || size >= SIZE_DISK_MIN,"Minimum disk size is %u Bytes ! (Here %u) \n", (int) SIZE_DISK_MIN, (int) size);
@@ -339,7 +341,6 @@ void _starpu_swap_init(void)
 	char *path;
 	starpu_ssize_t size;
 	struct starpu_disk_ops *ops;
-	int dd;
 
 	path = starpu_getenv("STARPU_DISK_SWAP");
 	if (!path)
@@ -389,8 +390,8 @@ void _starpu_swap_init(void)
 
 	size = starpu_get_env_number_default("STARPU_DISK_SWAP_SIZE", -1);
 
-	dd = starpu_disk_register(ops, path, ((size_t) size) << 20);
-	if (dd < 0)
+	starpu_disk_swap_node = starpu_disk_register(ops, path, ((size_t) size) << 20);
+	if (starpu_disk_swap_node < 0)
 	{
 		_STARPU_DISP("Warning: could not enable disk swap %s on %s with size %ld, could not enable disk swap", backend, path, (long) size);
 		return;