)]}'
{
  "log": [
    {
      "commit": "39da08cb074cf19cb249832a2a955dfb28837e65",
      "tree": "fded7c1757adb29aa682f86251addc66549b6907",
      "parents": [
        "4faf8d950ec438c49ae4526b897c30f8a2cad741"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Dec 14 17:58:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:13 2009 -0800"
      },
      "message": "hugetlb: offload per node attribute registrations\n\nOffload the registration and unregistration of per node hstate sysfs\nattributes to a worker thread rather than attempt the\nallocation/attachment or detachment/freeing of the attributes in the\ncontext of the memory hotplug handler.\n\nI don\u0027t know that this is absolutely required, but the registration can\nsleep in allocations and other mem hot plug handlers do it this way.  If\nit turns out this is NOT required, we can drop this patch.\n\nN.B.,  Only tested build, boot, libhugetlbfs regression.\n       i.e., no memory hotplug testing.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nReviewed-by: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a30523066cde73c1442b76224bb540de9f9b0b0",
      "tree": "57165f74e16def0b74bb6e6e05ec9a6b7bd42403",
      "parents": [
        "4e25b2576efda24c02e2d6b9bcb5965a3f865f33"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Dec 14 17:58:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:12 2009 -0800"
      },
      "message": "hugetlb: add per node hstate attributes\n\nAdd the per huge page size control/query attributes to the per node\nsysdevs:\n\n/sys/devices/system/node/node\u003cID\u003e/hugepages/hugepages-\u003csize\u003e/\n\tnr_hugepages       - r/w\n\tfree_huge_pages    - r/o\n\tsurplus_huge_pages - r/o\n\nThe patch attempts to re-use/share as much of the existing global hstate\nattribute initialization and handling, and the \"nodes_allowed\" constraint\nprocessing as possible.\n\nCalling set_max_huge_pages() with no node indicates a change to global\nhstate parameters.  In this case, any non-default task mempolicy will be\nused to generate the nodes_allowed mask.  A valid node id indicates an\nupdate to that node\u0027s hstate parameters, and the count argument specifies\nthe target count for the specified node.  From this info, we compute the\ntarget global count for the hstate and construct a nodes_allowed node mask\ncontain only the specified node.\n\nSetting the node specific nr_hugepages via the per node attribute\neffectively ignores any task mempolicy or cpuset constraints.\n\nWith this patch:\n\n(me):ls /sys/devices/system/node/node0/hugepages/hugepages-2048kB\n./  ../  free_hugepages  nr_hugepages  surplus_hugepages\n\nStarting from:\nNode 0 HugePages_Total:     0\nNode 0 HugePages_Free:      0\nNode 0 HugePages_Surp:      0\nNode 1 HugePages_Total:     0\nNode 1 HugePages_Free:      0\nNode 1 HugePages_Surp:      0\nNode 2 HugePages_Total:     0\nNode 2 HugePages_Free:      0\nNode 2 HugePages_Surp:      0\nNode 3 HugePages_Total:     0\nNode 3 HugePages_Free:      0\nNode 3 HugePages_Surp:      0\nvm.nr_hugepages \u003d 0\n\nAllocate 16 persistent huge pages on node 2:\n(me):echo 16 \u003e/sys/devices/system/node/node2/hugepages/hugepages-2048kB/nr_hugepages\n\n[Note that this is equivalent to:\n\tnumactl -m 2 hugeadmin --pool-pages-min 2M:+16\n]\n\nYields:\nNode 0 HugePages_Total:     0\nNode 0 HugePages_Free:      0\nNode 0 HugePages_Surp:      0\nNode 1 HugePages_Total:     0\nNode 1 HugePages_Free:      0\nNode 1 HugePages_Surp:      0\nNode 2 HugePages_Total:    16\nNode 2 HugePages_Free:     16\nNode 2 HugePages_Surp:      0\nNode 3 HugePages_Total:     0\nNode 3 HugePages_Free:      0\nNode 3 HugePages_Surp:      0\nvm.nr_hugepages \u003d 16\n\nGlobal controls work as expected--reduce pool to 8 persistent huge pages:\n(me):echo 8 \u003e/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages\n\nNode 0 HugePages_Total:     0\nNode 0 HugePages_Free:      0\nNode 0 HugePages_Surp:      0\nNode 1 HugePages_Total:     0\nNode 1 HugePages_Free:      0\nNode 1 HugePages_Surp:      0\nNode 2 HugePages_Total:     8\nNode 2 HugePages_Free:      8\nNode 2 HugePages_Surp:      0\nNode 3 HugePages_Total:     0\nNode 3 HugePages_Free:      0\nNode 3 HugePages_Surp:      0\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c04fc586c1a480ba198f03ae7b6cbd7b57380b91",
      "tree": "9d6544a3b62cc01dbcbb1e315b84378b45ba86d2",
      "parents": [
        "ee53a891f47444c53318b98dac947ede963db400"
      ],
      "author": {
        "name": "Gary Hade",
        "email": "garyhade@us.ibm.com",
        "time": "Tue Jan 06 14:39:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:00 2009 -0800"
      },
      "message": "mm: show node to memory section relationship with symlinks in sysfs\n\nShow node to memory section relationship with symlinks in sysfs\n\nAdd /sys/devices/system/node/nodeX/memoryY symlinks for all\nthe memory sections located on nodeX.  For example:\n/sys/devices/system/node/node1/memory135 -\u003e ../../memory/memory135\nindicates that memory section 135 resides on node1.\n\nAlso revises documentation to cover this change as well as updating\nDocumentation/ABI/testing/sysfs-devices-memory to include descriptions\nof memory hotremove files \u0027phys_device\u0027, \u0027phys_index\u0027, and \u0027state\u0027\nthat were previously not described there.\n\nIn addition to it always being a good policy to provide users with\nthe maximum possible amount of physical location information for\nresources that can be hot-added and/or hot-removed, the following\nare some (but likely not all) of the user benefits provided by\nthis change.\nImmediate:\n  - Provides information needed to determine the specific node\n    on which a defective DIMM is located.  This will reduce system\n    downtime when the node or defective DIMM is swapped out.\n  - Prevents unintended onlining of a memory section that was\n    previously offlined due to a defective DIMM.  This could happen\n    during node hot-add when the user or node hot-add assist script\n    onlines _all_ offlined sections due to user or script inability\n    to identify the specific memory sections located on the hot-added\n    node.  The consequences of reintroducing the defective memory\n    could be ugly.\n  - Provides information needed to vary the amount and distribution\n    of memory on specific nodes for testing or debugging purposes.\nFuture:\n  - Will provide information needed to identify the memory\n    sections that need to be offlined prior to physical removal\n    of a specific node.\n\nSymlink creation during boot was tested on 2-node x86_64, 2-node\nppc64, and 2-node ia64 systems.  Symlink creation during physical\nmemory hot-add tested on a 2-node x86_64 system.\n\nSigned-off-by: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36920e069a87c6fccffbc0ec5e74985d94d3bcc4",
      "tree": "9ce35f4a322f7b35d9f5ca6a909e91cea7041a5b",
      "parents": [
        "ea817398e68dfa25612229fda7fc74580cf915fb"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Sun Aug 27 01:23:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:32 2006 -0700"
      },
      "message": "[PATCH] register_one_node() compile fix\n\nregister_one_node()\u0027s should be defined under CONFIG_NUMA\u003dn.\nfixes following bug.\n\n  CC\t  init/version.o\n  LD\t  init/built-in.o\n  LD\t  .tmp_vmlinux1\n  mm/built-in.o: In function `add_memory\u0027: undefined reference to `register_one_node\u0027\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76b67ed9dce69a6a329cdd66f94af1787f417b62",
      "tree": "4d80993e607ae4a870f98ad3441795737570b012",
      "parents": [
        "dd0932d9d4301bd58a4d5a634a3a8298c4fc5e24"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jun 27 02:53:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:37 2006 -0700"
      },
      "message": "[PATCH] node hotplug: register cpu: remove node struct\n\nWith Goto-san\u0027s patch, we can add new pgdat/node at runtime.  I\u0027m now\nconsidering node-hot-add with cpu + memory on ACPI.\n\nI found acpi container, which describes node, could evaluate cpu before\nmemory. This means cpu-hot-add occurs before memory hot add.\n\nIn most part, cpu-hot-add doesn\u0027t depend on node hot add.  But register_cpu(),\nwhich creates symbolic link from node to cpu, requires that node should be\nonlined before register_cpu().  When a node is onlined, its pgdat should be\nthere.\n\nThis patch-set holds off creating symbolic link from node to cpu\nuntil node is onlined.\n\nThis removes node arguments from register_cpu().\n\nNow, register_cpu() requires \u0027struct node\u0027 as its argument.  But the array of\nstruct node is now unified in driver/base/node.c now (By Goto\u0027s node hotplug\npatch).  We can get struct node in generic way.  So, this argument is not\nnecessary now.\n\nThis patch also guarantees add cpu under node only when node is onlined.  It\nis necessary for node-hot-add vs.  cpu-hot-add patch following this.\n\nMoreover, register_cpu calculates cpu-\u003enode_id by cpu_to_node() without regard\nto its \u0027struct node *root\u0027 argument.  This patch removes it.\n\nAlso modify callers of register_cpu()/unregister_cpu, whose args are changed\nby register-cpu-remove-node-struct patch.\n\n[Brice.Goglin@ens-lyon.org: fix it]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Brice Goglin \u003cBrice.Goglin@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0fc44159bfcb5b0afa178f9c3f50db23aebc76ff",
      "tree": "d87e47c0f5e6b2eff1d9113d3495d185924734d9",
      "parents": [
        "1f04bbd2d396a701c5af2e5b92bad896c2550c16"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Tue Jun 27 02:53:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:36 2006 -0700"
      },
      "message": "[PATCH] Register sysfs file for hotplugged new node\n\nWhen new node becomes enable by hot-add, new sysfs file must be created for\nnew node.  So, if new node is enabled by add_memory(), register_one_node() is\ncalled to create it.  In addition, I386\u0027s arch_register_node() and a part of\nregister_nodes() of powerpc are consolidated to register_one_node() as a\ngeneric_code().\n\nThis is tested by Tiger4(IPF) with node hot-plug emulation.\n\nSigned-off-by: Keiichiro Tokunaga \u003ctokuanga.keiich@jp.fujitsu.com\u003e\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b45099b75832434c5113b9aed1499f8a69d13d5",
      "tree": "dbb6cf4a3937120be0cfd6f4699926fa4689ac8d",
      "parents": [
        "f409661877a25d11c2495bcd879807f17c286684"
      ],
      "author": {
        "name": "Keiichiro Tokunaga",
        "email": "tokunaga.keiich@jp.fujitsu.com",
        "time": "Sun May 08 21:28:53 2005 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:29 2005 -0700"
      },
      "message": "[PATCH] Driver core: unregister_node() for hotplug use\n\nThis adds a generic function \u0027unregister_node()\u0027.\nIt is used to remove objects of a node going away\nfor hotplug.  All the devices on the node must be\nunregistered before calling this function.\n\nSigned-off-by: Keiichiro Tokunaga \u003ctokunaga.keiich@jp.fujitsu.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -puN drivers/base/node.c~numa_hp_base drivers/base/node.c\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
