On Fri, May 01, 2020 at 09:15:30PM +0900, Joonsoo Kim wrote: > I think that PageHighMemZone() is long and complicated enough to have > a macro. It is. But then again it also shouldn't really be used by anything but MM internals. > > PageHighMemZone(page) = is_highmem_idx(zone_idx(page_zone(page)) > > Instead of open-code, how about changing the style of macro like as > page_from_highmem()? What PageHighMemZone() represent is derivated > attribute from the page so PageXXX() style may not be appropriate. Maybe page_is_highmem_zone() with a big kerneldoc comment explaining the use case? Bonus points of killing enough users that it can be in mm/internal.h.