linuxのメモ

Linux kernelの実装を解説していきます (対象ver 4.5)

2016-06-03から1日間の記事一覧

アドレッシング - __section_mem_map_addr()

概要 セクションのデータからページのデータへのアドレスを取得する 詳細 引数で受け取ったstruct mem_section型のセクションのデータからsection_mem_mapメンバの値を取得する 取得した値とSECTION_MAP_MASKの論理積で算出されるアドレスをページのデータが…

アドレッシング - __pfn_to_section()

概要 ページフレーム番号からセクションのデータを取得する 詳細 pfn_to_section_nr()でページフレームからセクション番号を取得し、__nr_to_section()でセクション番号からセクションのデータを取得する

アドレッシング - __nr_to_section()

概要 セクション番号に一致するセクションのデータを取得する 詳細 SECTION_NR_TO_ROOT()にセクション番号を渡して取得したインデックスがmem_section配列で無効な値の場合はNULLを返す それ以外の場合は二次元配列であるmem_sectionから取得したインデック…

アドレッシング - SECTION_NR_TO_ROOT()

概要 セクションのルート番号を取得する 詳細 セクション番号をSECTIONS_PER_ROOTで割ることでセクションが含まれるルート番号を取得する

アドレッシング - pfn_to_section_nr()

概要 ページフレーム番号からセクション番号を取得する 詳細 ページフレーム番号をPFN_SECTION_SHIFTビット右にシフトし、セクション番号を取得する

アドレッシング - arch_local_page_offset()

概要 ノード内のページのオフセット値を取得する 詳細 このマクロでは以下の引数を受け取る ページフレーム番号を示す : pfn ノード番号を示す : nid NODE_DATA()にnidを渡してノードのデータを取得する 取得したデータのnode_start_pfnのメンバをpfnの値か…

NUMA - NODE_DATA()

概要 ノードのデータを取得する 詳細 同名の配列から指定したノードIDの値を取得する 配列は MAX_NUMNODES 個の要素を持つstruct pglist_data型の配列で、EXPORT_SYMBOL()によりモジュールからアクセス可能なシンボルとなる