)]}'
{
  "log": [
    {
      "commit": "cd79481d27b9f90aad80c9b972292c42c25bbf8e",
      "tree": "36a04b373218c594d7ff8c3a246da79e0c6632c3",
      "parents": [
        "236260b90dd94516982ad67aa6f5449c4c37db7b"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Oct 11 12:34:09 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Oct 11 16:00:52 2010 -0700"
      },
      "message": "memblock: Annotate memblock functions with __init_memblock\n\nStephen found\n\nWARNING: mm/built-in.o(.text+0x25ab8): Section mismatch in reference from the function memblock_find_base() to the function .init.text:memblock_find_region()\nThe function memblock_find_base() references\nthe function __init memblock_find_region().\nThis is often because memblock_find_base lacks a __init\nannotation or the annotation of memblock_find_region is wrong.\n\nSo let memblock_find_region() to use __init_memblock instead of __init\ndirectly.\n\nAlso fix one function that did not have __init* to be __init_memblock.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c4CB366B1.40405@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "236260b90dd94516982ad67aa6f5449c4c37db7b",
      "tree": "45fc2bc1053e41630f88a1a4c4757bba817f34e8",
      "parents": [
        "153db80f8cf74e8700cac96305b6c0b92918f17c"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Oct 06 15:52:29 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Oct 11 15:59:01 2010 -0700"
      },
      "message": "memblock: Allow memblock_init to be called early\n\nThe Xen setup code needs to call memblock_x86_reserve_range() very early,\nso allow it to initialize the memblock subsystem before doing so.  The\nsecond memblock_init() is ignored.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nLKML-Reference: \u003c4CACFDAD.3090900@goop.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "f1af98c7629a1b76fd7336decbc776acdeed2120",
      "tree": "4886c7d9469f147a5c3d0ece2c3aa5993ae77ae3",
      "parents": [
        "1d931264af0f10649b35afa8fbd2e169da51ac08"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Oct 04 14:57:39 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Oct 05 21:45:35 2010 -0700"
      },
      "message": "memblock: Fix wraparound in find_region()\n\nWhen trying to find huge range for crashkernel, get\n\n[    0.000000] ------------[ cut here ]------------\n[    0.000000] WARNING: at arch/x86/mm/memblock.c:248 memblock_x86_reserve_range+0x40/0x7a()\n[    0.000000] Hardware name: Sun Fire x4800\n[    0.000000] memblock_x86_reserve_range: wrong range [0xffffffff37000000, 0x137000000)\n[    0.000000] Modules linked in:\n[    0.000000] Pid: 0, comm: swapper Not tainted 2.6.36-rc5-tip-yh-01876-g1cac214-dirty #59\n[    0.000000] Call Trace:\n[    0.000000]  [\u003cffffffff82816f7e\u003e] ? memblock_x86_reserve_range+0x40/0x7a\n[    0.000000]  [\u003cffffffff81078c2d\u003e] warn_slowpath_common+0x85/0x9e\n[    0.000000]  [\u003cffffffff81078d38\u003e] warn_slowpath_fmt+0x6e/0x70\n[    0.000000]  [\u003cffffffff8281e77c\u003e] ? memblock_find_region+0x40/0x78\n[    0.000000]  [\u003cffffffff8281eb1f\u003e] ? memblock_find_base+0x9a/0xb9\n[    0.000000]  [\u003cffffffff82816f7e\u003e] memblock_x86_reserve_range+0x40/0x7a\n[    0.000000]  [\u003cffffffff8280452c\u003e] setup_arch+0x99d/0xb2a\n[    0.000000]  [\u003cffffffff810a3e02\u003e] ? trace_hardirqs_off+0xd/0xf\n[    0.000000]  [\u003cffffffff81cec7d8\u003e] ? _raw_spin_unlock_irqrestore+0x3d/0x4c\n[    0.000000]  [\u003cffffffff827ffcec\u003e] start_kernel+0xde/0x3f1\n[    0.000000]  [\u003cffffffff827ff2d4\u003e] x86_64_start_reservations+0xa0/0xa4\n[    0.000000]  [\u003cffffffff827ff3de\u003e] x86_64_start_kernel+0x106/0x10d\n[    0.000000] ---[ end trace a7919e7f17c0a725 ]---\n[    0.000000] Reserving 8192MB of memory at 17592186041200MB for crashkernel (System RAM: 526336MB)\n\nThis is caused by a wraparound in the test due to size \u003e end;\nexplicitly check for this condition and fail.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c4CAA4DD3.1080401@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "3661ca66a42e306aaf53246fb75aec1ea01be0f0",
      "tree": "7fb390d6d09f72f9e1608554709b607ba0763ca7",
      "parents": [
        "823108a056c52a83c32ca199a57566a36fad4d19"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Sep 15 13:05:29 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 22:17:13 2010 +0200"
      },
      "message": "memblock: Fix section mismatch warnings\n\nStephen found a bunch of section mismatch warnings with the\nnew memblock changes.\n\nUse __init_memblock to replace __init in memblock.c and remove\n__init in memblock.h. We should not use __init in header files.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nTested-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Yinghai Lu \u003cYinghai@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nLKML-Reference: \u003c4C912709.2090201@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7950c407c0288b223a200c1bba8198941599ca37",
      "tree": "4d7ad677fa918630cc29363c197d2593198727be",
      "parents": [
        "5303b68f57c227c27193a14e57dd12be27cd670f"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Aug 25 13:39:14 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Aug 27 11:07:56 2010 -0700"
      },
      "message": "memblock: Add memblock_free/reserve_reserved_regions()\n\nSo we can avoid export memblock_reserved_init_regions()\nSuggested by Ben.\n\n-v2: use __init_memblock attribute\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "5303b68f57c227c27193a14e57dd12be27cd670f",
      "tree": "a7a217f9e3385b2f721cc2ec7ef3413577264e08",
      "parents": [
        "10d0643988e976360eb3497dcafb55b393b8e480"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Jul 28 15:38:40 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:34 2010 +1000"
      },
      "message": "memblock: Add memblock_find_in_range()\n\nThis is a wrapper for memblock_find_base() using slightly different\narguments (start,end instead of start,size for example) in order to\nmake it easier to convert existing arch/x86 code.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "10d0643988e976360eb3497dcafb55b393b8e480",
      "tree": "fa8f614dd7ab2ffc2f94700451e6c9e6d26c702e",
      "parents": [
        "f0b37fad9a63217c39997b2d2b31f44e3d8be727"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Jul 28 15:43:02 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:33 2010 +1000"
      },
      "message": "memblock: Option for the architecture to put memblock into the .init section\n\nArch code can define ARCH_DISCARD_MEMBLOCK in asm/memblock.h,\nwhich in turns causes memblock code and data to go respectively\ninto the .init and .initdata sections. This will be used by the\nx86 architecture.\n\nIf ARCH_DISCARD_MEMBLOCK is defined, the debugfs files to inspect\nthe memblock arrays after boot are not created.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "25818f0f288cd5333ba5a90ad6dde3def4c4ff58",
      "tree": "993384eff73bac874201d342c43a8e596dd1f485",
      "parents": [
        "37d8d4bf489e39eedc9537f8616fe87879b13cb0"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Jul 28 15:25:10 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:30 2010 +1000"
      },
      "message": "memblock: Make MEMBLOCK_ERROR be 0\n\nAnd ensure we don\u0027t hand out 0 as a valid allocation. We put the\nlow limit at PAGE_SIZE arbitrarily.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "37d8d4bf489e39eedc9537f8616fe87879b13cb0",
      "tree": "44987d75fa87aee2737bca59574e3b7459ad4797",
      "parents": [
        "ea9e4376bb545e400a325b3d76fecd02815303c0"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Jul 28 15:20:58 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:29 2010 +1000"
      },
      "message": "memblock: Export MEMBLOCK_ERROR\n\nwill used by x86 memblock_x86_find_in_range_node and nobootmem replacement\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "ea9e4376bb545e400a325b3d76fecd02815303c0",
      "tree": "3e9838c3a20cdbd3a99df53fbd96e198d0f37861",
      "parents": [
        "5e63cf43af844ed30acc278b38b8c9bc51eba493"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Jul 28 15:13:22 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:28 2010 +1000"
      },
      "message": "memblock: Improve debug output when resizing the reserve array\n\nPrint out the location info in addition to which array is being\nresized. Also use memblocK_dbg() to put that under control of\nthe memblock_debug flag.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "5e63cf43af844ed30acc278b38b8c9bc51eba493",
      "tree": "02706d0ed24d45b94fdc7ac3a823eedd81a82d12",
      "parents": [
        "6d03b885f0926ab5b66e21307d505afcafa6dced"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Jul 28 15:07:21 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:27 2010 +1000"
      },
      "message": "memblock: Expose some memblock bits for use by x86\n\nThis exposes memblock_debug and associated memblock_dbg() macro,\nalong with memblock_can_resize so that x86 can use these when\nported to use memblock\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "6d03b885f0926ab5b66e21307d505afcafa6dced",
      "tree": "bb2fb54ef0dae38b2abf176544839665bbe10ff3",
      "parents": [
        "918fe8d60331f679519ab8239a7232272126da9e"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:19 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:26 2010 +1000"
      },
      "message": "memblock: Add debugfs files to dump the arrays content\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "918fe8d60331f679519ab8239a7232272126da9e",
      "tree": "e470c3ceba4a667b77465ac3a078ce3a3fdd1ab8",
      "parents": [
        "9d1e24928e6a0728d1c7c76818ccbd11b93e7ac9"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:18 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:25 2010 +1000"
      },
      "message": "memblock: Make memblock_alloc_try_nid() fallback to MEMBLOCK_ALLOC_ANYWHERE\n\nmemblock_alloc_nid() used to fallback to allocating anywhere by using\nmemblock_alloc() as a fallback.\n\nHowever, some of my previous patches limit memblock_alloc() to the region\ncovered by MEMBLOCK_ALLOC_ACCESSIBLE which is not quite what we want\nfor memblock_alloc_try_nid().\n\nSo we fix it by explicitely using MEMBLOCK_ALLOC_ANYWHERE.\n\nNot that so far only sparc uses memblock_alloc_nid() and it hasn\u0027t been updated\nto clamp the accessible zone yet. Thus the temporary \"breakage\" should have\nno effect.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "9d1e24928e6a0728d1c7c76818ccbd11b93e7ac9",
      "tree": "f2c7173d47bf973d1a42ee249760b1c74d917009",
      "parents": [
        "c196f76fd5ece716ee3b7fa5dda3576961c0cecc"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:17 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:24 2010 +1000"
      },
      "message": "memblock: Separate memblock_alloc_nid() and memblock_alloc_try_nid()\n\nThe former is now strict, it will fail if it cannot honor the allocation\nwithin the node, while the later implements the previous semantic which\nfalls back to allocating anywhere.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c196f76fd5ece716ee3b7fa5dda3576961c0cecc",
      "tree": "7687dbae04327ed56bec60b21667eea66a9e52b4",
      "parents": [
        "fef501d49d31f997a3381b6c1efd5bca382b6b6f"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:16 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:23 2010 +1000"
      },
      "message": "memblock: NUMA allocate can now use early_pfn_map\n\nWe now provide a default (weak) implementation of memblock_nid_range()\nwhich uses the early_pfn_map[] if CONFIG_ARCH_POPULATES_NODE_MAP\nis set. Sparc still needs to use its own method due to the way\nthe pages can be scattered between nodes.\n\nThis implementation is inefficient due to our main algorithm and\ncallback construct wanting to work on an ascending addresses bases\nwhile early_pfn_map[] would rather work with nid\u0027s (it\u0027s unsorted\nat that stage). But it should work and we can look into improving\nit subsequently, possibly using arch compile options to chose a\ndifferent algorithm alltogether.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "fef501d49d31f997a3381b6c1efd5bca382b6b6f",
      "tree": "d228dd686367dd3a49fc4152cef94d83b99dad29",
      "parents": [
        "d2cd563ba82c424083b78e0ce97d68bfb04d1242"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jul 12 15:00:34 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:22 2010 +1000"
      },
      "message": "memblock: Add \"start\" argument to memblock_find_base()\n\nTo constraint the search of a region between two boundaries,\nwhich will be used by the new NUMA aware allocator among others.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "d2cd563ba82c424083b78e0ce97d68bfb04d1242",
      "tree": "ff4ab6de8b6906a6c955aa51c4ee53868dfafc0a",
      "parents": [
        "142b45a72e221537c1bb1995497fef7cdc439e26"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:14 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:21 2010 +1000"
      },
      "message": "memblock: Add arch function to control coalescing of memblock memory regions\n\nSome archs such as ARM want to avoid coalescing accross things such\nas the lowmem/highmem boundary or similar. This provides the option\nto control it via an arch callback for which a weak default is provided\nwhich always allows coalescing.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "142b45a72e221537c1bb1995497fef7cdc439e26",
      "tree": "478f95f05f923e63a845d6f8272647cf40765c4c",
      "parents": [
        "6ed311b282210d23d1a2cb2665aa899979993628"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:13 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:20 2010 +1000"
      },
      "message": "memblock: Add array resizing support\n\nWhen one of the array gets full, we resize it. After much thinking and\na few iterations of that code, I went back to on-demand resizing using\nthe (new) internal memblock_find_base() function, which is pretty much what\nYinghai initially proposed, though there some differences in the details.\n\nTo work this relies on the default alloc limit being set sensibly by\nthe architecture.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "6ed311b282210d23d1a2cb2665aa899979993628",
      "tree": "a1e77961b0a067af26d0bbae52e64e258bbc3136",
      "parents": [
        "7f219c736f9439acb1c50d264fbee93c353773ca"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jul 12 14:36:48 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:19 2010 +1000"
      },
      "message": "memblock: Move functions around into a more sensible order\n\nSome shuffling is needed for doing array resize so we may as well\nput some sense into the ordering of the functions in the whole memblock.c\nfile. No code change. Added some comments.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "7f219c736f9439acb1c50d264fbee93c353773ca",
      "tree": "24e4aa4f3135f639954243fcd015b44786a9a11d",
      "parents": [
        "7590abe891c85fbc65dc906516d0bf89e070c19a"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jul 12 14:24:57 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:18 2010 +1000"
      },
      "message": "memblock: split memblock_find_base() out of __memblock_alloc_base()\n\nThis will be used by the array resize code and might prove useful\nto some arch code as well at which point it can be made non-static.\n\nAlso add comment as to why aligning size is important\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n---\n\nv2. Fix loss of size alignment\nv3. Fix result code\n"
    },
    {
      "commit": "7590abe891c85fbc65dc906516d0bf89e070c19a",
      "tree": "4c522633ca9fb4ba1527bc20d049199a30922b44",
      "parents": [
        "4d629f9a02e32f8fe035a11018472ea8ff9647eb"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:10 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:17 2010 +1000"
      },
      "message": "memblock: Move memblock_init() to the bottom of the file\n\nIt\u0027s a real PITA to have to search for it in the middle\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "4d629f9a02e32f8fe035a11018472ea8ff9647eb",
      "tree": "87a30467b77330d947cd570c2e6851348c4ee91c",
      "parents": [
        "3a9c2c81eb2024c136cc534df534f93682d516d0"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:09 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:16 2010 +1000"
      },
      "message": "memblock: Define MEMBLOCK_ERROR internally instead of using ~(phys_addr_t)0\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "3a9c2c81eb2024c136cc534df534f93682d516d0",
      "tree": "376f3e894d82b8944e43cbbff038e379136d57ff",
      "parents": [
        "449e8df39d3f94a69deae8341f157f6ef5999015"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jul 12 13:28:15 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:14 2010 +1000"
      },
      "message": "memblock: Make memblock_find_region() out of memblock_alloc_region()\n\nThis function will be used to locate a free area to put the new memblock\narrays when attempting to resize them. memblock_alloc_region() is gone,\nthe two callsites now call memblock_add_region().\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n---\nv2. Fix membase_alloc_nid_region() conversion\n"
    },
    {
      "commit": "449e8df39d3f94a69deae8341f157f6ef5999015",
      "tree": "75d797caf68e11d7577218e007bdf6f79326c134",
      "parents": [
        "bf23c51f1f49d3960f3cd8e3d2e7f943d9c41042"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:07 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:13 2010 +1000"
      },
      "message": "memblock: Add debug markers at the end of the array\n\nSince we allocate one more than needed, why not do a bit of sanity checking\nhere to ensure we don\u0027t walk past the end of the array ?\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "bf23c51f1f49d3960f3cd8e3d2e7f943d9c41042",
      "tree": "6150486aaeb3bc8601fdf61ebfe5b441af1e3fb7",
      "parents": [
        "4734b594c6ca1be796d30c82d93fdf5160f45124"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:06 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:12 2010 +1000"
      },
      "message": "memblock: Move memblock arrays to static storage in memblock.c and make their size a variable\n\nThis is in preparation for having resizable arrays.\n\nNote that we still allocate one more than needed, this is unchanged from\nthe previous implementation.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "4734b594c6ca1be796d30c82d93fdf5160f45124",
      "tree": "72443c76c7d4c0cade456cc21997f383417747de",
      "parents": [
        "9d3c30f5a17ec35894eadb7171f724643dce19c3"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Jul 28 14:31:29 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:11 2010 +1000"
      },
      "message": "memblock: Remove memblock_type.size and add memblock.memory_size instead\n\nRight now, both the \"memory\" and \"reserved\" memblock_type structures have\na \"size\" member. It represents the calculated memory size in the former\ncase and is unused in the latter.\n\nThis moves it out to the main memblock structure instead\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "2898cc4cdf208f15246b7a1c6951d2b126a70fd6",
      "tree": "9ab5e803751ee7b8288248796339a0f17617ca29",
      "parents": [
        "cd3db0c4ca3d237e7ad20f7107216e575705d2b0"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Aug 04 13:34:42 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:09 2010 +1000"
      },
      "message": "memblock: Change u64 to phys_addr_t\n\nLet\u0027s not waste space and cycles on archs that don\u0027t support \u003e32-bit\nphysical address space.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "cd3db0c4ca3d237e7ad20f7107216e575705d2b0",
      "tree": "03be7c14bd68a568a6e2f6df2db9fbbdf11c1483",
      "parents": [
        "e63075a3c9377536d085bc013cd3fe6323162449"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:02 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:08 2010 +1000"
      },
      "message": "memblock: Remove rmo_size, burry it in arch/powerpc where it belongs\n\nThe RMA (RMO is a misnomer) is a concept specific to ppc64 (in fact\nserver ppc64 though I hijack it on embedded ppc64 for similar purposes)\nand represents the area of memory that can be accessed in real mode\n(aka with MMU off), or on embedded, from the exception vectors (which\nis bolted in the TLB) which pretty much boils down to the same thing.\n\nWe take that out of the generic MEMBLOCK data structure and move it into\narch/powerpc where it belongs, renaming it to \"RMA\" while at it.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e63075a3c9377536d085bc013cd3fe6323162449",
      "tree": "28fde124dde6df867947882fc686d228502846df",
      "parents": [
        "27f574c223d2c09610058b3ec7a29582d63a3e06"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:01 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:07 2010 +1000"
      },
      "message": "memblock: Introduce default allocation limit and use it to replace explicit ones\n\nThis introduce memblock.current_limit which is used to limit allocations\nfrom memblock_alloc() or memblock_alloc_base(..., MEMBLOCK_ALLOC_ACCESSIBLE).\n\nThe old MEMBLOCK_ALLOC_ANYWHERE changes value from 0 to ~(u64)0 and can still\nbe used with memblock_alloc_base() to allocate really anywhere.\n\nIt is -no-longer- cropped to MEMBLOCK_REAL_LIMIT which disappears.\n\nNote to archs: I\u0027m leaving the default limit to MEMBLOCK_ALLOC_ANYWHERE. I\nstrongly recommend that you ensure that you set an appropriate limit\nduring boot in order to guarantee that an memblock_alloc() at any time\nresults in something that is accessible with a simple __va().\n\nThe reason is that a subsequent patch will introduce the ability for\nthe array to resize itself by reallocating itself. The MEMBLOCK core will\nhonor the current limit when performing those allocations.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "27f574c223d2c09610058b3ec7a29582d63a3e06",
      "tree": "2689c93200504ff0d8734be50a8ca329607d8807",
      "parents": [
        "c3f72b5706716ada7923def513486ab7bb3a5301"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:00 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:06 2010 +1000"
      },
      "message": "memblock: Expose MEMBLOCK_ALLOC_ANYWHERE\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "c3f72b5706716ada7923def513486ab7bb3a5301",
      "tree": "24a7a4939164f2183bdc68212232d0a3e94274d3",
      "parents": [
        "35a1f0bd07015dde66501b47cfb6ddc72ebe7346"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:38:59 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:05 2010 +1000"
      },
      "message": "memblock: Factor the lowest level alloc function\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "35a1f0bd07015dde66501b47cfb6ddc72ebe7346",
      "tree": "9bfa42fd86d8fc6a6971a3b6ffcd703cc056f944",
      "parents": [
        "b693fffb189fbfe7e1e8317ce5838808be8666a0"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:38:58 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:04 2010 +1000"
      },
      "message": "memblock: Remove nid_range argument, arch provides memblock_nid_range() instead\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "b693fffb189fbfe7e1e8317ce5838808be8666a0",
      "tree": "432d1caa8c4a4ba9f0c76c1502af0a232bd8f62b",
      "parents": [
        "1e2b904026e9debf95f500b8980a00c43ac0f31c"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Aug 04 13:52:55 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:03 2010 +1000"
      },
      "message": "memblock: Remove memblock_find()\n\nNobody uses it anymore. It\u0027s semantics were ... weird\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "72d4b0b4e0e7fa858767e03972771a9f7c02b689",
      "tree": "5cdf39edb6edbaa7f75da27ad1d9ce7864bb9448",
      "parents": [
        "411a25a80da328f5ae6b6c037872ffe867fcc130"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Aug 04 14:38:47 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Aug 04 14:38:47 2010 +1000"
      },
      "message": "memblock: Implement memblock_is_memory and memblock_is_region_memory\n\nTo make it fast, we steal ARM\u0027s binary search for memblock_is_memory()\nand we use that to also the replace existing implementation of\nmemblock_is_reserved().\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e3239ff92a17976ac5d26fa0fe40ef3a9daf2523",
      "tree": "da3c493196811ccae1b79c3c94234f5d481c8221",
      "parents": [
        "f1c2c19c498e27de48bf0dc4221e6e31b1823169"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Aug 04 14:06:41 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Aug 04 14:21:49 2010 +1000"
      },
      "message": "memblock: Rename memblock_region to memblock_type and memblock_property to memblock_region\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f1c2c19c498e27de48bf0dc4221e6e31b1823169",
      "tree": "61c1b8b9ab32cd76128e33186148597a8b8b39b1",
      "parents": [
        "3a09b1be53d23df780a0cd0e4087a05e2ca4a00c"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Aug 04 14:17:17 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Aug 04 14:17:17 2010 +1000"
      },
      "message": "memblock: Fix memblock_is_region_reserved() to return a boolean\n\nAll callers expect a boolean result which is true if the region\noverlaps a reserved region. However, the implementation actually\nreturns -1 if there is no overlap, and a region index (0 based)\nif there is.\n\nMake it behave as callers (and common sense) expect.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "95f72d1ed41a66f1c1c29c24d479de81a0bea36f",
      "tree": "bd92b3804ff0bea083d69af0ede52f99ab34c0af",
      "parents": [
        "1c5474a65bf15a4cb162dfff86d6d0b5a08a740c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Jul 12 14:36:09 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Jul 14 17:14:00 2010 +1000"
      },
      "message": "lmb: rename to memblock\n\nvia following scripts\n\n      FILES\u003d$(find * -type f | grep -vE \u0027oprofile|[^K]config\u0027)\n\n      sed -i \\\n        -e \u0027s/lmb/memblock/g\u0027 \\\n        -e \u0027s/LMB/MEMBLOCK/g\u0027 \\\n        $FILES\n\n      for N in $(find . -name lmb.[ch]); do\n        M\u003d$(echo $N | sed \u0027s/lmb/memblock/g\u0027)\n        mv $N $M\n      done\n\nand remove some wrong change like lmbench and dlmb etc.\n\nalso move memblock.c from lib/ to mm/\n\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    }
  ]
}
