)]}'
{
  "log": [
    {
      "commit": "a9ce6bc15100023b411f8117e53a016d61889800",
      "tree": "c9cb1468fde867fd9bfeb0cb33ffe994b0720aaa",
      "parents": [
        "72d7c3b33c980843e756681fb4867dc1efd62a76"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Aug 25 13:39:17 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Aug 27 11:13:47 2010 -0700"
      },
      "message": "x86, memblock: Replace e820_/_early string with memblock_\n\n1.include linux/memblock.h directly. so later could reduce e820.h reference.\n2 this patch is done by sed scripts mainly\n\n-v2: use MEMBLOCK_ERROR instead of -1ULL or -1UL\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "72d7c3b33c980843e756681fb4867dc1efd62a76",
      "tree": "9607345d9fa055dd501aacf0772258fb72897035",
      "parents": [
        "301ff3e88ef9ff4bdb92f36a3e6170fce4c9dd34"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Aug 25 13:39:17 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Aug 27 11:12:29 2010 -0700"
      },
      "message": "x86: Use memblock to replace early_res\n\n1. replace find_e820_area with memblock_find_in_range\n2. replace reserve_early with memblock_x86_reserve_range\n3. replace free_early with memblock_x86_free_range.\n4. NO_BOOTMEM will switch to use memblock too.\n5. use _e820, _early wrap in the patch, in following patch, will\n   replace them all\n6. because memblock_x86_free_range support partial free, we can remove some special care\n7. Need to make sure that memblock_find_in_range() is called after memblock_x86_fill()\n   so adjust some calling later in setup.c::setup_arch()\n   -- corruption_check and mptable_update\n\n-v2: Move reserve_brk() early\n    Before fill_memblock_area, to avoid overlap between brk and memblock_find_in_range()\n    that could happen We have more then 128 RAM entry in E820 tables, and\n    memblock_x86_fill() could use memblock_find_in_range() to find a new place for\n    memblock.memory.region array.\n    and We don\u0027t need to use extend_brk() after fill_memblock_area()\n    So move reserve_brk() early before fill_memblock_area().\n-v3: Move find_smp_config early\n    To make sure memblock_find_in_range not find wrong place, if BIOS doesn\u0027t put mptable\n    in right place.\n-v4: Treat RESERVED_KERN as RAM in memblock.memory. and they are already in\n    memblock.reserved already..\n    use __NOT_KEEP_MEMBLOCK to make sure memblock related code could be freed later.\n-v5: Generic version __memblock_find_in_range() is going from high to low, and for 32bit\n    active_region for 32bit does include high pages\n    need to replace the limit with memblock.default_alloc_limit, aka get_max_mapped()\n-v6: Use current_limit instead\n-v7: check with MEMBLOCK_ERROR instead of -1ULL or -1L\n-v8: Set memblock_can_resize early to handle EFI with more RAM entries\n-v9: update after kmemleak changes in mainline\n\nSuggested-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSuggested-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSuggested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "f88eff74aa848e58b1ea49768c0bbb874b31357f",
      "tree": "a8fdf012b22f0cc3ea5eed6bbf5c5746db9a6a5a",
      "parents": [
        "fb74fb6db91abc3c1ceeb9d2c17b44866a12c63e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Aug 25 13:39:15 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Aug 27 11:08:13 2010 -0700"
      },
      "message": "bootmem, x86: Add weak version of reserve_bootmem_generic\n\nIt will be used memblock_x86_to_bootmem converting\n\nIt is an wrapper for reserve_bootmem, and x86 64bit is using special one.\n\nAlso clean up that version for x86_64. We don\u0027t need to take care of numa\npath for that, bootmem can handle it how\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "b8ab9f82025adea77864115da73e70026fa4f540",
      "tree": "37d83932b99efd4aac2fccb2075a76bf0a147769",
      "parents": [
        "9aebbdb637a73a6092e1456ebb4a2df32cc1f611"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Jul 20 13:24:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 20 16:25:40 2010 -0700"
      },
      "message": "x86,nobootmem: make alloc_bootmem_node fall back to other node when 32bit numa is used\n\nBorislav Petkov reported his 32bit numa system has problem:\n\n[    0.000000] Reserving total of 4c00 pages for numa KVA remap\n[    0.000000] kva_start_pfn ~ 32800 max_low_pfn ~ 375fe\n[    0.000000] max_pfn \u003d 238000\n[    0.000000] 8202MB HIGHMEM available.\n[    0.000000] 885MB LOWMEM available.\n[    0.000000]   mapped low ram: 0 - 375fe000\n[    0.000000]   low ram: 0 - 375fe000\n[    0.000000] alloc (nid\u003d8 100000 - 7ee00000) (1000000 - ffffffff) 1000 1000 \u003d\u003e 34e7000\n[    0.000000] alloc (nid\u003d8 100000 - 7ee00000) (1000000 - ffffffff) 200 40 \u003d\u003e 34c9d80\n[    0.000000] alloc (nid\u003d0 100000 - 7ee00000) (1000000 - ffffffffffffffff) 180 40 \u003d\u003e 34e6140\n[    0.000000] alloc (nid\u003d1 80000000 - c7e60000) (1000000 - ffffffffffffffff) 240 40 \u003d\u003e 80000000\n[    0.000000] BUG: unable to handle kernel paging request at 40000000\n[    0.000000] IP: [\u003cc2c8cff1\u003e] __alloc_memory_core_early+0x147/0x1d6\n[    0.000000] *pdpt \u003d 0000000000000000 *pde \u003d f000ff53f000ff00\n...\n[    0.000000] Call Trace:\n[    0.000000]  [\u003cc2c8b4f8\u003e] ? __alloc_bootmem_node+0x216/0x22f\n[    0.000000]  [\u003cc2c90c9b\u003e] ? sparse_early_usemaps_alloc_node+0x5a/0x10b\n[    0.000000]  [\u003cc2c9149e\u003e] ? sparse_init+0x1dc/0x499\n[    0.000000]  [\u003cc2c79118\u003e] ? paging_init+0x168/0x1df\n[    0.000000]  [\u003cc2c780ff\u003e] ? native_pagetable_setup_start+0xef/0x1bb\n\nlooks like it allocates too much high address for bootmem.\n\nTry to cut limit with get_max_mapped()\n\nReported-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nTested-by: Conny Seidel \u003cconny.seidel@amd.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.34.x]\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb1ae635772d679eb312fa447290fc02cd0e4cf1",
      "tree": "45733f9820da1190cd58bfff080edbb02af961a8",
      "parents": [
        "addb2d6c13993060ae75f5005815b19dd2abdd64",
        "472a474c6630efd195d3738339fd1bdc8aa3b1aa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 11:02:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 07 11:02:23 2010 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:\n  x86: Fix double enable_IR_x2apic() call on SMP kernel on !SMP boards\n  x86: Increase CONFIG_NODES_SHIFT max to 10\n  ibft, x86: Change reserve_ibft_region() to find_ibft_region()\n  x86, hpet: Fix bug in RTC emulation\n  x86, hpet: Erratum workaround for read after write of HPET comparator\n  bootmem, x86: Fix 32bit numa system without RAM on node 0\n  nobootmem, x86: Fix 32bit numa system without RAM on node 0\n  x86: Handle overlapping mptables\n  x86: Make e820_remove_range to handle all covered case\n  x86-32, resume: do a global tlb flush in S4 resume\n"
    },
    {
      "commit": "aa235fc712f379d4194cff9217f07026c452c141",
      "tree": "9807da3453cfb9592c1a45f6fc327b5d227672d5",
      "parents": [
        "337998587f802535896e9ed16d19f97915ccd368"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Mar 31 20:45:27 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Apr 01 14:41:19 2010 -0700"
      },
      "message": "bootmem, x86: Fix 32bit numa system without RAM on node 0\n\nWhen 32bit numa is used, free_all_bootmem() will still only go over with\nnode id 0.\n\nIf node 0 doesn\u0027t have RAM installed, the lowest populated node\nbecomes low RAM.\n\nThis one fixes BOOTMEM path by iterating over the bdata_list.\n\n-v3: add more comments, and fix bootmem path too.\n-v4: seperate from one big patch\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c4BB416D7.6090203@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "337998587f802535896e9ed16d19f97915ccd368",
      "tree": "f736d3dbbbb9a4b0b02c34c7335fc269d8057f6d",
      "parents": [
        "909fc87b32b3b9e3f0b87dcc5d98319c41900c58"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Mar 31 20:44:09 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Apr 01 14:39:29 2010 -0700"
      },
      "message": "nobootmem, x86: Fix 32bit numa system without RAM on node 0\n\nOn one system without RAM on node0, got following boot dump with a 32\nbit NUMA kernel:\n\nearly_node_map[4] active PFN ranges\n    1: 0x00000010 -\u003e 0x00000099\n    1: 0x00000100 -\u003e 0x0007da00\n    1: 0x0007e800 -\u003e 0x0007ffa0\n    1: 0x0007ffae -\u003e 0x0007ffb0\n...\nSubtract (29 early reservations)\n  #000 [0000001000 - 0000002000]\n  #001 [0000089000 - 000008f000]\n  #002 [0000091000 - 0000093500]\n...\n  #027 [007cbfef40 - 007e800000]\n  #028 [007e9ca000 - 007ff95000]\n(0 free memory ranges)\nInitializing HighMem for node 0 (00000000:00000000)\nInitializing HighMem for node 1 (00000000:00000000)\nMemory: 0k/2096832k available (6662k kernel code, 2096300k reserved, 4829k data, 484k init, 0k highmem)\n...\nChecking if this processor honours the WP bit even in supervisor mode...Ok.\nswapper: page allocation failure. order:0, mode:0x0\nPid: 0, comm: swapper Not tainted 2.6.34-rc3-tip-03818-g4b1ea6c-dirty #35\nCall Trace:\n [\u003c4087a5dc\u003e] ? printk+0xf/0x11\n [\u003c40286728\u003e] __alloc_pages_nodemask+0x417/0x487\n [\u003c402a9ce1\u003e] new_slab+0xe2/0x1fe\n [\u003c402aa5b2\u003e] kmem_cache_open+0x185/0x358\n [\u003c402abbc0\u003e] T.954+0x1c/0x60\n [\u003c40d52a29\u003e] kmem_cache_init+0x24/0x113\n [\u003c40d39738\u003e] start_kernel+0x166/0x2e4\n [\u003c40d3940e\u003e] ? unknown_bootoption+0x0/0x18e\n [\u003c40d390ce\u003e] i386_start_kernel+0xce/0xd5\nMem-Info:\nNode 1 DMA per-cpu:\nCPU    0: hi:    0, btch:   1 usd:   0\nNode 1 Normal per-cpu:\nCPU    0: hi:    0, btch:   1 usd:   0\nactive_anon:0 inactive_anon:0 isolated_anon:0\n active_file:0 inactive_file:0 isolated_file:0\n unevictable:0 dirty:0 writeback:0 unstable:0\n free:0 slab_reclaimable:0 slab_unreclaimable:0\n mapped:0 shmem:0 pagetables:0 bounce:0\n\nWhen 32bit NUMA is used, free_all_bootmem() will still only go over with\nnode id 0.\n\nIf node 0 doesn\u0027t have RAM installed, We need to go with node1\nbecause early_node_map still use 1 for all ranges, and ram from node1\nbecome low ram.\n\nUse MAX_NUMNODES like 64-bit NUMA does.\n\nNote: BOOTMEM path has the same problem.\n      this bug exist before We have NO_BOOTMEM support.\n\n-v3: add more comments, and fix bootmem path too.\n-v4: seperate bootmem path fix\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c4BB41689.9090502@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "c26f91a3df1999ec1b3298372d73f90cbab81106",
      "tree": "be7998c5c93e9ce091c732e164848a865522a680",
      "parents": [
        "8c2eb4805d422bdbf60ba00ff233c794d23c3c00"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 22 09:32:26 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 24 19:51:08 2010 +0100"
      },
      "message": "x86: Remove excessive early_res debug output\n\nCommit 08677214e318297 (\"x86: Make 64 bit use early_res instead\nof bootmem  before slab\") introduced early_res replacement for\nbootmem, but left code  in __free_pages_memory() which dumps all\nthe ranges that are beeing freed,  without any additional\ninformation, causing some noise in dmesg during  bootup.\n\nJust remove printing of the ranges, that doesn\u0027t provide\nanything useful  anyway.\n\nWhile at it, remove other commented-out KERN_DEBUG messages in\nthe NO_BOOTMEM code as well.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nFound-OK-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003calpine.LNX.2.00.1003220931360.18642@pobox.suse.cz\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08677214e318297f228237be0042aac754f48f1d",
      "tree": "6d03424f7e287fcf66136b44512328afb1aeee49",
      "parents": [
        "c252a5bb1f57afb1e336d68085217727ca7b2134"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Feb 10 01:20:20 2010 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Feb 12 09:41:59 2010 -0800"
      },
      "message": "x86: Make 64 bit use early_res instead of bootmem before slab\n\nFinally we can use early_res to replace bootmem for x86_64 now.\n\nStill can use CONFIG_NO_BOOTMEM to enable it or not.\n\n-v2: fix 32bit compiling about MAX_DMA32_PFN\n-v3: folded bug fix from LKML message below\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c4B747239.4070907@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "8aa043d74559556a661cb2eb6e64497eec86ec77",
      "tree": "73559e8b70d2f2d139ca3c404687873d34ff7b36",
      "parents": [
        "9ae49fab239fb49de92a657c7426271e0793c4e1"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Dec 14 17:59:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "mm/bootmem.c: properly __init-annotate helper functions\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f993ac3f708b661207ed7de521f245586217a68",
      "tree": "f9565a41efe0cc2dfde6d84c8a6bdf310799ffea",
      "parents": [
        "9d5ce73a64be2be8112147a3e0b551ad9cd1247b"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Nov 10 19:46:17 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 12:31:43 2009 +0100"
      },
      "message": "bootmem: Add free_bootmem_late()\n\nAdd a new function for freeing bootmem after the bootmem\nallocator has been released and the unreserved pages given to\nthe page allocator.\n\nThis allows us to reserve bootmem and then release it if we\nlater discover it was not needed.\n\n( This new API will be used by the swiotlb code to recover\n  a significant amount of RAM (64MB). )\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: chrisw@sous-sol.org\nCc: dwmw2@infradead.org\nCc: joerg.roedel@amd.com\nCc: muli@il.ibm.com\nCc: hannes@cmpxchg.org\nCc: tj@kernel.org\nCc: akpm@linux-foundation.org\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c1257849980-22640-7-git-send-email-fujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "008139d9146f9afee0e58df4b7422d0c9921f8ce",
      "tree": "8c9259521435afe264ce3479ba696b00848c7b3e",
      "parents": [
        "fd6789675ebfb9185cb4fb68dc51010b4e95d952"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Aug 27 14:29:17 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Aug 27 14:29:17 2009 +0100"
      },
      "message": "kmemleak: Do not report alloc_bootmem blocks as leaks\n\nThis patch sets the min_count for alloc_bootmem objects to 0 so that\nthey are never reported as leaks. This is because many of these blocks\nare only referred via the physical address which is not looked up by\nkmemleak.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ec3a354bd46cbdaa7933ba57a142ee2d2dbde0e5",
      "tree": "7ca4fc5d3ade825a73d9d0d1eb5f0b5e5cccb26d",
      "parents": [
        "53238a60dd4a679f6fe5613a7ed46899587205cf"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Jul 07 10:33:01 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 08 14:25:14 2009 +0100"
      },
      "message": "kmemleak: Add callbacks to the bootmem allocator\n\nThis patch adds kmemleak_alloc/free callbacks to the bootmem allocator.\nThis would allow scanning of such blocks and help avoiding a whole class\nof false positives and more kmemleak annotations.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\n"
    },
    {
      "commit": "433f13a7274ccc3541d2832ffe5ef4472036cc72",
      "tree": "3ae071e5bb856de36c78cce612dfba81bee68523",
      "parents": [
        "1e9c28599879040039f610c5b177e61ef65ff100"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jun 18 16:48:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 19 16:46:04 2009 -0700"
      },
      "message": "bootmem.c: avoid c90 declaration warning\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c91c4773b334d4d3a6d44626dc2a558ad97b86f3",
      "tree": "7703e307ec9b33577365130dc0e8665333ea1487",
      "parents": [
        "441c7e0a2ed38827b48b907bd1fa29faba2017a3"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 08:10:28 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 19:15:54 2009 +0300"
      },
      "message": "bootmem: fix slab fallback on numa\n\nIf the user requested bootmem allocation on a specific node, we should use\nkzalloc_node() for the fallback allocation.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "441c7e0a2ed38827b48b907bd1fa29faba2017a3",
      "tree": "7e614a14e34a39a63520600b810319da9f0f98ca",
      "parents": [
        "991ec02cdca33b03a132a0cacfe6f0aa0be9aa8d"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jun 10 20:05:53 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jun 11 19:10:41 2009 +0300"
      },
      "message": "bootmem: use slab if bootmem is no longer available\n\nAs a preparation for initializing the slab allocator early, make sure the\nbootmem allocator does not crash and burn if someone calls it after slab is up;\notherwise we\u0027d need a flag day for switching to early slab.\n\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "d0c4f570276cb4d2dc4215b90eb7cb6e2bdd4a15",
      "tree": "5cf4f85082ed720df7d815299782e25e44d75c9d",
      "parents": [
        "af6326d72c95d6e0bbc88c92185c654f57acef3b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Mar 01 16:06:56 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Mar 01 16:06:56 2009 +0900"
      },
      "message": "bootmem, x86: further fixes for arch-specific bootmem wrapping\n\nImpact: fix new breakages introduced by previous fix\n\nCommit c132937556f56ee4b831ef4b23f1846e05fde102 tried to clean up\nbootmem arch wrapper but it wasn\u0027t quite correct.  Before the commit,\nthe followings were broken.\n\n* Low level interface functions prefixed with __ ignored arch\n  preference.\n\n* reserve_bootmem(...) can\u0027t be mapped into\n  reserve_bootmem_node(NODE_DATA(0)-\u003ebdata, ...) because the node is\n  not preference here.  The region specified MUST fall into the\n  specified region; otherwise, it will panic.\n\nAfter the commit,\n\n* If allocation fails for the arch preferred node, it should fallback\n  to whatever is available.  Instead, it simply failed allocation.\n\nThere are too many internal details to allow generic wrapping and\nstill keep things simple for archs.  Plus, all that arch wants is a\nway to prefer certain node over another.\n\nThis patch drops the generic wrapping around alloc_bootmem_core() and\nadd alloc_bootmem_core() instead.  If necessary, arch can define\nbootmem_arch_referred_node() macro or function which takes all\nallocation information and returns the preferred node.  bootmem\ngeneric code will always try the preferred node first and then\nfallback to other nodes as usual.\n\nBreakages noted and changes reviewed by Johannes Weiner.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\n"
    },
    {
      "commit": "c132937556f56ee4b831ef4b23f1846e05fde102",
      "tree": "0f93037ff2ebbdc321ebd0bbfc4752823c8d6a0e",
      "parents": [
        "cb83b42e23bd6c4bf91793a320fbe83787c13596"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 24 11:57:20 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 24 11:57:20 2009 +0900"
      },
      "message": "bootmem: clean up arch-specific bootmem wrapping\n\nImpact: cleaner and consistent bootmem wrapping\n\nBy setting CONFIG_HAVE_ARCH_BOOTMEM_NODE, archs can define\narch-specific wrappers for bootmem allocation.  However, this is done\na bit strangely in that only the high level convenience macros can be\nchanged while lower level, but still exported, interface functions\ncan\u0027t be wrapped.  This not only is messy but also leads to strange\nsituation where alloc_bootmem() does what the arch wants it to do but\nthe equivalent __alloc_bootmem() call doesn\u0027t although they should be\nable to be used interchangeably.\n\nThis patch updates bootmem such that archs can override / wrap the\nbackend function - alloc_bootmem_core() instead of the highlevel\ninterface functions to allow simpler and consistent wrapping.  Also,\nHAVE_ARCH_BOOTMEM_NODE is renamed to HAVE_ARCH_BOOTMEM.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Johannes Weiner \u003channes@saeurebad.de\u003e\n"
    },
    {
      "commit": "594fe1a044325bb0a1a49ca7d086e3df4f1df59a",
      "tree": "db3ed12346af4357d154637baad4fb224fbde639",
      "parents": [
        "dcd4a049b9751828c516c59709f3fdf50436df85"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jan 06 14:40:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:10 2009 -0800"
      },
      "message": "bootmem: print request details before BUG_ON(them)\n\nMoving the request details print-out before the sanity checks that\nmight panic() enables us to analyse invalid requests without having\naccess to the line information of the stack dump.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80a914dc05683ecfc98f9e1887fd6564846ffbec",
      "tree": "2120b4007bc9488eebd98a4d40b00221d17ecb2b",
      "parents": [
        "d5c003b4d1690e666dbab02bc8e705947baa848c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 15 22:01:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:30 2008 -0700"
      },
      "message": "misc: replace __FUNCTION__ with __func__\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@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": "481ebd0d76b501c5772f702ae31e55350c0858a3",
      "tree": "37f13727a66bf2cb10e4d8be7a608edf9cd5009e",
      "parents": [
        "a09f48551273ee89d4e9ae37474807dc2da1d757"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Aug 20 14:09:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:31 2008 -0700"
      },
      "message": "bootmem: fix aligning of node-relative indexes and offsets\n\nAbsolute alignment requirements may never be applied to node-relative\noffsets.  Andreas Herrmann spotted this flaw when a bootmem allocation on\nan unaligned node was itself not aligned because the combination of an\nunaligned node with an aligned offset into that node is not garuanteed to\nbe aligned itself.\n\nThis patch introduces two helper functions that align a node-relative\nindex or offset with respect to the node\u0027s starting address so that the\nabsolute PFN or virtual address that results from combining the two\nsatisfies the requested alignment.\n\nThen all the broken ALIGN()s in alloc_bootmem_core() are replaced by these\nhelpers.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nReported-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nDebugged-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nReviewed-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nTested-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "627240aaa92a4dc00d25584910b5f205e963747b",
      "tree": "7e05e87ecc48b57de8c2eeb872ce7a0102c2af3b",
      "parents": [
        "b635acec48bcaa9183fcbf4e3955616b0d4119b5"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Aug 15 00:40:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:41 2008 -0700"
      },
      "message": "bootmem allocator: alloc_bootmem_core(): page-align the end offset\n\nThis is the minimal sequence that jams the allocator:\n\nvoid *p, *q, *r;\np \u003d alloc_bootmem(PAGE_SIZE);\nq \u003d alloc_bootmem(64);\nfree_bootmem(p, PAGE_SIZE);\np \u003d alloc_bootmem(PAGE_SIZE);\nr \u003d alloc_bootmem(64);\n\nafter this sequence (assuming that the allocator was empty or page-aligned\nbefore), pointer \"q\" will be equal to pointer \"r\".\n\nWhat\u0027s hapenning inside the allocator:\np \u003d alloc_bootmem(PAGE_SIZE);\nin allocator: last_end_off \u003d\u003d PAGE_SIZE, bitmap contains bits 10000...\nq \u003d alloc_bootmem(64);\nin allocator: last_end_off \u003d\u003d PAGE_SIZE + 64, bitmap contains 11000...\nfree_bootmem(p, PAGE_SIZE);\nin allocator: last_end_off \u003d\u003d PAGE_SIZE + 64, bitmap contains 01000...\np \u003d alloc_bootmem(PAGE_SIZE);\nin allocator: last_end_off \u003d\u003d PAGE_SIZE, bitmap contains 11000...\nr \u003d alloc_bootmem(64);\n\nand now:\n\nit finds bit \"2\", as a place where to allocate (sidx)\n\nit hits the condition\n\nif (bdata-\u003elast_end_off \u0026\u0026 PFN_DOWN(bdata-\u003elast_end_off) + 1 \u003d\u003d sidx))\nstart_off \u003d ALIGN(bdata-\u003elast_end_off, align);\n\n-you can see that the condition is true, so it assigns start_off \u003d\nALIGN(bdata-\u003elast_end_off, align); (that is PAGE_SIZE) and allocates\nover already allocated block.\n\nWith the patch it tries to continue at the end of previous allocation only\nif the previous allocation ended in the middle of the page.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nAcked-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3560e249abda6bee41a07a7bf0383a6e193e2839",
      "tree": "a5770b74f13dca64e34cd5a1e3182e4e1f98a9ca",
      "parents": [
        "75a56cfe9fdb064d1db1cfbc564315fddb756fb1"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: replace node_boot_start in struct bootmem_data\n\nAlmost all users of this field need a PFN instead of a physical address,\nso replace node_boot_start with node_min_pfn.\n\n[Lee.Schermerhorn@hp.com: fix spurious BUG_ON() in mark_bootmem()]\nSigned-off-by: Johannes Weiner \u003channes@saeureba.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "75a56cfe9fdb064d1db1cfbc564315fddb756fb1",
      "tree": "4b72b655e1137792a3213678416bf0541e7a3b1b",
      "parents": [
        "4cc278b721d5bf3569dfc5f1100253042e097bc3"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: revisit alloc_bootmem_section\n\nSince alloc_bootmem_core does no goal-fallback anymore and just returns\nNULL if the allocation fails, we might now use it in alloc_bootmem_section\nwithout all the fixup code for a misplaced allocation.\n\nAlso, the limit can be the first PFN of the next section as the semantics\nis that the limit is _above_ the allocated region, not within.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: 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": "4cc278b721d5bf3569dfc5f1100253042e097bc3",
      "tree": "a2e1a918b76a68c72152f8f9c95449d1a5ba69ab",
      "parents": [
        "0f3caba211babef6e3fbde1ba76ddc79321bc92f"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: Make __alloc_bootmem_low_node fall back to other nodes\n\n__alloc_bootmem_node already does this, make the interface consistent.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f3caba211babef6e3fbde1ba76ddc79321bc92f",
      "tree": "a240561bc4288ab3e17f16c458377df9d043a177",
      "parents": [
        "e2bf3cae515090fefe28329e71230dfe7ab873b1"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: respect goal more likely\n\nThe old node-agnostic code tried allocating on all nodes starting from the\none with the lowest range.  alloc_bootmem_core retried without the goal if\nit could not satisfy it and so the goal was only respected at all when it\nhappened to be on the first (lowest page numbers) node (or theoretically\nif allocations failed on all nodes before to the one holding the goal).\n\nIntroduce a non-panicking helper that starts allocating from the node\nholding the goal and falls back only after all thes tries failed, thus\nmoving the goal fallback code out of alloc_bootmem_core.\n\nMake all other allocation functions benefit from this new helper.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: 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": "e2bf3cae515090fefe28329e71230dfe7ab873b1",
      "tree": "459543aefbeef71a3479ab15ccfe2423bbce6602",
      "parents": [
        "d747fa4bcebcf3696607b86a6b0dafa644be0676"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: factor out the marking of a PFN range\n\nIntroduce new helpers that mark a range that resides completely on a node\nor node-agnostic ranges that might also span node boundaries.\n\nThe free/reserve API functions will then directly use these helpers.\n\nNote that the free/reserve semantics become more strict: while the prior\ncode took basically arbitrary range arguments and marked the PFNs that\nhappen to fall into that range, the new code requires node-specific ranges\nto be completely on the node.  The node-agnostic requests might span node\nboundaries as long as the nodes are contiguous.\n\nPassing ranges that do not satisfy these criteria is a bug.\n\n[akpm@linux-foundation.org: fix printk warnings]\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d747fa4bcebcf3696607b86a6b0dafa644be0676",
      "tree": "ca6efae6f21cc357b75ecf2c91344d79ac465645",
      "parents": [
        "5f2809e69c7128f86316048221cf45146f69a4a0"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: free/reserve helpers\n\nFactor out the common operation of marking a range on the bitmap.\n\n[akpm@linux-foundation.org: fix various warnings]\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f2809e69c7128f86316048221cf45146f69a4a0",
      "tree": "3c958e4f2c563a0d59f577bf239fe103057d6730",
      "parents": [
        "41546c17418fba08ece978bad72a33072715b8f3"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: clean up alloc_bootmem_core\n\nalloc_bootmem_core has become quite nasty to read over time.  This is a\nclean rewrite that keeps the semantics.\n\nbdata-\u003elast_pos has been dropped.\n\nbdata-\u003elast_success has been renamed to hint_idx and it is now an index\nrelative to the node\u0027s range.  Since further block searching might start\nat this index, it is now set to the end of a succeeded allocation rather\nthan its beginning.\n\nbdata-\u003elast_offset has been renamed to last_end_off to be more clear that\nit represents the ending address of the last allocation relative to the\nnode.\n\n[y-goto@jp.fujitsu.com: fix new alloc_bootmem_core()]\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\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"
    },
    {
      "commit": "41546c17418fba08ece978bad72a33072715b8f3",
      "tree": "16d14d3e22c557289233ed547bacea3739e413c0",
      "parents": [
        "636cc40cb79f511d9caa27ef098a83e4fa4971fb"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: clean up free_all_bootmem_core\n\nRewrite the code in a more concise way using less variables.\n\n[akpm@linux-foundation.org: fix printk warnings]\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "636cc40cb79f511d9caa27ef098a83e4fa4971fb",
      "tree": "c1090aa1a56bfc1ddb3de2f17447b98c20515646",
      "parents": [
        "df049a5f41a3b2eee2131221959e3b558ba7c705"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: revisit bootmem descriptor list handling\n\nlink_bootmem handles an insertion of a new descriptor into the sorted list\nin more or less three explicit branches; empty list, insert in between and\nappend.  These cases can be expressed implicite.\n\nAlso mark the sorted list as initdata as it can be thrown away after boot\nas well.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df049a5f41a3b2eee2131221959e3b558ba7c705",
      "tree": "dcba7fb3e442838e93e2fb0deb66acc79372b123",
      "parents": [
        "2e5237daf0cc3c8d87762f53f704dc54fa91dcf6"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: revisit bitmap size calculations\n\nReincarnate get_mapsize as bootmap_bytes and implement\nbootmem_bootmap_pages on top of it.\n\nAdjust users of these helpers and make free_all_bootmem_core use\nbootmem_bootmap_pages instead of open-coding it.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e5237daf0cc3c8d87762f53f704dc54fa91dcf6",
      "tree": "d3ef2691082e233379ceaf8e19b6cfe480c50abe",
      "parents": [
        "a66fd7daec1f40c1f0eac466f0da9206b615fe2a"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:20 2008 -0700"
      },
      "message": "bootmem: add debugging framework\n\nIntroduce the bootmem_debug kernel parameter that enables very verbose\ndiagnostics regarding all range operations of bootmem as well as the\ninitialization and release of nodes.\n\n[akpm@linux-foundation.org: fix printk warnings]\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a66fd7daec1f40c1f0eac466f0da9206b615fe2a",
      "tree": "76a9e76d4bbe68ed87f83d1f95651f9a4310ab2a",
      "parents": [
        "57cfc29efac6670355ee0e107c8dbae8237d406b"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "bootmem: add documentation to API functions\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57cfc29efac6670355ee0e107c8dbae8237d406b",
      "tree": "546988a73bf379b40c70c7a45fd1d850cbb0be37",
      "parents": [
        "223e8dc9249c9e15f6c8b638d73fcad78ccb0a88"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "bootmem: clean up bootmem.c file header\n\nChange the description, move a misplaced comment about the allocator\nitself and add me to the list of copyright holders.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.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": "223e8dc9249c9e15f6c8b638d73fcad78ccb0a88",
      "tree": "dff068c99609163c1632926c7f321279d8f945d8",
      "parents": [
        "7251ff78b94c2a68d267623d09b32672b20662c1"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:28:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:19 2008 -0700"
      },
      "message": "bootmem: reorder code to match new bootmem structure\n\nThis only reorders functions so that further patches will be easier to\nread.  No code changed.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b54bbf7b81170f03597c17dd0b559e3006bc9868",
      "tree": "abc6b326e293d3a685d943956d32ab4038a90e1f",
      "parents": [
        "5ced66c901f1cf0b684feb15c2cd8b126e263d07"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jul 23 21:27:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "mm: introduce non panic alloc_bootmem\n\nStraight forward variant of the existing __alloc_bootmem_node, only\nsubsequent patch when allocating giant hugepages at boot -- don\u0027t want to\npanic if we can\u0027t allocate as many as the user asked for.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ffc6421f0720f433b5b35b89ff56e998eabff93b",
      "tree": "171f85b314b062eae1ad5b36e4f64dddc511aa11",
      "parents": [
        "8ae04463077324ed9f6b04ab3a5b17ae1ee4dd35"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:26:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:14 2008 -0700"
      },
      "message": "mm: unexport __alloc_bootmem_core()\n\nThis function has no external callers, so unexport it.  Also fix its naming\ninconsistency.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ae04463077324ed9f6b04ab3a5b17ae1ee4dd35",
      "tree": "2982394dd832fc105bddf759e007ba158a10c3ed",
      "parents": [
        "6b312c0e6e2f44b020e12953d1dd37eed60e3609"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:26:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:14 2008 -0700"
      },
      "message": "mm: normalize internal argument passing of bootmem data\n\nAll _core functions only need the bootmem data, not the whole node descriptor.\nAdjust the two functions that take the node descriptor unneededly.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b312c0e6e2f44b020e12953d1dd37eed60e3609",
      "tree": "4f2a1177b0013b411bf4799fb3c776128f5fa6f9",
      "parents": [
        "b61bfa3c462671c48a51fb5c31af337c5a996a04"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:26:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:14 2008 -0700"
      },
      "message": "mm: fix free_all_bootmem_core alignment check\n\nThe check for node_boot_start is bogus because we start freeing at the\ncorresponding pfn.  So check if the pfn is properly aligned instead in a more\nreadable way and adjust the documentation.\n\nAlso remove an unneeded accounting variable.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b61bfa3c462671c48a51fb5c31af337c5a996a04",
      "tree": "020363fd43a85ddde9998759150b428ee794dae6",
      "parents": [
        "8b05c7e6e159d2f33c9275281b8b909a89eb7c5d"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Wed Jul 23 21:26:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:14 2008 -0700"
      },
      "message": "mm: move bootmem descriptors definition to a single place\n\nThere are a lot of places that define either a single bootmem descriptor or an\narray of them.  Use only one central array with MAX_NUMNODES items instead.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2dbb51c49f4fecb8330e43247a0edfbc4b2b8974",
      "tree": "507f06335dd1e66144f176e8e863743895e43d79",
      "parents": [
        "708614e6180f398cd307ea0048d48ba6fa274610"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Wed Jul 23 21:26:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:13 2008 -0700"
      },
      "message": "mm: make defensive checks around PFN values registered for memory usage\n\nThere are a number of different views to how much memory is currently active.\nThere is the arch-independent zone-sizing view, the bootmem allocator and\nmemory models view.\n\nArchitectures register this information at different times and is not\nnecessarily in sync particularly with respect to some SPARSEMEM limitations.\n\nThis patch introduces mminit_validate_memmodel_limits() which is able to\nvalidate and correct PFN ranges with respect to the memory model.  It is only\nSPARSEMEM that currently validates itself.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\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": "71c2742f5e6348d76ee62085cf0a13e5eff0f00e",
      "tree": "44020f575319903e3ef18665baec360b6ea1c98d",
      "parents": [
        "a19214430d27a3af6f1672ec26f3c893ef899ede"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Sat Jun 21 19:01:02 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 11:25:10 2008 -0700"
      },
      "message": "Add return value to reserve_bootmem_node()\n\nThis patch changes the function reserve_bootmem_node() from void to int,\nreturning -ENOMEM if the allocation fails.\n\nThis fixes a build problem on x86 with CONFIG_KEXEC\u003dy and\nCONFIG_NEED_MULTIPLE_NODES\u003dy\n\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nReported-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e70260aabea3af2a84b951e75166dcebe689b88e",
      "tree": "196dc5f2804f9f5496f51954330a036e3a2762d8",
      "parents": [
        "9d99217a02a06a7cc83f065b73e976970970c58c"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Mon Apr 28 02:13:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:25 2008 -0700"
      },
      "message": "memory hotplug: make alloc_bootmem_section()\n\nalloc_bootmem_section() can allocate specified section\u0027s area.  This is used\nfor usemap to keep same section with pgdat by later patch.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: 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": "04753278769f3b6c3b79a080edb52f21d83bf6e2",
      "tree": "0dff4088b44016b6d04930b2fc09419412821aa2",
      "parents": [
        "7f2e9525ba55b1c42ad6c4a5a59d7eb7bdd9be72"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Mon Apr 28 02:13:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:25 2008 -0700"
      },
      "message": "memory hotplug: register section/node id to free\n\nThis patch set is to free pages which is allocated by bootmem for\nmemory-hotremove.  Some structures of memory management are allocated by\nbootmem.  ex) memmap, etc.\n\nTo remove memory physically, some of them must be freed according to\ncircumstance.  This patch set makes basis to free those pages, and free\nmemmaps.\n\nBasic my idea is using remain members of struct page to remember information\nof users of bootmem (section number or node id).  When the section is\nremoving, kernel can confirm it.  By this information, some issues can be\nsolved.\n\n  1) When the memmap of removing section is allocated on other\n     section by bootmem, it should/can be free.\n  2) When the memmap of removing section is allocated on the\n     same section, it shouldn\u0027t be freed. Because the section has to be\n     logical memory offlined already and all pages must be isolated against\n     page allocater. If it is freed, page allocator may use it which will\n     be removed physically soon.\n  3) When removing section has other section\u0027s memmap,\n     kernel will be able to show easily which section should be removed\n     before it for user. (Not implemented yet)\n  4) When the above case 2), the page isolation will be able to check and skip\n     memmap\u0027s page when logical memory offline (offline_pages()).\n     Current page isolation code fails in this case because this page is\n     just reserved page and it can\u0027t distinguish this pages can be\n     removed or not. But, it will be able to do by this patch.\n     (Not implemented yet.)\n  5) The node information like pgdat has similar issues. But, this\n     will be able to be solved too by this.\n     (Not implemented yet, but, remembering node id in the pages.)\n\nFortunately, current bootmem allocator just keeps PageReserved flags,\nand doesn\u0027t use any other members of page struct. The users of\nbootmem doesn\u0027t use them too.\n\nThis patch:\n\nThis is to register information which is node or section\u0027s id.  Kernel can\ndistinguish which node/section uses the pages allcated by bootmem.  This is\nbasis for hot-remove sections or nodes.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: 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": "a5645a61b3b7e7d7de15e1a642ead600150ce94d",
      "tree": "76fad06bc64a00b71821a9df63c474ea5341eab2",
      "parents": [
        "9a2dc04cf070ee98e014a172695782ff42015fc4"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Mar 18 12:49:12 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 22:51:08 2008 +0200"
      },
      "message": "mm: allow reserve_bootmem() cross nodes\n\nsplit reserve_bootmem_core() into two functions, one which checks\nconflicts, and one which sets the bits.\n\nand make reserve_bootmem to loop bdata_list to cross the nodes.\n\nuser could be crashkernel and ramdisk..., in case the range provided\nby those externalities crosses the nodes.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9a2dc04cf070ee98e014a172695782ff42015fc4",
      "tree": "3a068d5e6625a931f2cf3f7a7133e6f194c962c2",
      "parents": [
        "ad09315cad17458e51c7f1f8b371cb942c54b955"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Mar 18 12:44:48 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 22:51:08 2008 +0200"
      },
      "message": "mm: offset align in alloc_bootmem()\n\nneed offset alignment when node_boot_start\u0027s alignment is less than\nthe alignment required.\n\nuse local node_boot_start to match alignment - so don\u0027t add extra operation\nin search loop.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad09315cad17458e51c7f1f8b371cb942c54b955",
      "tree": "5838f3a78b7697c0d0a7d2ae88b8424226a92067",
      "parents": [
        "e123dd3f0ec1664576456ea1ea045591a0a95f0c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Mon Mar 10 23:23:42 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 22:51:07 2008 +0200"
      },
      "message": "mm: fix alloc_bootmem_core to use fast searching for all nodes\n\nMake the nodes other than node 0 use bdata-\u003elast_success for fast\nsearch too.\n\nWe need to use __alloc_bootmem_core() for vmemmap allocation for other\nnodes when numa and sparsemem/vmemmap are enabled.\n\nAlso, make fail_block path increase i with incr only after ALIGN\nto avoid extra increase when size is larger than align.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5a982cbc7b3fe6cf72266f319286f29963c71b9e",
      "tree": "97afbc2ebc81b31ec13e261d0127f5e1639f0e26",
      "parents": [
        "2875fb65f8e40401c4b781ebc5002df10485f635"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Mon Mar 24 12:29:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:22:19 2008 -0700"
      },
      "message": "mm: fix boundary checking in free_bootmem_core\n\nWith numa enabled, some callers could have a range of memory on one node\nbut try to free that on other node.  This can cause some pages to be\nfreed wrongly.\n\nFor example: when we try to allocate 128g boot ram early for\ngart/swiotlb, and free that range later so gart/swiotlb can get some\nrange afterwards.\n\nWith this patch, we don\u0027t need to care which node holds the range, just\nloop to call free_bootmem_node for all online nodes.\n\nThis patch makes free_bootmem_core() more robust by trimming the sidx\nand eidx according the ram range that the node has.\n\nAnd make the free_bootmem_core handle this out of range case.  We could\nuse bdata_list to make sure the range can be freed for sure.  So next\ntime, we don\u0027t need to loop online nodes and could use free_bootmem\ndirectly.\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72a7fe3967dbf86cb34e24fbf1d957fe24d2f246",
      "tree": "c19f7d0b530577359840e959cce204939caf0649",
      "parents": [
        "25fad945a7f7ff2cf06e437381c6a1121784dbd9"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Thu Feb 07 00:15:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:25 2008 -0800"
      },
      "message": "Introduce flags for reserve_bootmem()\n\nThis patchset adds a flags variable to reserve_bootmem() and uses the\nBOOTMEM_EXCLUSIVE flag in crashkernel reservation code to detect collisions\nbetween crashkernel area and already used memory.\n\nThis patch:\n\nChange the reserve_bootmem() function to accept a new flag BOOTMEM_EXCLUSIVE.\nIf that flag is set, the function returns with -EBUSY if the memory already\nhas been reserved in the past.  This is to avoid conflicts.\n\nBecause that code runs before SMP initialisation, there\u0027s no race condition\ninside reserve_bootmem_core().\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix powerpc build]\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "045f147f3290395661b56b9231fc4d221e150963",
      "tree": "63df3be162913b044a7f88a03b45c59f438bbb19",
      "parents": [
        "a8f48a95619cbce8f85423480e7d0a1bf971a62b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:40:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:44 2006 -0800"
      },
      "message": "[PATCH] remove EXPORT_UNUSED_SYMBOL\u0027ed symbols\n\nIn time for 2.6.20, we can get rid of this junk.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7c309a64d6afa90a0a07813c836ba480aeaeca8c",
      "tree": "a56b235fa35c2e528752071df2a6e21a25a4e8f6",
      "parents": [
        "a120586873d3d64de93bd6d593d237e131994e58"
      ],
      "author": {
        "name": "Christian Krafft",
        "email": "krafft@de.ibm.com",
        "time": "Wed Dec 06 20:32:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:22 2006 -0800"
      },
      "message": "[PATCH] enable booting a NUMA system where some nodes have no memory\n\nWhen booting a NUMA system with nodes that have no memory (eg by limiting\nmemory), bootmem_alloc_core tried to find pages in an uninitialized\nbootmem_map.  This caused a null pointer access.  This fix adds a check, so\nthat NULL is returned.  That will enable the caller (bootmem_alloc_nopanic)\nto alloc memory on other without a panic.\n\nSigned-off-by: Christian Krafft \u003ckrafft@de.ibm.com\u003e\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dfd54cbcc0b834652389ce99b5e656ea5f44a3c1",
      "tree": "7c403a50b42b2809bb9b18122cbd83e8e2c180c9",
      "parents": [
        "b72f160443cb78b2f8addae6e331d2adaa70f869"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Sep 25 23:31:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:49 2006 -0700"
      },
      "message": "[PATCH] bootmem: use MAX_DMA_ADDRESS instead of LOW32LIMIT\n\nIntroduce ARCH_LOW_ADDRESS_LIMIT which can be set per architecture to\noverride the 4GB default limit used by the bootmem allocater within\n__alloc_bootmem_low() and __alloc_bootmem_low_node().  E.g.  s390 needs a\n2GB limit instead of 4GB.\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f71bf0cac730ccb5ebcdf21747db75ae0445ccde",
      "tree": "2ba089be617218753b9d8b8faf05eb97eec42120",
      "parents": [
        "bbc7b92e337ac349ca917f9bf0b6be4743c14f3a"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "vagabon.xyz@gmail.com",
        "time": "Mon Sep 25 23:31:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:45 2006 -0700"
      },
      "message": "[PATCH] bootmem: miscellaneous coding style fixes\n\nIt fixes various coding style issues, specially when spaces are useless.  For\nexample \u0027*\u0027 go next to the function name.\n\nSigned-off-by: Franck Bui-Huu \u003cvagabon.xyz@gmail.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bbc7b92e337ac349ca917f9bf0b6be4743c14f3a",
      "tree": "7361d18c6b40957fda598cc9db0d02648b0918eb",
      "parents": [
        "e786e86a542ccc1133f333402526ad00b9c088ae"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "vagabon.xyz@gmail.com",
        "time": "Mon Sep 25 23:31:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:45 2006 -0700"
      },
      "message": "[PATCH] bootmem: use pfn/page conversion macros\n\nIt also creates get_mapsize() helper in order to make the code more readable\nwhen it calculates the boot bitmap size.\n\nSigned-off-by: Franck Bui-Huu \u003cvagabon.xyz@gmail.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e786e86a542ccc1133f333402526ad00b9c088ae",
      "tree": "db08d5e3fd398e9f22128a6867aa12497abe3e7c",
      "parents": [
        "bb0923a66820718f636736b22ce47372f79e3400"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "vagabon.xyz@gmail.com",
        "time": "Mon Sep 25 23:31:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:45 2006 -0700"
      },
      "message": "[PATCH] bootmem: remove useless headers inclusions\n\nSigned-off-by: Franck Bui-Huu \u003cvagabon.xyz@gmail.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bb0923a66820718f636736b22ce47372f79e3400",
      "tree": "56554098cb8cda63a1f805db211f1eea750befae",
      "parents": [
        "71fb2e8f8753b66b1f4295aa264a2eb4e69381e8"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "vagabon.xyz@gmail.com",
        "time": "Mon Sep 25 23:31:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:45 2006 -0700"
      },
      "message": "[PATCH] bootmem: limit to 80 columns width\n\nSigned-off-by: Franck Bui-Huu \u003cvagabon.xyz@gmail.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "69d49e681d7c7ed864a1ba45efc1e78433df8b9a",
      "tree": "c203f8c571d428f15b5b964468b1b90ede973915",
      "parents": [
        "2d1a07d487d8b36658404839cdf03a974968cefd"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "vagabon.xyz@gmail.com",
        "time": "Mon Sep 25 23:31:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:45 2006 -0700"
      },
      "message": "[PATCH] bootmem: mark link_bootmem() as part of the __init section\n\nSigned-off-by: Franck Bui-Huu \u003cvagabon.xyz@gmail.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6d46cc6b9b04dc28a9c5db62db791aeec8ab2ea5",
      "tree": "2d37b0b9177280e28aaf26cd5db877274da7d7f0",
      "parents": [
        "c0fc84d2e5bb4a9e3ae470812a00cccba85a48b8"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jul 10 04:44:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:17 2006 -0700"
      },
      "message": "[PATCH] mm/bootmem.c: EXPORT_UNUSED_SYMBOL\n\nThis patch marks an unused export as EXPORT_UNUSED_SYMBOL.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8062231d80239cf3405982858c02aea21a6066a",
      "tree": "0576493fa99cda91069fe3b67c19bd024858e69e",
      "parents": [
        "68a3a7feb08f960095072f28ec20f7900793c506"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Fri Apr 07 19:49:21 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 09 11:53:16 2006 -0700"
      },
      "message": "[PATCH] x86_64: Handle empty PXMs that only contain hotplug memory\n\nThe node setup code would try to allocate the node metadata in the node\nitself, but that fails if there is no memory in there.\n\nThis can happen with memory hotplug when the hotplug area defines an so\nfar empty node.\n\nNow use bootmem to try to allocate the mem_map in other nodes.\n\nAnd if it fails don\u0027t panic, but just ignore the node.\n\nTo make this work I added a new __alloc_bootmem_nopanic function that\ndoes what its name implies.\n\nTBD should try to use nearby nodes here.  Currently we just use any.\nIt\u0027s hard to do it better because bootmem doesn\u0027t have proper fallback\nlists yet.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "679bc9fbb508a0aac9539b2de747eb5849feb428",
      "tree": "350b9d7d01eeb7e2401b5ade156ead1a635a4bba",
      "parents": [
        "8357f8695d58b50fbf2bd507b4b0fc2cd1e43bd6"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:47 2006 -0800"
      },
      "message": "[PATCH] for_each_online_pgdat: for_each_bootmem\n\nAdd a list_head to bootmem_data_t and make bootmems use it.  bootmem list is\nsorted by node_boot_start.\n\nOnly nodes against which init_bootmem() is called are linked to the list.\n(i386 allocates bootmem only from one node(0) not from all online nodes.)\n\nA summary:\n 1. for_each_online_pgdat() traverses all *online* nodes.\n 2. alloc_bootmem() allocates memory only from initialized-for-bootmem nodes.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "267b48014a5c0c2ae90b04dad5d95ceb903365a6",
      "tree": "95f5475b7b7f6e5b4fd023f51fb2fa826d95a754",
      "parents": [
        "bd6633476922b7b51227f7f704c2546e763ae5ed"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:31:10 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:56 2006 -0800"
      },
      "message": "[PATCH] x86_64: Try to allocate node memmap near the end of node\n\nThis fixes problems with very large nodes (over 128GB) filling up all of\nthe first 4GB with their mem_map and not leaving enough space for the\nswiotlb.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a226f6c899799fe2c4919daa0767ac579c88f7bd",
      "tree": "82863c401f344cae8ab518b174085a7071a0a325",
      "parents": [
        "008857c1a49ccffc31a54c3ea7e182833bd61304"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 06 00:11:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:26 2006 -0800"
      },
      "message": "[PATCH] FRV: Clean up bootmem allocator\u0027s page freeing algorithm\n\nThe attached patch cleans up the way the bootmem allocator frees pages.\n\nA new function, __free_pages_bootmem(), is provided in mm/page_alloc.c that is\ncalled from mm/bootmem.c to turn pages over to the main allocator.  All the\nbits of code to initialise pages (clearing PG_reserved and setting the page\ncount) are moved to here.  The checks on page validity are removed, on the\nassumption that the struct page arrays will have been prepared correctly.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "008857c1a49ccffc31a54c3ea7e182833bd61304",
      "tree": "ba65452db097f57e05d2e3df550d55d45feabc94",
      "parents": [
        "085cc7d5de3cc662da7ea78296464a0d52f3f01f"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Fri Jan 06 00:11:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:26 2006 -0800"
      },
      "message": "[PATCH] Cleanup bootmem allocator and fix alloc_bootmem_low\n\nPatch cleans up the alloc_bootmem fix for swiotlb.  Patch removes\nalloc_bootmem_*_limit api and fixes alloc_boot_*low api to do the right\nthing -- allocate from low32 memory.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "66d43e98ea6ff291cd4e524386bfb99105feb180",
      "tree": "56cff27261a3f9b16022c9ec8d53e4913f758eb9",
      "parents": [
        "ff9569bc5558e958777fd43580f2ccd83733cdf6"
      ],
      "author": {
        "name": "Haren Myneni",
        "email": "haren@us.ibm.com",
        "time": "Mon Dec 12 00:37:39 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Dec 12 08:57:45 2005 -0800"
      },
      "message": "[PATCH] fix in __alloc_bootmem_core() when there is no free page in first node\u0027s memory\n\nHitting BUG_ON() in __alloc_bootmem_core() when there is no free page\navailable in the first node\u0027s memory.  For the case of kdump on PPC64\n(Power 4 machine), the captured kernel is used two memory regions - memory\nfor TCE tables (tce-base and tce-size at top of RAM and reserved) and\ncaptured kernel memory region (crashk_base and crashk_size).  Since we\nreserve the memory for the first node, we should be returning from\n__alloc_bootmem_core() to search for the next node (pg_dat).\n\nCurrently, find_next_zero_bit() is returning the n^th bit (eidx) when there\nis no free page.  Then, test_bit() is failed since we set 0xff only for the\nactual size initially (init_bootmem_core()) even though rounded up to one\npage for bdata-\u003enode_bootmem_map.  We are hitting the BUG_ON after failing\nto enter second \"for\" loop.\n\nSigned-off-by: Haren Myneni \u003charen@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b5810039a54e5babf428e9a1e89fc1940fabff11",
      "tree": "835836cb527ec9bd525f93eb7e016f3dfb8c8ae2",
      "parents": [
        "f9c98d0287de42221c624482fd4f8d485c98ab22"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Oct 29 18:16:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:39 2005 -0700"
      },
      "message": "[PATCH] core remove PageReserved\n\nRemove PageReserved() calls from core code by tightening VM_RESERVED\nhandling in mm/ to cover PageReserved functionality.\n\nPageReserved special casing is removed from get_page and put_page.\n\nAll setting and clearing of PageReserved is retained, and it is now flagged\nin the page_alloc checks to help ensure we don\u0027t introduce any refcount\nbased freeing of Reserved pages.\n\nMAP_PRIVATE, PROT_WRITE of VM_RESERVED regions is tentatively being\ndeprecated.  We never completely handled it correctly anyway, and is be\nreintroduced in future if required (Hugh has a proof of concept).\n\nOnce PageReserved() calls are removed from kernel/power/swsusp.c, and all\narch/ and driver code, the Set and Clear calls, and the PG_reserved bit can\nbe trivially removed.\n\nLast real user of PageReserved is swsusp, which uses PageReserved to\ndetermine whether a struct page points to valid memory or not.  This still\nneeds to be addressed (a generic page_is_ram() should work).\n\nA last caveat: the ZERO_PAGE is now refcounted and managed with rmap (and\nthus mapcounted and count towards shared rss).  These writes to the struct\npage could cause excessive cacheline bouncing on big systems.  There are a\nnumber of ways this could be addressed if it is an issue.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n\nRefcount bug fix for filemap_xip.c\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "281dd25cdc0d6903929b79183816d151ea626341",
      "tree": "ed7898462492d853e422eb7f130f0b6e7efc0b69",
      "parents": [
        "51b190b304bbeb1090ba20b0623d39917fa62997"
      ],
      "author": {
        "name": "Yasunori Goto",
        "email": "y-goto@jp.fujitsu.com",
        "time": "Wed Oct 19 15:52:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 19 23:11:33 2005 -0700"
      },
      "message": "[PATCH] swiotlb: make sure initial DMA allocations really are in DMA memory\n\nThis introduces a limit parameter to the core bootmem allocator; The new\nparameter indicates that physical memory allocated by the bootmem\nallocator should be within the requested limit.\n\nWe also introduce alloc_bootmem_low_pages_limit, alloc_bootmem_node_limit,\nalloc_bootmem_low_pages_node_limit apis, but alloc_bootmem_low_pages_limit\nis the only api used for swiotlb.\n\nThe existing alloc_bootmem_low_pages() api could instead have been\nchanged and made to pass right limit to the core allocator.  But that\nwould make the patch more intrusive for 2.6.14, as other arches use\nalloc_bootmem_low_pages().  We may be done that post 2.6.14 as a\ncleanup.\n\nWith this, swiotlb gets memory within 4G for both x86_64 and ia64\narches.\n\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Ravikiran G Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e3254c4e2927c117044a02acf5f5b56e1373053",
      "tree": "e5c4341cfac398fb57916ffeb0bf07d615662eb4",
      "parents": [
        "13402580021a52e49c6d1068ff28ade4d5a175f1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 30 12:38:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 30 12:38:27 2005 -0700"
      },
      "message": "Revert \"x86-64: Reverse order of bootmem lists\"\n\nAs requested by Thomas Gleixner \u003ctglx@linutronix.de\u003e:\n\n  \"5d3d0f7704ed0bc7eaca0501eeae3e5da1ea6c87 breaks a couple of ARM\n   boards, which depend on the historical bootmem allocation order.\n   There is a cleaner solution around to remove the pgdat list\n   completely, but this is a topic for post 2.6.14\n\n   Andi signalled ACK already.\"\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5d3d0f7704ed0bc7eaca0501eeae3e5da1ea6c87",
      "tree": "7f1f41450a6f1880488f7fd4554a1f2bbd71d391",
      "parents": [
        "6142891a0c0209c91aa4a98f725de0d6e2ed4918"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon Sep 12 18:49:24 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Sep 12 10:49:56 2005 -0700"
      },
      "message": "[PATCH] x86-64: Reverse order of bootmem lists\n\nThis leads to bootmem allocating first from node 0 instead\nof from the last node.  This avoids swiotlb allocating on the last node, which\ndoesn\u0027t really work on a machine with \u003e4GB.\n\nNote: there is a better patch around from someone else that gets\nrid of the pgdat list completely.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c0e33c133021ee241e9d51255b9fb18eb34ef0e",
      "tree": "30ddff7f7cf375c36d11d49352365a42b25e1def",
      "parents": [
        "f45494480f31342125870c1a184999d7c5a59471"
      ],
      "author": {
        "name": "Nick Wilson",
        "email": "njw@osdl.org",
        "time": "Sat Jun 25 14:59:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:25:02 2005 -0700"
      },
      "message": "[PATCH] Use ALIGN to remove duplicate code\n\nThis patch makes use of ALIGN() to remove duplicate round-up code.\n\nSigned-off-by: Nick Wilson \u003cnjw@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92aa63a5a1bf2e7b0c79e6716d24b76dbbdcf951",
      "tree": "1f4d49c8e9bf02e834e6af8c1f7d4484d9f76c6e",
      "parents": [
        "d58831e4163699de204dea199be2e903bf5d6eff"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sat Jun 25 14:58:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:52 2005 -0700"
      },
      "message": "[PATCH] kdump: Retrieve saved max pfn\n\nThis patch retrieves the max_pfn being used by previous kernel and stores it\nin a safe location (saved_max_pfn) before it is overwritten due to user\ndefined memory map.  This pfn is used to make sure that user does not try to\nread the physical memory beyond saved_max_pfn.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d41dee369bff3b9dcb6328d4d822926c28cc2594",
      "tree": "a0405f3b7af3ebca21838a7d427bd75a067bf850",
      "parents": [
        "af705362ab6018071310c5fcd436a6b457517d5f"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Thu Jun 23 00:07:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:04 2005 -0700"
      },
      "message": "[PATCH] sparsemem memory model\n\nSparsemem abstracts the use of discontiguous mem_maps[].  This kind of\nmem_map[] is needed by discontiguous memory machines (like in the old\nCONFIG_DISCONTIGMEM case) as well as memory hotplug systems.  Sparsemem\nreplaces DISCONTIGMEM when enabled, and it is hoped that it can eventually\nbecome a complete replacement.\n\nA significant advantage over DISCONTIGMEM is that it\u0027s completely separated\nfrom CONFIG_NUMA.  When producing this patch, it became apparent in that NUMA\nand DISCONTIG are often confused.\n\nAnother advantage is that sparse doesn\u0027t require each NUMA node\u0027s ranges to be\ncontiguous.  It can handle overlapping ranges between nodes with no problems,\nwhere DISCONTIGMEM currently throws away that memory.\n\nSparsemem uses an array to provide different pfn_to_page() translations for\neach SECTION_SIZE area of physical memory.  This is what allows the mem_map[]\nto be chopped up.\n\nIn order to do quick pfn_to_page() operations, the section number of the page\nis encoded in page-\u003eflags.  Part of the sparsemem infrastructure enables\nsharing of these bits more dynamically (at compile-time) between the\npage_zone() and sparsemem operations.  However, on 32-bit architectures, the\nnumber of bits is quite limited, and may require growing the size of the\npage-\u003eflags type in certain conditions.  Several things might force this to\noccur: a decrease in the SECTION_SIZE (if you want to hotplug smaller areas of\nmemory), an increase in the physical address space, or an increase in the\nnumber of used page-\u003eflags.\n\nOne thing to note is that, once sparsemem is present, the NUMA node\ninformation no longer needs to be stored in the page-\u003eflags.  It might provide\nspeed increases on certain platforms and will be stored there if there is\nroom.  But, if out of room, an alternate (theoretically slower) mechanism is\nused.\n\nThis patch introduces CONFIG_FLATMEM.  It is used in almost all cases where\nthere used to be an #ifndef DISCONTIG, because SPARSEMEM and DISCONTIGMEM\noften have to compile out the same areas of code.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Martin Bligh \u003cmbligh@aracnet.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
