物理メモリ/ページの割り当てに関する Linux デバイス ドライバーを試しています。どのアプリケーションでも呼び出すことができる単一の ioctl があります。これは、物理ページを割り当て、vm_insert_page を使用してプロセス メモリにマップするだけです。alloc_page() を使用して物理ページを割り当てています。私が知りたいのは、 alloc_page() によって割り当てられた物理ページが IOCTL を作成するプロセスに対してカウントされるかどうか、または単にドライバーに属する物理ページであるかどうかです。
私が言及しているカウントは、アンドロイドのメモリ不足のキラーやメモリ不足のキラーのようなものです。これらのコンポーネントは、メモリ不足またはメモリ不足の状況でどのプロセスを強制終了するかを決定する前に、プロセスによる物理メモリの使用状況を追跡します。
別の質問: GFP_HIGHUSER と GFP_HIGHUSER_MOVABLE の違いは何ですか? alloc_page(GFP_HIGHUSER) を使用すると、ページング不可の (ディスクにスワップされない) ページが得られることを理解しています。GFP_HIGHUSER_MOVABLE はこれを変更しますか? ソースを指摘しないでください。私がこれを見たソースには不十分なドキュメントがあるか、提供されたドキュメントから理解できないため、この質問をしています。