)]}'
{
  "log": [
    {
      "commit": "7bd0b0f0da3b1ec11cbcc798eb0ef747a1184077",
      "tree": "ef285a020ffc04250b7327f0e9876a5988aa600e",
      "parents": [
        "0ee332c1451869963626bf9cac88f165a90990e1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:09 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:09 2011 -0800"
      },
      "message": "memblock: Reimplement memblock allocation using reverse free area iterator\n\nNow that all early memory information is in memblock when enabled, we\ncan implement reverse free area iterator and use it to implement NUMA\naware allocator which is then wrapped for simpler variants instead of\nthe confusing and inefficient mending of information in separate NUMA\naware allocator.\n\nImplement for_each_free_mem_range_reverse(), use it to reimplement\nmemblock_find_in_range_node() which in turn is used by all allocators.\n\nThe visible allocator interface is inconsistent and can probably use\nsome cleanup too.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\n"
    },
    {
      "commit": "0ee332c1451869963626bf9cac88f165a90990e1",
      "tree": "a40e6c9c6cfe39ecbca37a08019be3c9e56a4a9b",
      "parents": [
        "a2bf79e7dcc97b4e9654f273453f9264f49e41ff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:09 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:09 2011 -0800"
      },
      "message": "memblock: Kill early_node_map[]\n\nNow all ARCH_POPULATES_NODE_MAP archs select HAVE_MEBLOCK_NODE_MAP -\nthere\u0027s no user of early_node_map[] left.  Kill early_node_map[] and\nreplace ARCH_POPULATES_NODE_MAP with HAVE_MEMBLOCK_NODE_MAP.  Also,\nrelocate for_each_mem_pfn_range() and helper from mm.h to memblock.h\nas page_alloc.c would no longer host an alternative implementation.\n\nThis change is ultimately one to one mapping and shouldn\u0027t cause any\nobservable difference; however, after the recent changes, there are\nsome functions which now would fit memblock.c better than page_alloc.c\nand dependency on HAVE_MEMBLOCK_NODE_MAP instead of HAVE_MEMBLOCK\ndoesn\u0027t make much sense on some of them.  Further cleanups for\nfunctions inside HAVE_MEMBLOCK_NODE_MAP in mm.h would be nice.\n\n-v2: Fix compile bug introduced by mis-spelling\n CONFIG_HAVE_MEMBLOCK_NODE_MAP to CONFIG_MEMBLOCK_HAVE_NODE_MAP in\n mmzone.h.  Reported by Stephen Rothwell.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Chen Liqin \u003cliqin.chen@sunplusct.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "7fb0bc3f06fdc3a35e41bcea7a15e53d2515362f",
      "tree": "76da7b578a655915276c28047ec11fd678634d99",
      "parents": [
        "1aadc0560f46530f8a0f11055285b876a8a31770"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:08 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:08 2011 -0800"
      },
      "message": "memblock: Implement memblock_add_node()\n\nImplement memblock_add_node() which can add a new memblock memory\nregion with specific node ID.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\n"
    },
    {
      "commit": "1aadc0560f46530f8a0f11055285b876a8a31770",
      "tree": "9d57dbe134894d4f8d20cfd246ac9457af65b271",
      "parents": [
        "1440c4e2c918532f39131c3330fe2226e16be7b6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:08 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:08 2011 -0800"
      },
      "message": "memblock: s/memblock_analyze()/memblock_allow_resize()/ and update users\n\nThe only function of memblock_analyze() is now allowing resize of\nmemblock region arrays.  Rename it to memblock_allow_resize() and\nupdate its users.\n\n* The following users remain the same other than renaming.\n\n  arm/mm/init.c::arm_memblock_init()\n  microblaze/kernel/prom.c::early_init_devtree()\n  powerpc/kernel/prom.c::early_init_devtree()\n  openrisc/kernel/prom.c::early_init_devtree()\n  sh/mm/init.c::paging_init()\n  sparc/mm/init_64.c::paging_init()\n  unicore32/mm/init.c::uc32_memblock_init()\n\n* In the following users, analyze was used to update total size which\n  is no longer necessary.\n\n  powerpc/kernel/machine_kexec.c::reserve_crashkernel()\n  powerpc/kernel/prom.c::early_init_devtree()\n  powerpc/mm/init_32.c::MMU_init()\n  powerpc/mm/tlb_nohash.c::__early_init_mmu()  \n  powerpc/platforms/ps3/mm.c::ps3_mm_add_memory()\n  powerpc/platforms/embedded6xx/wii.c::wii_memory_fixups()\n  sh/kernel/machine_kexec.c::reserve_crashkernel()\n\n* x86/kernel/e820.c::memblock_x86_fill() was directly setting\n  memblock_can_resize before populating memblock and calling analyze\n  afterwards.  Call memblock_allow_resize() before start populating.\n\nmemblock_can_resize is now static inside memblock.c.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "1440c4e2c918532f39131c3330fe2226e16be7b6",
      "tree": "316b945da272f43bdb88d295c48926e471e47fad",
      "parents": [
        "6fbef13c4feaf0c5576e2315f4d2999c4b670c88"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:08 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:08 2011 -0800"
      },
      "message": "memblock: Track total size of regions automatically\n\nTotal size of memory regions was calculated by memblock_analyze()\nrequiring explicitly calling the function between operations which can\nchange memory regions and possible users of total size, which is\ncumbersome and fragile.\n\nThis patch makes each memblock_type track total size automatically\nwith minor modifications to memblock manipulation functions and remove\nrequirements on calling memblock_analyze().  [__]memblock_dump_all()\nnow also dumps the total size of reserved regions.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\n"
    },
    {
      "commit": "fe091c208a40299fba40e62292a610fb91e44b4e",
      "tree": "72bf673f05a736cbf3555a4dcf428b95840fc9f7",
      "parents": [
        "c5a1cb284b791fcc3c70962331a682452afaf6cd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:07 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:07 2011 -0800"
      },
      "message": "memblock: Kill memblock_init()\n\nmemblock_init() initializes arrays for regions and memblock itself;\nhowever, all these can be done with struct initializers and\nmemblock_init() can be removed.  This patch kills memblock_init() and\ninitializes memblock with struct initializer.\n\nThe only difference is that the first dummy entries don\u0027t have .nid\nset to MAX_NUMNODES initially.  This doesn\u0027t cause any behavior\ndifference.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "4ff7b82f1e5fc65a7c9512b231b4ea533f28541a",
      "tree": "7251ce5a178add8bacd072d34d232c23c07dd389",
      "parents": [
        "9c8c27e2b89b020fd33dd3f2b18405d3f027e6ac"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:06 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:06 2011 -0800"
      },
      "message": "memblock: Add __memblock_dump_all()\n\nAdd __memblock_dump_all() which dumps memblock configuration whether\nmemblock_debug is enabled or not.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\n"
    },
    {
      "commit": "581adcbe121872429de76ff9884762de71a76200",
      "tree": "6c7f0faf7ee8812630197e7c23fc32bb4cc978c2",
      "parents": [
        "1c16d242aa441c11ccaeaa63b49712555b8bfaeb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:06 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 08 10:22:06 2011 -0800"
      },
      "message": "memblock: Make memblock_{add|remove|free|reserve}() return int and update prototypes\n\nmemblock_{add|remove|free|reserve}() return either 0 or -errno but had\nlong as return type.  Chage it to int.  Also, drop \u0027extern\u0027 from all\nprototypes in memblock.h - they are unnecessary and used\ninconsistently (especially if mm.h is included in the picture).\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\n"
    },
    {
      "commit": "d4bbf7e7759afc172e2bfbc5c416324590049cdd",
      "tree": "7eab5ee5481cd3dcf1162329fec827177640018a",
      "parents": [
        "a150439c4a97db379f0ed6faa46fbbb6e7bf3cb2",
        "401d0069cb344f401bc9d264c31db55876ff78c0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 28 09:46:22 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 28 09:46:22 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 into x86/memblock\n\nConflicts \u0026 resolutions:\n\n* arch/x86/xen/setup.c\n\n\tdc91c728fd \"xen: allow extra memory to be in multiple regions\"\n\t24aa07882b \"memblock, x86: Replace memblock_x86_reserve/free...\"\n\n\tconflicted on xen_add_extra_mem() updates.  The resolution is\n\ttrivial as the latter just want to replace\n\tmemblock_x86_reserve_range() with memblock_reserve().\n\n* drivers/pci/intel-iommu.c\n\n\t166e9278a3f \"x86/ia64: intel-iommu: move to drivers/iommu/\"\n\t5dfe8660a3d \"bootmem: Replace work_with_active_regions() with...\"\n\n\tconflicted as the former moved the file under drivers/iommu/.\n\tResolved by applying the chnages from the latter on the moved\n\tfile.\n\n* mm/Kconfig\n\n\t6661672053a \"memblock: add NO_BOOTMEM config symbol\"\n\tc378ddd53f9 \"memblock, x86: Make ARCH_DISCARD_MEMBLOCK a config option\"\n\n\tconflicted trivially.  Both added config options.  Just\n\tletting both add their own options resolves the conflict.\n\n* mm/memblock.c\n\n\td1f0ece6cdc \"mm/memblock.c: small function definition fixes\"\n\ted7b56a799c \"memblock: Remove memblock_memory_can_coalesce()\"\n\n\tconfliected.  The former updates function removed by the\n\tlatter.  Resolution is trivial.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "0a93ebef698b08ed04af0d7d913bab8aedfdc253",
      "tree": "dcdb4bba9355647dd060d9150422537ad126442a",
      "parents": [
        "f5252e009d5b87071a919221e4f6624184005368"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Oct 31 17:08:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:47 2011 -0700"
      },
      "message": "memblock: add memblock_start_of_DRAM()\n\nSPARC32 require access to the start address.  Add a new helper\nmemblock_start_of_DRAM() to give access to the address of the first\nmemblock - which contains the lowest address.\n\nThe awkward name was chosen to match the already present\nmemblock_end_of_DRAM().\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24aa07882b672fff2da2f5c955759f0bd13d32d5",
      "tree": "e6dad38048ede1dbb9ad3c7fffcc4b37e72274a8",
      "parents": [
        "c378ddd53f9b8832a46fd4fec050a97fc2269858"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jul 12 11:16:06 2011 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Thu Jul 14 11:47:53 2011 -0700"
      },
      "message": "memblock, x86: Replace memblock_x86_reserve/free_range() with generic ones\n\nOther than sanity check and debug message, the x86 specific version of\nmemblock reserve/free functions are simple wrappers around the generic\nversions - memblock_reserve/free().\n\nThis patch adds debug messages with caller identification to the\ngeneric versions and replaces x86 specific ones and kills them.\narch/x86/include/asm/memblock.h and arch/x86/mm/memblock.c are empty\nafter this change and removed.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1310462166-31469-14-git-send-email-tj@kernel.org\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "c378ddd53f9b8832a46fd4fec050a97fc2269858",
      "tree": "ef90f814ce569ef1cd3b6e64ea403d909f9d2c53",
      "parents": [
        "474b881bf4ee86aba55d46a4fdf293de32cba91b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 14 11:46:03 2011 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Thu Jul 14 11:47:52 2011 -0700"
      },
      "message": "memblock, x86: Make ARCH_DISCARD_MEMBLOCK a config option\n\nFrom 6839454ae63f1eb21e515c10229ca95c22955fec Mon Sep 17 00:00:00 2001\nFrom: Tejun Heo \u003ctj@kernel.org\u003e\nDate: Thu, 14 Jul 2011 11:22:17 +0200\n\nMake ARCH_DISCARD_MEMBLOCK a config option so that it can be handled\ntogether with other MEMBLOCK options.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20110714094603.GH3455@htj.dyndns.org\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "35fd0808d7d8d001cd72f112e3bca84664b596a3",
      "tree": "d4e21e003e182bc4824a74fd850ac3869380b53b",
      "parents": [
        "ab5d140b9eafae402aa3e673a63c5ef6164a9dd2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jul 12 11:15:59 2011 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Thu Jul 14 11:47:47 2011 -0700"
      },
      "message": "memblock: Implement for_each_free_mem_range()\n\nImplement for_each_free_mem_range() which iterates over free memory\nareas according to memblock (memory \u0026\u0026 !reserved).  This will be used\nto simplify memblock users.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1310462166-31469-7-git-send-email-tj@kernel.org\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "7c0caeb866b0f648d91bb75b8bc6f86af95bb033",
      "tree": "042804fe716310a4de4effbbaa4461237e2b5d4a",
      "parents": [
        "67e24bcb725cabd15ef577bf301275d03d6086d7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 14 11:43:42 2011 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Thu Jul 14 11:47:43 2011 -0700"
      },
      "message": "memblock: Add optional region-\u003enid\n\nFrom 83103b92f3234ec830852bbc5c45911bd6cbdb20 Mon Sep 17 00:00:00 2001\nFrom: Tejun Heo \u003ctj@kernel.org\u003e\nDate: Thu, 14 Jul 2011 11:22:16 +0200\n\nAdd optional region-\u003enid which can be enabled by arch using\nCONFIG_HAVE_MEMBLOCK_NODE_MAP.  When enabled, memblock also carries\nNUMA node information and replaces early_node_map[].\n\nNewly added memblocks have MAX_NUMNODES as nid.  Arch can then call\nmemblock_set_node() to set node information.  memblock takes care of\nmerging and node affine allocations w.r.t. node information.\n\nWhen MEMBLOCK_NODE_MAP is enabled, early_node_map[], related data\nstructures and functions to manipulate and iterate it are disabled.\nmemblock version of __next_mem_pfn_range() is provided such that\nfor_each_mem_pfn_range() behaves the same and its users don\u0027t have to\nbe updated.\n\n-v2: Yinghai spotted section mismatch caused by missing\n     __init_memblock in memblock_set_node().  Fixed.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20110714094342.GF3455@htj.dyndns.org\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "67e24bcb725cabd15ef577bf301275d03d6086d7",
      "tree": "c63765f42ba9f7749796c7204a97b8ceaf52db2f",
      "parents": [
        "784656f9c680d334e7b4cdb6951c5c913e5a26bf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 14 11:42:03 2011 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Thu Jul 14 11:47:42 2011 -0700"
      },
      "message": "memblock: Use __meminit[data] instead of __init[data]\n\nFrom 19ab281ed67b87a6623d725237a7333ca79f1e75 Mon Sep 17 00:00:00 2001\nFrom: Tejun Heo \u003ctj@kernel.org\u003e\nDate: Thu, 14 Jul 2011 11:22:16 +0200\n\nmemblock will be extended to include early_node_map[], which is also\nused during memory hotplug.  Make memblock use __meminit[data] instead\nof __init[data] so that memory hotplug code can safely reference it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20110714094203.GE3455@htj.dyndns.org\nReported-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "ed7b56a799cade11f458cd83e1150af54a66b7e8",
      "tree": "f61cd8c07445d6a61e4cbf323c797038904db4c3",
      "parents": [
        "eb40c4c27f1722f058e4713ccfedebac577d5190"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jul 12 11:15:54 2011 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Thu Jul 14 11:47:40 2011 -0700"
      },
      "message": "memblock: Remove memblock_memory_can_coalesce()\n\nArch could implement memblock_memor_can_coalesce() to veto merging of\nadjacent or overlapping memblock regions; however, no arch did and any\nvetoing would trigger WARN_ON().  Memblock regions are supposed to\ndeal with proper memory anyway.  Remove the unused hook.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1310462166-31469-2-git-send-email-tj@kernel.org\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "e64980405cc6aa74ef178d8d9aa4018c867ceed1",
      "tree": "a405d3de9c244ed2fb7899bdb66b1e1569aeae97",
      "parents": [
        "34e1845548418e5cecee0568ba721e1f089c092c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jul 12 10:46:34 2011 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Thu Jul 14 11:45:35 2011 -0700"
      },
      "message": "memblock: Separate out memblock_find_in_range_node()\n\nNode affine memblock allocation logic is currently implemented across\nmemblock_alloc_nid() and memblock_alloc_nid_region().  This\nreorganizes it such that it resembles that of non-NUMA allocation API.\n\nArea finding is collected and moved into new exported function\nmemblock_find_in_range_node() which is symmetrical to non-NUMA\ncounterpart - it handles @start/@end and understands ANYWHERE and\nACCESSIBLE.  memblock_alloc_nid() now simply calls\nmemblock_find_in_range_node() and reserves the returned area.\n\nThis makes memblock_alloc[_try]_nid() observe ACCESSIBLE limit on node\naffine allocations too (again, this doesn\u0027t make any difference for\nthe current sole user - sparc64).\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1310460395-30913-8-git-send-email-tj@kernel.org\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "f9b18db3b1cedc75e5d002a4d7097891c3399736",
      "tree": "a8840cf9d668f107315f4c2f05824cafbbfa3e35",
      "parents": [
        "b2fea988f4f3b38ff4edfc1556a843c91932804c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jul 12 10:46:32 2011 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Thu Jul 14 11:45:33 2011 -0700"
      },
      "message": "memblock: Don\u0027t allow archs to override memblock_nid_range()\n\nmemblock_nid_range() is used to implement memblock_[try_]alloc_nid().\nThe generic version determines the range by walking early_node_map\nwith for_each_mem_pfn_range().  The generic version is defined __weak\nto allow arch override.\n\nCurrently, only sparc overrides it; however, with the previous update\nto the generic implementation, there isn\u0027t much to be gained with arch\noverride.  Sparc would behave exactly the same with the generic\nimplementation.\n\nThis patch disallows arch override for memblock_nid_range() and make\nboth generic and sparc versions static.\n\nsparc is only compile tested.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1310460395-30913-6-git-send-email-tj@kernel.org\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "fc769a8e70a3348d5de49e5f69f6aff810157360",
      "tree": "1dc850a4092602ed5ed5d238bc293c7202b99f3a",
      "parents": [
        "1f5026a7e21e409c2b9dd54f6dfb9446511fb7c5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jul 12 09:58:10 2011 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Jul 13 16:36:02 2011 -0700"
      },
      "message": "memblock: Replace memblock_find_base() with memblock_find_in_range()\n\nmemblock_find_base() is a static function with two callers in\nmemblock.c and memblock_find_in_range() is a wrapper around it which\njust changes the types and order of parameters.\n\nMake memblock_find_in_range() take phys_addr_t instead of u64 for\nconsistency and replace memblock_find_base() with it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1310457490-3356-7-git-send-email-tj@kernel.org\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "1f5026a7e21e409c2b9dd54f6dfb9446511fb7c5",
      "tree": "bcf0529d5f05ea8b685d6c0fddcb3197c2fab49c",
      "parents": [
        "348968eb151e2569ad0ebe19b2f9c3c25b5c816a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jul 12 09:58:09 2011 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Jul 13 16:36:01 2011 -0700"
      },
      "message": "memblock: Kill MEMBLOCK_ERROR\n\n25818f0f28 (memblock: Make MEMBLOCK_ERROR be 0) thankfully made\nMEMBLOCK_ERROR 0 and there already are codes which expect error return\nto be 0.  There\u0027s no point in keeping MEMBLOCK_ERROR around.  End its\nmisery.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1310457490-3356-6-git-send-email-tj@kernel.org\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "95dde501907b06e7203c74f8435acfdab9eb2659",
      "tree": "1bbaca98ac1251f0489d283f5426a839158e9182",
      "parents": [
        "d9be9b90d6dc5e712ca5d6109691a8de753ce7f1"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue May 24 17:13:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:48 2011 -0700"
      },
      "message": "memblock: add error return when CONFIG_HAVE_MEMBLOCK is not set\n\nOn larger systems, information in the kernel log is lost because there is\nso much early text printed, that it overflows the static log buffer before\nthe log_buf_len kernel parameter can be processed, and a bigger log buffer\nallocated.\n\nDistros are relunctant to increase memory usage by increasing the size of\nthe static log buffer, so minimize the problem by allocating the new log\nbuffer as early as possible.\n\nThis patch:\n\nAdd an error return if CONFIG_HAVE_MEMBLOCK is not set instead of having\nto add #ifdef CONFIG_HAVE_MEMBLOCK around blocks of code calling that\nfunction.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: 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": "c7fc2de0c83dbd2eaf759c5cd0e2b9cf1eb4df3a",
      "tree": "c4413e9b3bc164394c2daccf34e18e0b1d6c8811",
      "parents": [
        "8e4029ee3517084ae00fbfbcb51cc365d8857061"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Oct 12 14:07:09 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue Oct 12 15:37:51 2010 -0700"
      },
      "message": "memblock, bootmem: Round pfn properly for memory and reserved regions\n\nWe need to round memory regions correctly -- specifically, we need to\nround reserved region in the more expansive direction (lower limit\ndown, upper limit up) whereas usable memory regions need to be rounded\nin the more restrictive direction (lower limit up, upper limit down).\n\nThis introduces two set of inlines:\n\n\tmemblock_region_memory_base_pfn()\n\tmemblock_region_memory_end_pfn()\n\tmemblock_region_reserved_base_pfn()\n\tmemblock_region_reserved_end_pfn()\n\nAlthough they are antisymmetric (and therefore are technically\nduplicates) the use of the different inlines explicitly documents the\nprogrammer\u0027s intention.\n\nThe lack of proper rounding caused a bug on ARM, which was then found\nto also affect other architectures.\n\nReported-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c4CB4CDFD.4020105@kernel.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.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": "f0b37fad9a63217c39997b2d2b31f44e3d8be727",
      "tree": "ac98bee1b6f0a3d3c4f7907ddcbc11e81fd8c882",
      "parents": [
        "25818f0f288cd5333ba5a90ad6dde3def4c4ff58"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Jul 28 15:28:21 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:32 2010 +1000"
      },
      "message": "memblock: Protect memblock.h with CONFIG_HAVE_MEMBLOCK\n\nThis should make it easier to catch/debug incorrect use when\nthe CONFIG_ option isn\u0027t set.\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": "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": "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": "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": "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": "9d3c30f5a17ec35894eadb7171f724643dce19c3",
      "tree": "c5c6f448b79facd126bc11e70ae5e19ade320127",
      "parents": [
        "2898cc4cdf208f15246b7a1c6951d2b126a70fd6"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:39:04 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:10 2010 +1000"
      },
      "message": "memblock: Remove unused memblock.debug struct member\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": "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": "1e2b904026e9debf95f500b8980a00c43ac0f31c",
      "tree": "8fcd7bd0880d04428ed20c38e6dcc0790edf320a",
      "parents": [
        "719c1514f2fef5f01fcfa2bba81b7bb079c7c6a1"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Aug 04 13:52:25 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Aug 05 12:56:02 2010 +1000"
      },
      "message": "memblock: Remove obsolete accessors\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "5b385f259fa4d356452e3b4729cbaf5213f4f55b",
      "tree": "17bfa3a22d367eb80b4720275579407917a70f4b",
      "parents": [
        "dbe3039e64b1dd4cf26f782d45b524f85b444ad4"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Aug 04 13:40:38 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Aug 04 14:38:57 2010 +1000"
      },
      "message": "memblock: Introduce for_each_memblock() and new accessors\n\nWalk memblock\u0027s using for_each_memblock() and use memblock_region_base/end_pfn() for\ngetting to PFNs.\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": "411a25a80da328f5ae6b6c037872ffe867fcc130",
      "tree": "625457e24037b0473dd293d66bae20828e432519",
      "parents": [
        "e3239ff92a17976ac5d26fa0fe40ef3a9daf2523"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 06 15:38:56 2010 -0700"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Aug 04 14:21:49 2010 +1000"
      },
      "message": "memblock: No reason to include asm/memblock.h late\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": "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"
    }
  ]
}
