)]}'
{
  "log": [
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "34af946a22724c4e2b204957f2b24b22a0fb121c",
      "tree": "7881dcbd0a698257c126198cdb6d97d4e45ee51e",
      "parents": [
        "b6cd0b772dcc5dc9b4c03d53946474dee399fa72"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:53:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:39 2006 -0700"
      },
      "message": "[PATCH] spin/rwlock init cleanups\n\nlocking init cleanups:\n\n - convert \" \u003d SPIN_LOCK_UNLOCKED\" to spin_lock_init() or DEFINE_SPINLOCK()\n - convert rwlocks in a similar manner\n\nthis patch was generated automatically.\n\nMotivation:\n\n - cleanliness\n - lockdep needs control of lock initialization, which the open-coded\n   variants do not give\n - it\u0027s also useful for -rt and for lock debugging in general\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "30c253e6da655d73eb8bfe2adca9b8f4d82fb81e",
      "tree": "97c49ad364855b95ce52d97a62d176a077ff2a85",
      "parents": [
        "ddc2e812d592457747c4367fb73edcaa8e1e49ff"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Fri Jun 23 02:03:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:51 2006 -0700"
      },
      "message": "[PATCH] sparsemem: record nid during memory present\n\nRecord the node id as we mark sections for instantiation.  Use this nid\nduring instantiation to direct allocations.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Bob Picco \u003cbob.picco@hp.com\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\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": "12783b002db1f02c29353c8f698a85514420b9f4",
      "tree": "d0cec6913308fb34d539192dd0928cd0d7aae714",
      "parents": [
        "ad8f5797302ed389476debcc51b4630f387618b9"
      ],
      "author": {
        "name": "Mike Kravetz",
        "email": "kravetz@us.ibm.com",
        "time": "Sat May 20 15:00:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 12:59:17 2006 -0700"
      },
      "message": "[PATCH] SPARSEMEM incorrectly calculates section number\n\nA bad calculation/loop in __section_nr() could result in incorrect section\ninformation being put into sysfs memory entries.  This primarily impacts\nmemory add operations as the sysfs information is used while onlining new\nmemory.\n\nFix suggested by Dave Hansen.\n\nNote that the bug may not be obvious from the patch.  It actually occurs in\nthe function\u0027s return statement:\n\n\treturn (root_nr * SECTIONS_PER_ROOT) + (ms - root);\n\nIn the existing code, root_nr has already been multiplied by\nSECTIONS_PER_ROOT.\n\nSigned-off-by: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39d24e64263cd3211705d3b61ea4171c65030921",
      "tree": "b527b1395b070180b7f930c0a89530f11bce7b3c",
      "parents": [
        "48564e628bd7662d7a0b3ac81c41cd0e4cc36dae"
      ],
      "author": {
        "name": "Mike Kravetz",
        "email": "kravetz@us.ibm.com",
        "time": "Mon May 15 09:44:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 15 11:20:56 2006 -0700"
      },
      "message": "[PATCH] add slab_is_available() routine for boot code\n\nslab_is_available() indicates slab based allocators are available for use.\nSPARSEMEM code needs to know this as it can be called at various times\nduring the boot process.\n\nSigned-off-by: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "46a66eecdf7bc12562ecb492297447ed0e1ecf59",
      "tree": "b758b51763c2365130a2a58547fa0bc30d71cdc8",
      "parents": [
        "2c43630fb0ff3f01c29367248ffa4a851e2c9b34"
      ],
      "author": {
        "name": "Mike Kravetz",
        "email": "mjkravetz@verizon.net",
        "time": "Mon May 01 12:16:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 01 18:17:46 2006 -0700"
      },
      "message": "[PATCH] sparsemem interaction with memory add bug fixes\n\nThis patch fixes two bugs with the way sparsemem interacts with memory add.\nThey are:\n\n- memory leak if memmap for section already exists\n\n- calling alloc_bootmem_node() after boot\n\nThese bugs were discovered and a first cut at the fixes were provided by\nArnd Bergmann \u003carnd@arndb.de\u003e and Joel Schopp \u003cjschopp@us.ibm.com\u003e.\n\nSigned-off-by: Mike Kravetz \u003ckravetz@us.ibm.com\u003e\nSigned-off-by: Joel Schopp \u003cjschopp@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22fc6eccbf4ce4eb6265e6ada7b50a7b9cc57d05",
      "tree": "3887dc6f1eeb658d773be037971b98d6f5fb3dd7",
      "parents": [
        "6d524aed1f50b2b1d5b4ad5a4e2fe3f38106d0a6"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Sun Jan 08 01:01:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:38 2006 -0800"
      },
      "message": "[PATCH] Change maxaligned_in_smp alignemnt macros to internodealigned_in_smp macros\n\n____cacheline_maxaligned_in_smp is currently used to align critical structures\nand avoid false sharing.  It uses per-arch L1_CACHE_SHIFT_MAX and people find\nL1_CACHE_SHIFT_MAX useless.\n\nHowever, we have been using ____cacheline_maxaligned_in_smp to align\nstructures on the internode cacheline size.  As per Andi\u0027s suggestion,\nfollowing patch kills ____cacheline_maxaligned_in_smp and introduces\nINTERNODE_CACHE_SHIFT, which defaults to L1_CACHE_SHIFT for all arches.\nArches needing L3/Internode cacheline alignment can define\nINTERNODE_CACHE_SHIFT in the arch asm/cache.h.  Patch replaces\n____cacheline_maxaligned_in_smp with ____cacheline_internodealigned_in_smp\n\nWith this patch, L1_CACHE_SHIFT_MAX can be killed\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0b0acbec1bed75ec1e1daa7f7006323a2a2b2844",
      "tree": "e0d54fbaa6b8b0955ed881af8956b4085039b2d1",
      "parents": [
        "3947be1969a9ce455ec30f60ef51efb10e4323d1"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Oct 29 18:16:55 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:44 2005 -0700"
      },
      "message": "[PATCH] memory hotplug: move section_mem_map alloc to sparse.c\n\nThis basically keeps up from having to extern __kmalloc_section_memmap().\n\nThe vaddr_in_vmalloc_area() helper could go in a vmalloc header, but that\nheader gets hard to work with, because it needs some arch-specific macros.\nJust stick it in here for now, instead of creating another header.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Lion Vollnhals \u003cwebmaster@schiggl.de\u003e\nSigned-off-by: Jiri Slaby \u003cxslaby@fi.muni.cz\u003e\nSigned-off-by: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4ca644d970bf2542623228a4624af356d20ca267",
      "tree": "1040782e8799d5531a5ee1d5f1143e26e8781e9d",
      "parents": [
        "ed8ece2ec8d3c2031b1a1a0737568bb0d49454e0"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Oct 29 18:16:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:44 2005 -0700"
      },
      "message": "[PATCH] memory hotplug prep: __section_nr helper\n\nA little helper that we use in the hotplug code.\n\nSigned-off-by: 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": "28ae55c98e4d16eac9a05a8a259d7763ef3aeb18",
      "tree": "0ac0a08d88a692b9b9934344b5e439058d71772a",
      "parents": [
        "3e347261a80b57df792ab9464b5f0ed59add53a8"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 03 15:54:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:38 2005 -0700"
      },
      "message": "[PATCH] sparsemem extreme: hotplug preparation\n\nThis splits up sparse_index_alloc() into two pieces.  This is needed\nbecause we\u0027ll allocate the memory for the second level in a different place\nfrom where we actually consume it to keep the allocation from happening\nunderneath a lock\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e347261a80b57df792ab9464b5f0ed59add53a8",
      "tree": "047b35e0f9ec82b3beeff882a9af6292a500097c",
      "parents": [
        "802f192e4a600f7ef84ca25c8b818c8830acef5a"
      ],
      "author": {
        "name": "Bob Picco",
        "email": "bob.picco@hp.com",
        "time": "Sat Sep 03 15:54:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:38 2005 -0700"
      },
      "message": "[PATCH] sparsemem extreme implementation\n\nWith cleanups from Dave Hansen \u003chaveblue@us.ibm.com\u003e\n\nSPARSEMEM_EXTREME makes mem_section a one dimensional array of pointers to\nmem_sections.  This two level layout scheme is able to achieve smaller\nmemory requirements for SPARSEMEM with the tradeoff of an additional shift\nand load when fetching the memory section.  The current SPARSEMEM\nimplementation is a one dimensional array of mem_sections which is the\ndefault SPARSEMEM configuration.  The patch attempts isolates the\nimplementation details of the physical layout of the sparsemem section\narray.\n\nSPARSEMEM_EXTREME requires bootmem to be functioning at the time of\nmemory_present() calls.  This is not always feasible, so architectures\nwhich do not need it may allocate everything statically by using\nSPARSEMEM_STATIC.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nSigned-off-by: 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": "802f192e4a600f7ef84ca25c8b818c8830acef5a",
      "tree": "51e9a6ed164e6a2d8741af510c3954ad79bf19af",
      "parents": [
        "0216f86dafb389c0ad97529fd45e64e883298cfd"
      ],
      "author": {
        "name": "Bob Picco",
        "email": "bob.picco@hp.com",
        "time": "Sat Sep 03 15:54:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:05:38 2005 -0700"
      },
      "message": "[PATCH] SPARSEMEM EXTREME\n\nA new option for SPARSEMEM is ARCH_SPARSEMEM_EXTREME.  Architecture\nplatforms with a very sparse physical address space would likely want to\nselect this option.  For those architecture platforms that don\u0027t select the\noption, the code generated is equivalent to SPARSEMEM currently in -mm.\nI\u0027ll be posting a patch on ia64 ml which uses this new SPARSEMEM feature.\n\nARCH_SPARSEMEM_EXTREME makes mem_section a one dimensional array of\npointers to mem_sections.  This two level layout scheme is able to achieve\nsmaller memory requirements for SPARSEMEM with the tradeoff of an\nadditional shift and load when fetching the memory section.  The current\nSPARSEMEM -mm implementation is a one dimensional array of mem_sections\nwhich is the default SPARSEMEM configuration.  The patch attempts isolates\nthe implementation details of the physical layout of the sparsemem section\narray.\n\nARCH_SPARSEMEM_EXTREME depends on 64BIT and is by default boolean false.\n\nI\u0027ve boot tested under aim load ia64 configured for ARCH_SPARSEMEM_EXTREME.\n I\u0027ve also boot tested a 4 way Opteron machine with !ARCH_SPARSEMEM_EXTREME\nand tested with aim.\n\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nSigned-off-by: 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": "29751f6991e845f7d002a6ae520bf996b38c8dcd",
      "tree": "f76c4c660ac4d204436f68851979343d2a9ba224",
      "parents": [
        "641c767389b19859a45e6de46d8e18cd935bdb60"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@shadowen.org",
        "time": "Thu Jun 23 00:08:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:05 2005 -0700"
      },
      "message": "[PATCH] sparsemem hotplug base\n\nMake sparse\u0027s initalization be accessible at runtime.  This allows sparse\nmappings to be created after boot in a hotplug situation.\n\nThis patch is separated from the previous one just to give an indication how\nmuch of the sparse infrastructure is *just* for hotplug memory.\n\nThe section_mem_map doesn\u0027t really store a pointer.  It stores something that\nis convenient to do some math against to get a pointer.  It isn\u0027t valid to\njust do *section_mem_map, so I don\u0027t think it should be stored as a pointer.\n\nThere are a couple of things I\u0027d like to store about a section.  First of all,\nthe fact that it is !NULL does not mean that it is present.  There could be\nsuch a combination where section_mem_map *is* NULL, but the math gets you\nproperly to a real mem_map.  So, I don\u0027t think that check is safe.\n\nSince we\u0027re storing 32-bit-aligned structures, we have a few bits in the\nbottom of the pointer to play with.  Use one bit to encode whether there\u0027s\nreally a mem_map there, and the other one to tell whether there\u0027s a valid\nsection there.  We need to distinguish between the two because sometimes\nthere\u0027s a gap between when a section is discovered to be present and when we\ncan get the mem_map for it.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Jack Steiner \u003csteiner@sgi.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": "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"
    }
  ]
}
