)]}'
{
  "log": [
    {
      "commit": "9a0b5817ad97bb718ab85322759d19a238712b47",
      "tree": "39bd21eb69c4001b99096d96a76a2e5d37904108",
      "parents": [
        "4d7d8c82c181711d28c8336108330a9121f5ef07"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@suse.de",
        "time": "Thu Mar 23 02:59:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:04 2006 -0800"
      },
      "message": "[PATCH] x86: SMP alternatives\n\nImplement SMP alternatives, i.e.  switching at runtime between different\ncode versions for UP and SMP.  The code can patch both SMP-\u003eUP and UP-\u003eSMP.\nThe UP-\u003eSMP case is useful for CPU hotplug.\n\nWith CONFIG_CPU_HOTPLUG enabled the code switches to UP at boot time and\nwhen the number of CPUs goes down to 1, and switches to SMP when the number\nof CPUs goes up to 2.\n\nWithout CONFIG_CPU_HOTPLUG or on non-SMP-capable systems the code is\npatched once at boot time (if needed) and the tables are released\nafterwards.\n\nThe changes in detail:\n\n  * The current alternatives bits are moved to a separate file,\n    the SMP alternatives code is added there.\n\n  * The patch adds some new elf sections to the kernel:\n    .smp_altinstructions\n\tlike .altinstructions, also contains a list\n\tof alt_instr structs.\n    .smp_altinstr_replacement\n\tlike .altinstr_replacement, but also has some space to\n\tsave original instruction before replaving it.\n    .smp_locks\n\tlist of pointers to lock prefixes which can be nop\u0027ed\n\tout on UP.\n    The first two are used to replace more complex instruction\n    sequences such as spinlocks and semaphores.  It would be possible\n    to deal with the lock prefixes with that as well, but by handling\n    them as special case the table sizes become much smaller.\n\n * The sections are page-aligned and padded up to page size, so they\n   can be free if they are not needed.\n\n * Splitted the code to release init pages to a separate function and\n   use it to release the elf sections if they are unused.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
