)]}'
{
  "log": [
    {
      "commit": "6715ddf94576ff39f5d1cda8d4c568d3b79e82ec",
      "tree": "208f32528f28a4ee1d2cff6836830c900ff7f31f",
      "parents": [
        "4b0ef1fe8a626f0ba7f649764f979d0dc9eab86b"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Dec 12 13:51:49 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 17:38:33 2012 -0800"
      },
      "message": "hotplug: update nodemasks management\n\nUpdate nodemasks management for N_MEMORY.\n\n[lliubbo@gmail.com: fix build]\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Hillf Danton \u003cdhillf@gmail.com\u003e\nCc: Lin Feng \u003clinfeng@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Bob Liu \u003clliubbo@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "511c2aba8f07fc45bdcba548cb63f7b8a450c6dc",
      "tree": "6a1a853e60e0004f5895d78231ed1bea33fecaac",
      "parents": [
        "fcf07d22f089856631b52a75c35ba3c33b70a1b4"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Dec 11 16:03:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 17:22:28 2012 -0800"
      },
      "message": "mm, memory-hotplug: dynamic configure movable memory and portion memory\n\nAdd online_movable and online_kernel for logic memory hotplug.  This is\nthe dynamic version of \"movablecore\" \u0026 \"kernelcore\".\n\nWe have the same reason to introduce it as to introduce \"movablecore\" \u0026\n\"kernelcore\".  It has the same motive as \"movablecore\" \u0026 \"kernelcore\", but\nit is dynamic/running-time:\n\no We can configure memory as kernelcore or movablecore after boot.\n\n  Userspace workload is increased, we need more hugepage, we can\u0027t use\n  \"online_movable\" to add memory and allow the system use more\n  THP(transparent-huge-page), vice-verse when kernel workload is increase.\n\n  Also help for virtualization to dynamic configure host/guest\u0027s memory,\n  to save/(reduce waste) memory.\n\n  Memory capacity on Demand\n\no When a new node is physically online after boot, we need to use\n  \"online_movable\" or \"online_kernel\" to configure/portion it as we\n  expected when we logic-online it.\n\n  This configuration also helps for physically-memory-migrate.\n\no all benefit as the same as existed \"movablecore\" \u0026 \"kernelcore\".\n\no Preparing for movable-node, which is very important for power-saving,\n  hardware partitioning and high-available-system(hardware fault\n  management).\n\n(Note, we don\u0027t introduce movable-node here.)\n\nAction behavior:\nWhen a memoryblock/memorysection is onlined by \"online_movable\", the kernel\nwill not have directly reference to the page of the memoryblock,\nthus we can remove that memory any time when needed.\n\nWhen it is online by \"online_kernel\", the kernel can use it.\nWhen it is online by \"online\", the zone type doesn\u0027t changed.\n\nCurrent constraints:\nOnly the memoryblock which is adjacent to the ZONE_MOVABLE\ncan be online from ZONE_NORMAL to ZONE_MOVABLE.\n\n[akpm@linux-foundation.org: use min_t, cleanups]\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nCc: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9713679dbd2a6ecb840cd5b65a3ec555c1ec3d4",
      "tree": "b998ae43dc18e7459cab5a2cb5ba12900c96c7e1",
      "parents": [
        "6dcd73d7011ba9046f9b98e7f7c9d958f5810e6b"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Dec 11 16:01:03 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 17:22:23 2012 -0800"
      },
      "message": "memory_hotplug: fix possible incorrect node_states[N_NORMAL_MEMORY]\n\nCurrently memory_hotplug only manages the node_states[N_HIGH_MEMORY], it\nforgets to manage node_states[N_NORMAL_MEMORY].  This may cause\nnode_states[N_NORMAL_MEMORY] to become incorrect.\n\nExample, if a node is empty before online, and we online a memory which is\nin ZONE_NORMAL.  And after online, node_states[N_HIGH_MEMORY] is correct,\nbut node_states[N_NORMAL_MEMORY] is incorrect, the online code doesn\u0027t set\nthe new online node to node_states[N_NORMAL_MEMORY].\n\nThe same thing will happen when offlining (the offline code doesn\u0027t clear\nthe node from node_states[N_NORMAL_MEMORY] when needed).  Some memory\nmanagment code depends node_states[N_NORMAL_MEMORY], so we have to fix up\nthe node_states[N_NORMAL_MEMORY].\n\nWe add node_states_check_changes_online() and\nnode_states_check_changes_offline() to detect whether\nnode_states[N_HIGH_MEMORY] and node_states[N_NORMAL_MEMORY] are changed\nwhile hotpluging.\n\nAlso add @status_change_nid_normal to struct memory_notify, thus the\nmemory hotplug callbacks know whether the node_states[N_NORMAL_MEMORY] are\nchanged.  (We can add a @flags and reuse @status_change_nid instead of\nintroducing @status_change_nid_normal, but it will add much more\ncomplexity in memory hotplug callback in every subsystem.  So introducing\n@status_change_nid_normal is better and it doesn\u0027t change the sematics of\n@status_change_nid)\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nCc: Rob Landley \u003crob@landley.net\u003e\nCc: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c94bed8e1960587d3d93664b11ebf22677c1a541",
      "tree": "e63acbfb5c6950c137f1b9d89ddc147c82188f23",
      "parents": [
        "3b729f7647875624dc498b65f3244b2edc9f4a07"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Tue Apr 10 00:22:13 2012 +0900"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Apr 16 14:37:13 2012 +0200"
      },
      "message": "Documentation: Fix typo in multiple files in Documentation\n\nCorrect multiple spelling typo in Documentation.\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nAcked-by: Rob Landley \u003crob@landley.net\u003e\nReported-by: Anders Larsen \u003cal@alarsen.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "0c2c99b1b8ab5d294f176d631e945ebdefcce4cd",
      "tree": "7ef92584ef4deaa50e8164cc707b47dccf38409b",
      "parents": [
        "e8d9792aa514e49bf618713987c393d93babc2c5"
      ],
      "author": {
        "name": "Nathan Fontenot",
        "email": "nfont@austin.ibm.com",
        "time": "Thu Jan 20 10:43:34 2011 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 16:08:57 2011 -0800"
      },
      "message": "memory hotplug: Allow memory blocks to span multiple memory sections\n\nUpdate the memory sysfs code such that each sysfs memory directory is now\nconsidered a memory block that can span multiple memory sections per\nmemory block.  The default size of each memory block is SECTION_SIZE_BITS\nto maintain the current behavior of having a single memory section per\nmemory block (i.e. one sysfs directory per memory section).\n\nFor architectures that want to have memory blocks span multiple\nmemory sections they need only define their own memory_block_size_bytes()\nroutine.\n\nUpdate the memory hotplug documentation to reflect the new behaviors of\nmemory blocks reflected in sysfs.\n\nSigned-off-by: Nathan Fontenot \u003cnfont@austin.ibm.com\u003e\nReviewed-by: Robin Holt \u003cholt@sgi.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "dee5d0d518defd0337a41f1a504428c9acc87be5",
      "tree": "deb540b5ccc58f0e83114509e17dacb281fc12e5",
      "parents": [
        "d99be1a8ecf377c2c9b3372d36411ad6547bbd4c"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Dec 14 17:59:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:17 2009 -0800"
      },
      "message": "mm: add numa node symlink for memory section in sysfs\n\nCommit c04fc586c (mm: show node to memory section relationship with\nsymlinks in sysfs) created symlinks from nodes to memory sections, e.g.\n\n/sys/devices/system/node/node1/memory135 -\u003e ../../memory/memory135\n\nIf you\u0027re examining the memory section though and are wondering what node\nit might belong to, you can find it by grovelling around in sysfs, but\nit\u0027s a little cumbersome.\n\nAdd a reverse symlink for each memory section that points back to the\nnode to which it belongs.\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nCc: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19f594600110377ec4037fdf7fb93a25ec516212",
      "tree": "bf88707b65f0138b754d896300976e474098a50d",
      "parents": [
        "19af5cdb7c79ff5ec96a99893ffb7f894f4a3dc1"
      ],
      "author": {
        "name": "Matt LaPlante",
        "email": "kernel1@cyberdogtech.com",
        "time": "Mon Apr 27 15:06:31 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jun 12 18:01:47 2009 +0200"
      },
      "message": "trivial: Miscellaneous documentation typo fixes\n\nFix various typos in documentation txts.\n\nSigned-off-by: Matt LaPlante \u003ckernel1@cyberdogtech.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\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": "10020ca246c55744dad815ad4f15e1f488ca55a8",
      "tree": "f848f3c6180b043abc7560e366fd634c468cfa41",
      "parents": [
        "a24e785111a32ccb7cebafd24b1b1cb474ea8e5d"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Sun Oct 21 16:41:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 08:13:17 2007 -0700"
      },
      "message": "memory hotplug: document the memory hotplug notifier\n\nAdd description about event notification callback routine to the document\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6867c9310d5dab6897638a89c7e31addfcb22043",
      "tree": "b5e68d86f13d1d8fd33b8a62feee4abd8fbaaa5c",
      "parents": [
        "925796e0ed6fe529770ba71454c58c8d4d8a5ac4"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Fri Aug 10 13:00:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Aug 11 15:47:41 2007 -0700"
      },
      "message": "Memory hotplug document\n\nThis is add a document for memory hotplug to describe \"How to use\" and\n\"Current status\".\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
