----- Original Message ----- > One of the specific items I wanted is /proc/buddyinfo. Well, it looks like /proc/buddyinfo date comes down to the functions in the kernel's seq_operations structure, where: proc_create("buddyinfo", S_IRUGO, NULL, &fragmentation_file_operations); leads to: static const struct file_operations fragmentation_file_operations = { .open = fragmentation_open, .read = seq_read, .llseek = seq_lseek, .release = seq_release, } which leads to: static int fragmentation_open(struct inode *inode, struct file *file) { return seq_open(file, &fragmentation_op); } which leads to: static const struct seq_operations fragmentation_op = { .start = frag_start, .next = frag_next, .stop = frag_stop, .show = frag_show, }; where the "frag_xxx" functions pull data from each NUMA node's "zone" structures. You can check the details in the kernel code, but from the crash utility perspective, the relevant structure addresses from which the data is pulled can be seen by "kmem -n", under the "NODE_ZONES" column: crash> kmem -n NODE SIZE PGLIST_DATA BOOTMEM_DATA NODE_ZONES 0 4711935 ffff88047e5d7000 ---- ffff88047e5d7000 ffff88047e5d7800 ffff88047e5d8000 ffff88047e5d8800 MEM_MAP START_PADDR START_MAPNR ffffea0000000040 1000 1 ZONE NAME SIZE MEM_MAP START_PADDR START_MAPNR 0 DMA 4095 ffffea0000000040 1000 1 1 DMA32 1044480 ffffea0000040000 1000000 4096 2 Normal 3663360 ffffea0004000000 100000000 1048576 3 Movable 0 0 0 0 ... So if you take the zone structure addresses ffff88047e5d7000, ffff88047e5d7800, etc., you can cast each of them as zone structures to see their individul contents, i.e., like: crash> zone ffff88047e5d7000 ... Dave -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility