Hi, I want to send data using RMA function of SCIF.
Register is success. But do not write to remote memory.
strerror (errno) output "No such device or address" message is displayed.
Below is a simple code of both side(host, mic)
host side---------------
int len = 1024; void *ptr = NULL; uint32_t page_size = sysconf(_SC_PAGESIZE); posix_memalign(&ptr, page_size, len); scif_register( ep, ptr, len, 0, SCIF_PROT_READ | SCIF_PROT_WRITE, SCIF_MAP_FIXED) void *remote_ptr = NULL; scif_recv(ep, &remote_ptr, sizeof(void *), SCIF_RECV_BLOCK); strcpy(ptr, "Hello, World!"); ret = scif_writeto(ep, (long)ptr, strlen(ptr), (long)remote_ptr, 0); if(ret) { fprintf(stderr, "SCIF Writeto Failed(%s)\n", strerror(errno)); //"No such device or address" } scif_fence_signal( ep, (long)ptr, strlen(ptr), (long)remote_ptr, strlen(ptr) , SCIF_FENCE_INIT_SELF|SCIF_SIGNAL_LOCAL|SCIF_SIGNAL_REMOTE );
mic side---------------
int len = 1024; void *ptr; uint32_t page_size = sysconf(_SC_PAGESIZE); posix_memalign(&ptr, page_size, len); scif_register( new_ep, ptr, len, 0, SCIF_PROT_READ | SCIF_PROT_WRITE, 0); scif_send(new_ep, &ptr, sizeof(void *), SCIF_SEND_BLOCK); sleep(60);
Please give me a help.