18 #ifndef __DISK_UNISTD_GLOBAL_H__
19 #define __DISK_UNISTD_GLOBAL_H__
25 #include <sys/syscall.h>
32 #define STARPU_UNISTD_USE_COPY 1
33 #if !defined(HAVE_COPY_FILE_RANGE) && !defined(__NR_copy_file_range)
34 #undef STARPU_UNISTD_USE_COPY
43 starpu_pthread_mutex_t mutex;
47 void starpu_unistd_global_free (
void *base,
void *obj,
size_t size);
49 void starpu_unistd_global_close (
void *base,
void *obj,
size_t size);
50 int starpu_unistd_global_read (
void *base,
void *obj,
void *buf, off_t offset,
size_t size);
51 int starpu_unistd_global_write (
void *base,
void *obj,
const void *buf, off_t offset,
size_t size);
52 void * starpu_unistd_global_plug (
void *parameter, starpu_ssize_t size);
53 void starpu_unistd_global_unplug (
void *base);
54 int get_unistd_global_bandwidth_between_disk_and_main_ram(
unsigned node,
void *base);
55 void* starpu_unistd_global_async_read (
void *base,
void *obj,
void *buf, off_t offset,
size_t size);
56 void* starpu_unistd_global_async_write (
void *base,
void *obj,
void *buf, off_t offset,
size_t size);
57 void * starpu_unistd_global_async_full_write (
void * base,
void * obj,
void * ptr,
size_t size);
58 void * starpu_unistd_global_async_full_read (
void * base,
void * obj,
void ** ptr,
size_t * size,
unsigned dst_node);
59 void starpu_unistd_global_wait_request(
void * async_channel);
60 int starpu_unistd_global_test_request(
void * async_channel);
61 void starpu_unistd_global_free_request(
void * async_channel);
62 int starpu_unistd_global_full_read(
void *base,
void * obj,
void ** ptr,
size_t * size,
unsigned dst_node);
63 int starpu_unistd_global_full_write (
void * base,
void * obj,
void * ptr,
size_t size);
64 #ifdef STARPU_UNISTD_USE_COPY
65 void * starpu_unistd_global_copy(
void *base_src,
void* obj_src, off_t offset_src,
void *base_dst,
void* obj_dst, off_t offset_dst,
size_t size);