注:HAVE_ARCH_XXXは、汎用の関数を定義する一方、各アーキテクチャ用に最適化されたルーチンがある場合はそれを使うようにする仕組み。例えば、__HAVE_ARCH_MEMCPYなどで利用されている。 という構文には「意味がなく、追跡が難しいため、カーネルソースから追放するべきだ」と主張しました。具体的には、USE_ELF_CORE_DUMP、HAVE_PCI_MMAP、ARCH_HAS_PREFETCH、HAVE_CSUM_COPY_USERなどを例として挙げ、 この方式を利用するとコードが見にくくなる 実際に一貫性のない名称が利用されており、特に方式として確立されていないのに慣習として使われている といった点を問題として指摘しました。 ではどうするべきでしょうか? Linusは、実装するのなら、Makefileで のようにして汎用のヘッダを定義するのがよいだろう。その方がgrep