J'essaye d'écrire des données sur le disque dur à partir de la mémoire E/S (HIGHMEM). J'ai mmap'ed le tampon de mémoire en utilisant io_remap_pfn_range(). Mon application utilise O_DIRECT, pour l'opération de lecture/écriture de disque. En utilisant O_DIRECT, write renvoie EFAULT (mauvaise adresse). J'ai suivi cela jusqu'à __get_user_pages dans mm/memory.c où les pages E/S sont refusées. Et ceci est aussi profond que mes connaissances actuelles me permettent d'entrer dans le noyau. Je ne comprends pas pourquoi les pointeurs IO ne sont pas autorisés . Ultra-Fast disk IO est une exigence pour notre projet, donc toute copie en entre n'est pas une option. Tout indice est apprécié.en utilisant O_DIRECT avec la mémoire IO
Merci d'avance!