There's also a really neat utility in the kernel source called page-types and you can learn a lot by compiling it and playing around, and of course reading the source (there are lots of tricks in there):
Finally, you could also read the source to vmtouch or my vmprobe utilities, or ask questions in the vmtouch github repo -- we can probably point you in the right direction.
https://www.kernel.org/doc/gorman/pdf/understand.pdf
And there are some maintained text files in the kernel source tree itself:
https://www.kernel.org/doc/Documentation/vm/
Of particular interest is the pagemap.txt file.
There's also a really neat utility in the kernel source called page-types and you can learn a lot by compiling it and playing around, and of course reading the source (there are lots of tricks in there):
http://lxr.free-electrons.com/source/tools/vm/page-types.c
Finally, you could also read the source to vmtouch or my vmprobe utilities, or ask questions in the vmtouch github repo -- we can probably point you in the right direction.