Understanding page statistics

Martin Ichilevici de Oliveira iomartin at iomartin.net
Wed Aug 13 17:31:58 EDT 2014


Hello,

I'm starting to study and learn the kernel, and I'm particulary
interested in the virtual memory mechanism and it's application in NUMA
architectures.

As far as I could understand, the kernel keeps track of some
information/statistics about each page, and I'd like to read them with a
kernel module - just to see what kind of information is available
(something more detailed than /proc/<pid>/maps).

In a LWN article [1], I read the following:

"The scheduler will periodically scan through each process's address
space, revoking all access permissions to the pages that are currently
resident in RAM. The next time the affected process tries to access that
memory, a page fault will result. The scheduler will trap that fault and
restore access to the page in question; it will also increment an access
counter in a per-process array indexed by the NUMA node number."

I've built a simple kernel module that, given a PID and virtual address,
retrieves the corresponding struct page. I'm now unsure now where to look 
for such statistics and counters. Any hints on relevant data structures are
appreciated.

Thank you,
Martin

[1] : http://lwn.net/Articles/568870/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140813/eb62c3ac/attachment.bin 


More information about the Kernelnewbies mailing list