Re: [PATCH] vmallocinfo: Add NUMA informations

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Eric Dumazet
Date: Monday, June 2, 2008 - 8:37 pm

KOSAKI Motohiro a =E9crit :
ut=20
ies.
Yes, good idea, thank you.

I also used nr_node_ids instead of MAX_NUMNODES in this second version :

[PATCH] vmallocinfo: Add NUMA informations

Christoph recently added /proc/vmallocinfo file to get information about =

vmalloc allocations.

This patch adds NUMA specific information, giving number of pages=20
allocated on each memory node.

This should help to check that vmalloc() is able to respect NUMA policies=
=2E

Example of output on a four nodes machine (one cpu per node)

1) network hash tables are evenly spreaded on four nodes (OK)
  (Same point for inodes and dentries hash tables)
2) iptables tables (x_tables) are correctly allocated on each cpu node=20
(OK).
3) sys_swapon() allocates its memory from one node only.
4) each loaded module is using memory on one node.

Sysadmins could tune their setup to change points 3) and 4) if necessary.=


grep "pages=3D"  /proc/vmallocinfo
0xffffc20000000000-0xffffc20000201000 2101248=20
alloc_large_system_hash+0x204/0x2c0 pages=3D512 vmalloc N0=3D128 N1=3D128=
=20
N2=3D128 N3=3D128
0xffffc20000201000-0xffffc20000302000 1052672=20
alloc_large_system_hash+0x204/0x2c0 pages=3D256 vmalloc N0=3D64 N1=3D64 N=
2=3D64=20
N3=3D64
0xffffc2000031a000-0xffffc2000031d000   12288=20
alloc_large_system_hash+0x204/0x2c0 pages=3D2 vmalloc N1=3D1 N2=3D1
0xffffc2000031f000-0xffffc2000032b000   49152=20
cramfs_uncompress_init+0x2e/0x80 pages=3D11 vmalloc N0=3D3 N1=3D3 N2=3D2 =
N3=3D3
0xffffc2000033e000-0xffffc20000341000   12288 sys_swapon+0x640/0xac0=20
pages=3D2 vmalloc N0=3D2
0xffffc20000341000-0xffffc20000344000   12288=20
xt_alloc_table_info+0xfe/0x130 [x_tables] pages=3D2 vmalloc N0=3D2
0xffffc20000344000-0xffffc20000347000   12288=20
xt_alloc_table_info+0xfe/0x130 [x_tables] pages=3D2 vmalloc N1=3D2
0xffffc20000347000-0xffffc2000034a000   12288=20
xt_alloc_table_info+0xfe/0x130 [x_tables] pages=3D2 vmalloc N2=3D2
0xffffc2000034a000-0xffffc2000034d000   12288=20
xt_alloc_table_info+0xfe/0x130 [x_tables] pages=3D2 vmalloc N3=3D2
0xffffc20004381000-0xffffc20004402000  528384=20
alloc_large_system_hash+0x204/0x2c0 pages=3D128 vmalloc N0=3D32 N1=3D32 N=
2=3D32=20
N3=3D32
0xffffc20004402000-0xffffc20004803000 4198400=20
alloc_large_system_hash+0x204/0x2c0 pages=3D1024 vmalloc vpages N0=3D256 =

N1=3D256 N2=3D256 N3=3D256
0xffffc20004803000-0xffffc20004904000 1052672=20
alloc_large_system_hash+0x204/0x2c0 pages=3D256 vmalloc N0=3D64 N1=3D64 N=
2=3D64=20
N3=3D64
0xffffc20004904000-0xffffc20004bec000 3047424 sys_swapon+0x640/0xac0=20
pages=3D743 vmalloc vpages N0=3D743
0xffffffffa0000000-0xffffffffa000f000   61440=20
sys_init_module+0xc27/0x1d00 pages=3D14 vmalloc N1=3D14
0xffffffffa000f000-0xffffffffa0014000   20480=20
sys_init_module+0xc27/0x1d00 pages=3D4 vmalloc N0=3D4
0xffffffffa0014000-0xffffffffa0017000   12288=20
sys_init_module+0xc27/0x1d00 pages=3D2 vmalloc N0=3D2
0xffffffffa0017000-0xffffffffa0022000   45056=20
sys_init_module+0xc27/0x1d00 pages=3D10 vmalloc N1=3D10
0xffffffffa0022000-0xffffffffa0028000   24576=20
sys_init_module+0xc27/0x1d00 pages=3D5 vmalloc N3=3D5
0xffffffffa0028000-0xffffffffa0050000  163840=20
sys_init_module+0xc27/0x1d00 pages=3D39 vmalloc N1=3D39
0xffffffffa0050000-0xffffffffa0052000    8192=20
sys_init_module+0xc27/0x1d00 pages=3D1 vmalloc N1=3D1
0xffffffffa0052000-0xffffffffa0056000   16384=20
sys_init_module+0xc27/0x1d00 pages=3D3 vmalloc N1=3D3
0xffffffffa0056000-0xffffffffa0081000  176128=20
sys_init_module+0xc27/0x1d00 pages=3D42 vmalloc N3=3D42
0xffffffffa0081000-0xffffffffa00ae000  184320=20
sys_init_module+0xc27/0x1d00 pages=3D44 vmalloc N3=3D44
0xffffffffa00ae000-0xffffffffa00b1000   12288=20
sys_init_module+0xc27/0x1d00 pages=3D2 vmalloc N3=3D2
0xffffffffa00b1000-0xffffffffa00b9000   32768=20
sys_init_module+0xc27/0x1d00 pages=3D7 vmalloc N0=3D7
0xffffffffa00b9000-0xffffffffa00c4000   45056=20
sys_init_module+0xc27/0x1d00 pages=3D10 vmalloc N3=3D10
0xffffffffa00c6000-0xffffffffa00e0000  106496=20
sys_init_module+0xc27/0x1d00 pages=3D25 vmalloc N2=3D25
0xffffffffa00e0000-0xffffffffa00f1000   69632=20
sys_init_module+0xc27/0x1d00 pages=3D16 vmalloc N2=3D16
0xffffffffa00f1000-0xffffffffa00f4000   12288=20
sys_init_module+0xc27/0x1d00 pages=3D2 vmalloc N3=3D2
0xffffffffa00f4000-0xffffffffa00f7000   12288=20
sys_init_module+0xc27/0x1d00 pages=3D2 vmalloc N3=3D2

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
---
 mm/vmalloc.c |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+)
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] vmallocinfo: Add NUMA informations , Eric Dumazet, (Sun Jun 1, 11:54 pm)
Re: [PATCH] vmallocinfo: Add NUMA informations , KOSAKI Motohiro, (Mon Jun 2, 12:09 am)
Re: [PATCH] vmallocinfo: Add NUMA informations, Eric Dumazet, (Mon Jun 2, 8:37 pm)
Re: [PATCH] vmallocinfo: Add NUMA informations, KOSAKI Motohiro, (Mon Jun 2, 9:35 pm)
Re: [PATCH] vmallocinfo: Add NUMA informations, Andrew Morton, (Tue Jun 3, 2:40 pm)
Re: [PATCH] vmallocinfo: Add NUMA informations, Eric Dumazet, (Wed Jun 4, 8:01 am)
Re: [PATCH] vmallocinfo: Add NUMA informations, Randy Dunlap, (Wed Jun 4, 8:33 am)
Re: [PATCH] vmallocinfo: Add NUMA informations, Christoph Lameter, (Mon Jun 9, 7:14 am)
Re: [PATCH] vmallocinfo: Add NUMA informations, Christoph Lameter, (Mon Jun 9, 7:16 am)
Re: [PATCH] vmallocinfo: Add NUMA informations, Christoph Lameter, (Mon Jun 9, 7:19 am)
Re: [PATCH] vmallocinfo: Add NUMA informations, Andrew Morton, (Mon Jun 9, 2:05 pm)
Re: [PATCH] vmallocinfo: Add NUMA informations, Pekka Enberg, (Mon Jun 9, 2:12 pm)