)]}'
{
  "commit": "a47a126ad5ea072aca3e611ed8f8dc6adad24bab",
  "tree": "be47608111f762eba4fc6e80c7c2fcd82ffd6fd6",
  "parents": [
    "cce770815869e9209171d819dfde89bcc738ab62"
  ],
  "author": {
    "name": "Eric Dumazet",
    "email": "dada1@cosmosbay.com",
    "time": "Wed Jul 23 21:27:38 2008 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Jul 24 10:47:17 2008 -0700"
  },
  "message": "vmallocinfo: add NUMA information\n\nChristoph recently added /proc/vmallocinfo file to get information about\nvmalloc allocations.\n\nThis patch adds NUMA specific information, giving number of pages\nallocated on each memory node.\n\nThis should help to check that vmalloc() is able to respect NUMA policies.\n\nExample of output on a four nodes machine (one cpu per node)\n\n1) network hash tables are evenly spreaded on four nodes (OK) (Same\n   point for inodes and dentries hash tables)\n\n2) iptables tables (x_tables) are correctly allocated on each cpu node\n   (OK).\n\n3) sys_swapon() allocates its memory from one node only.\n\n4) each loaded module is using memory on one node.\n\nSysadmins could tune their setup to change points 3) and 4) if necessary.\n\ngrep \"pages\u003d\"  /proc/vmallocinfo\n0xffffc20000000000-0xffffc20000201000 2101248 alloc_large_system_hash+0x204/0x2c0 pages\u003d512 vmalloc N0\u003d128 N1\u003d128 N2\u003d128 N3\u003d128\n0xffffc20000201000-0xffffc20000302000 1052672 alloc_large_system_hash+0x204/0x2c0 pages\u003d256 vmalloc N0\u003d64 N1\u003d64 N2\u003d64 N3\u003d64\n0xffffc2000031a000-0xffffc2000031d000   12288 alloc_large_system_hash+0x204/0x2c0 pages\u003d2 vmalloc N1\u003d1 N2\u003d1\n0xffffc2000031f000-0xffffc2000032b000   49152 cramfs_uncompress_init+0x2e/0x80 pages\u003d11 vmalloc N0\u003d3 N1\u003d3 N2\u003d2 N3\u003d3\n0xffffc2000033e000-0xffffc20000341000   12288 sys_swapon+0x640/0xac0 pages\u003d2 vmalloc N0\u003d2\n0xffffc20000341000-0xffffc20000344000   12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages\u003d2 vmalloc N0\u003d2\n0xffffc20000344000-0xffffc20000347000   12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages\u003d2 vmalloc N1\u003d2\n0xffffc20000347000-0xffffc2000034a000   12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages\u003d2 vmalloc N2\u003d2\n0xffffc2000034a000-0xffffc2000034d000   12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages\u003d2 vmalloc N3\u003d2\n0xffffc20004381000-0xffffc20004402000  528384 alloc_large_system_hash+0x204/0x2c0 pages\u003d128 vmalloc N0\u003d32 N1\u003d32 N2\u003d32 N3\u003d32\n0xffffc20004402000-0xffffc20004803000 4198400 alloc_large_system_hash+0x204/0x2c0 pages\u003d1024 vmalloc vpages N0\u003d256 N1\u003d256 N2\u003d256 N3\u003d256\n0xffffc20004803000-0xffffc20004904000 1052672 alloc_large_system_hash+0x204/0x2c0 pages\u003d256 vmalloc N0\u003d64 N1\u003d64 N2\u003d64 N3\u003d64\n0xffffc20004904000-0xffffc20004bec000 3047424 sys_swapon+0x640/0xac0 pages\u003d743 vmalloc vpages N0\u003d743\n0xffffffffa0000000-0xffffffffa000f000   61440 sys_init_module+0xc27/0x1d00 pages\u003d14 vmalloc N1\u003d14\n0xffffffffa000f000-0xffffffffa0014000   20480 sys_init_module+0xc27/0x1d00 pages\u003d4 vmalloc N0\u003d4\n0xffffffffa0014000-0xffffffffa0017000   12288 sys_init_module+0xc27/0x1d00 pages\u003d2 vmalloc N0\u003d2\n0xffffffffa0017000-0xffffffffa0022000   45056 sys_init_module+0xc27/0x1d00 pages\u003d10 vmalloc N1\u003d10\n0xffffffffa0022000-0xffffffffa0028000   24576 sys_init_module+0xc27/0x1d00 pages\u003d5 vmalloc N3\u003d5\n0xffffffffa0028000-0xffffffffa0050000  163840 sys_init_module+0xc27/0x1d00 pages\u003d39 vmalloc N1\u003d39\n0xffffffffa0050000-0xffffffffa0052000    8192 sys_init_module+0xc27/0x1d00 pages\u003d1 vmalloc N1\u003d1\n0xffffffffa0052000-0xffffffffa0056000   16384 sys_init_module+0xc27/0x1d00 pages\u003d3 vmalloc N1\u003d3\n0xffffffffa0056000-0xffffffffa0081000  176128 sys_init_module+0xc27/0x1d00 pages\u003d42 vmalloc N3\u003d42\n0xffffffffa0081000-0xffffffffa00ae000  184320 sys_init_module+0xc27/0x1d00 pages\u003d44 vmalloc N3\u003d44\n0xffffffffa00ae000-0xffffffffa00b1000   12288 sys_init_module+0xc27/0x1d00 pages\u003d2 vmalloc N3\u003d2\n0xffffffffa00b1000-0xffffffffa00b9000   32768 sys_init_module+0xc27/0x1d00 pages\u003d7 vmalloc N0\u003d7\n0xffffffffa00b9000-0xffffffffa00c4000   45056 sys_init_module+0xc27/0x1d00 pages\u003d10 vmalloc N3\u003d10\n0xffffffffa00c6000-0xffffffffa00e0000  106496 sys_init_module+0xc27/0x1d00 pages\u003d25 vmalloc N2\u003d25\n0xffffffffa00e0000-0xffffffffa00f1000   69632 sys_init_module+0xc27/0x1d00 pages\u003d16 vmalloc N2\u003d16\n0xffffffffa00f1000-0xffffffffa00f4000   12288 sys_init_module+0xc27/0x1d00 pages\u003d2 vmalloc N3\u003d2\n0xffffffffa00f4000-0xffffffffa00f7000   12288 sys_init_module+0xc27/0x1d00 pages\u003d2 vmalloc N3\u003d2\n\n[akpm@linux-foundation.org: fix comment]\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7f268f327d750e725f1e5ca5ddfe99dcb8014cd5",
      "old_mode": 33188,
      "old_path": "Documentation/filesystems/proc.txt",
      "new_id": "8c6384bdfed451280c6a54580a9840ee6f78b3b5",
      "new_mode": 33188,
      "new_path": "Documentation/filesystems/proc.txt"
    },
    {
      "type": "modify",
      "old_id": "b14f43d25e9eeb5705d9dbc484c839f855481132",
      "old_mode": 33188,
      "old_path": "fs/proc/proc_misc.c",
      "new_id": "ded96986296099a036af1400a1ecdd7f3f71c058",
      "new_mode": 33188,
      "new_path": "fs/proc/proc_misc.c"
    },
    {
      "type": "modify",
      "old_id": "6e45b0f3d1256e0bdc3a3caffa74597cf96a5138",
      "old_mode": 33188,
      "old_path": "mm/vmalloc.c",
      "new_id": "35f2938162948b02003007c31686f1b58d7af542",
      "new_mode": 33188,
      "new_path": "mm/vmalloc.c"
    }
  ]
}
