Yes, that is true, it is really easy.
What part of this do you think is the problem to implement it in the
straight way for this model?
I think it won't be difficult to implement it since each pgdat can have
its page_cgroup array, which can care about holes in the node as well as
doing it for its struct page array.
Yes, each of ia64, powerpc and x86_64 use this memory model.
We should also care about the regular SPARSEMEM case as you mentioned.
--