почему не работает псевдокод (O_DIRECT приводит к EFAULT)
in_fd = open("/dev/mem");
in_mmap = mmap(in_fd);
out_fd = open("/tmp/file", O_DIRECT);
write(out_fd, in_mmap, PAGE_SIZE);
пока следует (без O_DIRECT)
in_fd = open("/dev/mem");
in_mmap = mmap(in_fd);
out_fd = open("/tmp/file");
write(out_fd, in_mmap, PAGE_SIZE);
Я полагаю, это что-то со страниц виртуального ядра для страниц виртуальных пользователей, что не может быть переведено при вызове записи?
С уважением,
Friedrich