I/Oメモリ(HIGHMEM)からHDDにデータを書き込もうとしています。 私はio_remap_pfn_range()を使ってメモリバッファをmmapしました。 私のアプリケーションは、ディスクの読み書き操作のためにO_DIRECTを使います。 O_DIRECTを使用すると、writeはEFAULT(不良アドレス)を返します。 IOページ が拒否されているmm/memory.cの__get_user_pagesに移動しました。そして、これは私の現在の知識が私に にカーネルに入るのを許すほど深いです。 IOポインタがなぜ でないのか分かりません。超高速ディスクIOは私たちのプロジェクトの要件です。その間に のコピーはオプションではありません。どんなヒントもありがとうございます。O_DIRECTとIOメモリを使用する
ありがとうございます!