Re: [RFC] patch to /proc/meminfo to display NUMA stats

From: Keith Owens (kaos@ocs.com.au)
Date: Mon Apr 22 2002 - 18:39:31 EST


On Mon, 22 Apr 2002 10:05:19 -0700,
"Martin J. Bligh" <Martin.Bligh@us.ibm.com> wrote:
>Below is a patch to /proc/meminfo to display free, used and total
>memory per node on a NUMA machine. It works fine on an ia32
>machine, but is not yet ready for submission until I make it generic.
>Before I go to the effort of doing that, I thought I'd seek some feedback.
>
>diff -urN virgin-2.4.18/fs/proc/proc_misc.c linux-2.4.18-meminfo/fs/proc/proc_misc.c
>--- virgin-2.4.18/fs/proc/proc_misc.c Tue Nov 20 21:29:09 2001
>+++ linux-2.4.18-meminfo/fs/proc/proc_misc.c Mon Apr 15 09:31:32 2002
>+#ifdef CONFIG_NUMA
>+ for (nid = 0; nid < numnodes; ++nid) {
>+ si_meminfo_node(&i, nid);
>+ len += sprintf(page+len, "\n"
>+ "Node %d MemTotal: %8lu kB\n"
>+ "Node %d MemFree: %8lu kB\n"
>+ "Node %d MemUsed: %8lu kB\n"
>+ "Node %d HighTotal: %8lu kB\n"
>+ "Node %d HighFree: %8lu kB\n"
>+ "Node %d LowTotal: %8lu kB\n"
>+ "Node %d LowFree: %8lu kB\n",
>+ nid, K(i.totalram),
>+ nid, K(i.freeram),
>+ nid, K(i.totalram-i.freeram),
>+ nid, K(i.totalhigh),
>+ nid, K(i.freehigh),
>+ nid, K(i.totalram-i.totalhigh),
>+ nid, K(i.freeram-i.freehigh));
>+ }
>+#endif

meminfo_read_proc() assumes that all its output will fit in one page.
Currently it does, ~520 bytes. You are adding ~120 bytes per node so
it will break at ~29 nodes using 4K pages. To make that scalable,
meminfo_read_proc() must be converted to seq_file format.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Apr 23 2002 - 22:00:34 EST