#author("2025-10-27T11:15:39+09:00","default:guest","guest") #author("2025-10-27T11:19:17+09:00","default:guest","guest") *参照元 [#q4eaa9d6] #backlinks *説明 [#o1b5083d] -パス: [[linux-5.15/include/linux/mmzone.h]] -FIXME: これは何? --説明 **引数 [#hf01426a] -struct zone *zone -- --[[linux-5.15/zone]] -struct zoneref *z -- --[[linux-5.15/zoneref]] -enum zone_type highidx -- --[[linux-5.15/zone_type]] -nodemask_t *nodemask -- --[[linux-5.15/nodemask_t]] **返り値 [#oe9609e7] -なし **参考 [#t8964feb] *実装 [#nfeaee2e] #define for_next_zone_zonelist_nodemask(zone, z, highidx, nodemask) \ for (zone = z->zone; \ zone; \ z = next_zones_zonelist(++z, highidx, nodemask), \ zone = zonelist_zone(z)) -z(struct zoneref)のzoneメンバーが指しているzoneが最初。 -zoneがNULLになるまで次のゾーンを取得する。 -zoneがNULLになるまで次のゾーンを取得する。zonerefは配列になっているので、++zで次のzonerefが参照できる。 --[[linux-5.15/next_zones_zonelist()]] -zonelist_zone(z)はz->zoneと同じ。なぜ2種類の方法で指定しているのだろう? --[[linux-5.15/zonelist_zone()]] *コメント [#oafb488d]