)]}'
{
  "log": [
    {
      "commit": "db0dc75d6403b6663c0eab4c6ccb672eb9b2ed72",
      "tree": "9c23cf7df8683a3c54bd7f074ceef16712aa7272",
      "parents": [
        "bc6ca7b342d5ae15c3ba3081fd40271b8039fb25"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Fri Apr 20 15:41:36 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 17:08:04 2012 +0200"
      },
      "message": "perf/x86: Check user address explicitly in copy_from_user_nmi()\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: linux-kernel@vger.kernel.org\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1334961696-19580-5-git-send-email-asharma@fb.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "436d03faf6961b30e13b2d0967aea9d772d6cf44",
      "tree": "d4e77479e3116d111c698b722cc89d78959405c9",
      "parents": [
        "02e03040a3fda866e5d1018734bd5b5ede997043"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Tue Jun 05 00:09:11 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 08:54:18 2012 +0200"
      },
      "message": "x86/decoder: Fix bsr/bsf/jmpe decoding with operand-size prefix\n\nFix the x86 instruction decoder to decode bsr/bsf/jmpe with\noperand-size prefix (66h). This fixes the test case failure\nreported by Linus, attached below.\n\nbsf/bsr/jmpe have a special encoding. Opcode map in\nIntel Software Developers Manual vol2 says they have\nTZCNT/LZCNT variants if it has F3h prefix. However, there\nis no information if it has other 66h or F2h prefixes.\nCurrent instruction decoder supposes that those are\nbad instructions, but it actually accepts at least\noperand-size prefixes.\n\nH. Peter Anvin further explains:\n\n \" TZCNT/LZCNT are F3 + BSF/BSR exactly because the F2 and\n   F3 prefixes have historically been no-ops with most instructions.\n   This allows software to unconditionally use the prefixed versions\n   and get TZCNT/LZCNT on the processors that have them if they don\u0027t\n   care about the difference. \"\n\nThis fixes errors reported by test_get_len:\n\n  Warning: arch/x86/tools/test_get_len found difference at \u003cem_bsf\u003e:ffffffff81036d87\n  Warning: ffffffff81036de5:\t66 0f bc c2          \tbsf    %dx,%ax\n  Warning: objdump says 4 bytes, but insn_get_length() says 3\n  Warning: arch/x86/tools/test_get_len found difference at \u003cem_bsr\u003e:ffffffff81036ea6\n  Warning: ffffffff81036f04:\t66 0f bd c2          \tbsr    %dx,%ax\n  Warning: objdump says 4 bytes, but insn_get_length() says 3\n  Warning: decoded and checked 13298882 instructions with 2 warnings\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nReported-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \u003cyrl.pp-manager.tt@hitachi.com\u003e\nLink: http://lkml.kernel.org/r/20120604150911.22338.43296.stgit@localhost.localdomain\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5723aa993d83803157c22327e90cd59e3dcbe879",
      "tree": "9b5cd120395a44bd59ce74552f33d372617a47b0",
      "parents": [
        "a08c5356a3aaf638c41897ae4169de18db89595e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 11:09:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 11:33:54 2012 -0700"
      },
      "message": "x86: use the new generic strnlen_user() function\n\nThis throws away the old x86-specific functions in favor of the generic\noptimized version.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ae73f2d53255c388d50bf83c1681112a6f9cba1",
      "tree": "0b0d9adce97c2270a427e1f1c19c977b8f066d5b",
      "parents": [
        "da89fb165e5e51a2ec1ff8a0ff6bc052d1068184"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 10:14:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 10:14:39 2012 -0700"
      },
      "message": "x86: use generic strncpy_from_user routine\n\nThe generic strncpy_from_user() is not really optimal, since it is\ndesigned to work on both little-endian and big-endian.  And on\nlittle-endian you can simplify much of the logic to find the first zero\nbyte, since little-endian arithmetic doesn\u0027t have to worry about the\ncarry bit propagating into earlier bytes (only later bytes, which we\ndon\u0027t care about).\n\nBut I have patches to make the generic routines use the architecture-\nspecific \u003casm/word-at-a-time.h\u003e infrastructure, so that we can regain\nthe little-endian optimizations.  But before we do that, switch over to\nthe generic routines to make the patches each do just one well-defined\nthing.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "269af9a1a08d368b46d72e74126564d04c354f7e",
      "tree": "f0f2a8dd54075edebbb728602822e2b7378588d0",
      "parents": [
        "8ca038dc10eec80f280d9d483f1835ac2763a787",
        "8b5ad472991796b2347464922c72de2ca5a028f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 10:44:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 10:44:35 2012 -0700"
      },
      "message": "Merge branch \u0027x86-extable-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull exception table generation updates from Ingo Molnar:\n \"The biggest change here is to allow the build-time sorting of the\n  exception table, to speed up booting.  This is achieved by the\n  architecture enabling BUILDTIME_EXTABLE_SORT.  This option is enabled\n  for x86 and MIPS currently.\n\n  On x86 a number of fixes and changes were needed to allow build-time\n  sorting of the exception table, in particular a relocation invariant\n  exception table format was needed.  This required the abstracting out\n  of exception table protocol and the removal of 20 years of accumulated\n  assumptions about the x86 exception table format.\n\n  While at it, this tree also cleans up various other aspects of\n  exception handling, such as early(er) exception handling for\n  rdmsr_safe() et al.\n\n  All in one, as the result of these changes the x86 exception code is\n  now pretty nice and modern.  As an added bonus any regressions in this\n  code will be early and violent crashes, so if you see any of those,\n  you\u0027ll know whom to blame!\"\n\nFix up trivial conflicts in arch/{mips,x86}/Kconfig files due to nearby\nmodifications of other core architecture options.\n\n* \u0027x86-extable-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (35 commits)\n  Revert \"x86, extable: Disable presorted exception table for now\"\n  scripts/sortextable: Handle relative entries, and other cleanups\n  x86, extable: Switch to relative exception table entries\n  x86, extable: Disable presorted exception table for now\n  x86, extable: Add _ASM_EXTABLE_EX() macro\n  x86, extable: Remove open-coded exception table entries in arch/x86/ia32/ia32entry.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/include/asm/xsave.h\n  x86, extable: Remove open-coded exception table entries in arch/x86/include/asm/kvm_host.h\n  x86, extable: Remove the now-unused __ASM_EX_SEC macros\n  x86, extable: Remove open-coded exception table entries in arch/x86/xen/xen-asm_32.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/um/checksum_32.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/usercopy_32.c\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/putuser.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/getuser.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/csum-copy_64.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/copy_user_nocache_64.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/copy_user_64.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/checksum_32.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/kernel/test_rodata.c\n  x86, extable: Remove open-coded exception table entries in arch/x86/kernel/entry_64.S\n  ...\n"
    },
    {
      "commit": "0749708352fddbe0fa81fc25f96e3b1f77c655f4",
      "tree": "ec9b8121e4f2146315b2b91ea6063129ff47386c",
      "parents": [
        "f7b006931751f029620ad2f8310ac7a1484fbdb4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 28 14:27:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 28 14:27:38 2012 -0700"
      },
      "message": "x86: make word-at-a-time strncpy_from_user clear bytes at the end\n\nThis makes the newly optimized x86 strncpy_from_user clear the final\nbytes in the word past the final NUL character, rather than copy them as\nthe word they were in the source.\n\nNOTE! Unlike the silly semantics of the libc \u0027strncpy()\u0027 function, the\nkernel strncpy_from_user() has never cleared all of the end of the\ndestination buffer.  And neither does it do so now: it only clears the\nbytes at the end of the last word it copied.\n\nSo why make this change at all? It doesn\u0027t really cost us anything extra\n(we have to calculate the mask to get the length anyway), and it means\nthat *if* any user actually cares about zeroing the whole buffer, they\ncan do a \"memset()\" before the strncpy_from_user(), and we will no\nlonger write random bytes after the NUL character.\n\nIn particular, the buffer contents will now at no point contain random\nsource data from beyond the end of the string.\n\nIn other words, it makes behavior a bit more repeatable at no new cost,\nso it\u0027s a small cleanup.  I\u0027ve been carrying this as a patch for the\nlast few weeks or so in my tree (done at the same time the sign error\nwas fixed in commit 12e993b89464), I might as well commit it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c6751280b6206e2a96f9600938003a29968e4fa",
      "tree": "01867ca9f8aa5732c79b1dd586e01908d447c5ab",
      "parents": [
        "a53a96e5413d3639ed75d202bbfe68aa0a56c091"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 12:19:52 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 13:51:39 2012 -0700"
      },
      "message": "x86, extable: Remove open-coded exception table entries in arch/x86/lib/usercopy_32.c\n\nRemove open-coded exception table entries in arch/x86/lib/usercopy_32.c,\nand replace them with _ASM_EXTABLE() macros; this will allow us to\nchange the format and type of the exception table entries.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: David Daney \u003cdavid.daney@cavium.com\u003e\nLink: http://lkml.kernel.org/r/CA%2B55aFyijf43qSu3N9nWHEBwaGbb7T2Oq9A\u003d9EyR\u003dJtyqfq_cQ@mail.gmail.com\n"
    },
    {
      "commit": "a53a96e5413d3639ed75d202bbfe68aa0a56c091",
      "tree": "23b7ae0f58e8a9784cd1e0608d99c47f08578b7b",
      "parents": [
        "1a27bc0d99aabea6b628cb994a21a1c79b569fc9"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 12:19:52 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 13:51:39 2012 -0700"
      },
      "message": "x86, extable: Remove open-coded exception table entries in arch/x86/lib/putuser.S\n\nRemove open-coded exception table entries in arch/x86/lib/putuser.S,\nand replace them with _ASM_EXTABLE() macros; this will allow us to\nchange the format and type of the exception table entries.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: David Daney \u003cdavid.daney@cavium.com\u003e\nLink: http://lkml.kernel.org/r/CA%2B55aFyijf43qSu3N9nWHEBwaGbb7T2Oq9A\u003d9EyR\u003dJtyqfq_cQ@mail.gmail.com\n"
    },
    {
      "commit": "1a27bc0d99aabea6b628cb994a21a1c79b569fc9",
      "tree": "7a823a58fe0450c7070cc3fbb4f090b2eda25792",
      "parents": [
        "015e6f11a9737684469feef9d523373b1746159d"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 12:19:51 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 13:51:39 2012 -0700"
      },
      "message": "x86, extable: Remove open-coded exception table entries in arch/x86/lib/getuser.S\n\nRemove open-coded exception table entries in arch/x86/lib/getuser.S,\nand replace them with _ASM_EXTABLE() macros; this will allow us to\nchange the format and type of the exception table entries.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: David Daney \u003cdavid.daney@cavium.com\u003e\nLink: http://lkml.kernel.org/r/CA%2B55aFyijf43qSu3N9nWHEBwaGbb7T2Oq9A\u003d9EyR\u003dJtyqfq_cQ@mail.gmail.com\n"
    },
    {
      "commit": "015e6f11a9737684469feef9d523373b1746159d",
      "tree": "ad6b009c8014f3c8c323d8722c27e8837fa1b52e",
      "parents": [
        "0d8559feafbc9dc5a2c17ba42aea7de824b18308"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 12:19:51 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 13:51:39 2012 -0700"
      },
      "message": "x86, extable: Remove open-coded exception table entries in arch/x86/lib/csum-copy_64.S\n\nRemove open-coded exception table entries in arch/x86/lib/csum-copy_64.S,\nand replace them with _ASM_EXTABLE() macros; this will allow us to\nchange the format and type of the exception table entries.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: David Daney \u003cdavid.daney@cavium.com\u003e\nLink: http://lkml.kernel.org/r/CA%2B55aFyijf43qSu3N9nWHEBwaGbb7T2Oq9A\u003d9EyR\u003dJtyqfq_cQ@mail.gmail.com\n"
    },
    {
      "commit": "0d8559feafbc9dc5a2c17ba42aea7de824b18308",
      "tree": "366d29ceb79ef8debf65fad461d78d4506382324",
      "parents": [
        "9732da8ca860053515431298ec969e1f3e6bc64a"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 12:19:51 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 13:51:38 2012 -0700"
      },
      "message": "x86, extable: Remove open-coded exception table entries in arch/x86/lib/copy_user_nocache_64.S\n\nRemove open-coded exception table entries in arch/x86/lib/copy_user_nocache_64.S,\nand replace them with _ASM_EXTABLE() macros; this will allow us to\nchange the format and type of the exception table entries.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: David Daney \u003cdavid.daney@cavium.com\u003e\nLink: http://lkml.kernel.org/r/CA%2B55aFyijf43qSu3N9nWHEBwaGbb7T2Oq9A\u003d9EyR\u003dJtyqfq_cQ@mail.gmail.com\n"
    },
    {
      "commit": "9732da8ca860053515431298ec969e1f3e6bc64a",
      "tree": "aab478f45bf20e44d30a99d5c9ebcead92fd8ee4",
      "parents": [
        "5f2e8a84f07bb43f9c0ce317d7e0c5e541db00e3"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 12:19:51 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 13:51:38 2012 -0700"
      },
      "message": "x86, extable: Remove open-coded exception table entries in arch/x86/lib/copy_user_64.S\n\nRemove open-coded exception table entries in arch/x86/lib/copy_user_64.S,\nand replace them with _ASM_EXTABLE() macros; this will allow us to\nchange the format and type of the exception table entries.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: David Daney \u003cdavid.daney@cavium.com\u003e\nLink: http://lkml.kernel.org/r/CA%2B55aFyijf43qSu3N9nWHEBwaGbb7T2Oq9A\u003d9EyR\u003dJtyqfq_cQ@mail.gmail.com\n"
    },
    {
      "commit": "5f2e8a84f07bb43f9c0ce317d7e0c5e541db00e3",
      "tree": "05f4d7fdc930e5bd39900b60ce174635e111ee7c",
      "parents": [
        "5d6f8d77ede50417dcca4c31a74f0d40a1ee537a"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 12:19:50 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Apr 20 13:51:38 2012 -0700"
      },
      "message": "x86, extable: Remove open-coded exception table entries in arch/x86/lib/checksum_32.S\n\nRemove open-coded exception table entries in arch/x86/lib/checksum_32.S,\nand replace them with _ASM_EXTABLE() macros; this will allow us to\nchange the format and type of the exception table entries.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: David Daney \u003cdavid.daney@cavium.com\u003e\nLink: http://lkml.kernel.org/r/CA%2B55aFyijf43qSu3N9nWHEBwaGbb7T2Oq9A\u003d9EyR\u003dJtyqfq_cQ@mail.gmail.com\n"
    },
    {
      "commit": "4643b05662966a615845803c7bc89c5a5e77d6d5",
      "tree": "0ef389769c2b5f50f3ab34e6e53346b140817798",
      "parents": [
        "cdd5983063cadf40db63117f4a299881b3bb71c1",
        "6c7b8e82aab75a25581c4d446fc87f96634e9ef9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 16 18:35:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 16 18:35:21 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar.\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86: Handle failures of parsing immediate operands in the instruction decoder\n  perf archive: Correct cutting of symbolic link\n  perf tools: Ignore auto-generated bison/flex files\n  perf tools: Fix parsers\u0027 rules to dependencies\n  perf tools: fix NO_GTK2 Makefile config error\n  perf session: Skip event correctly for unknown id/machine\n"
    },
    {
      "commit": "6c7b8e82aab75a25581c4d446fc87f96634e9ef9",
      "tree": "088f31f88c85a64304c171eced7b4233cbece6a9",
      "parents": [
        "7ea6411f4ceb62e5e53170d59d10996dca20c599"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Apr 13 12:24:27 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Apr 16 08:56:11 2012 +0200"
      },
      "message": "x86: Handle failures of parsing immediate operands in the instruction decoder\n\nThis can happen if the instruction is much longer than the maximum length,\nor if insn-\u003eopnd_bytes is manually changed.\n\nThis patch also fixes warnings from -Wswitch-default flag.\n\nReported-by: Prashanth Nageshappa \u003cprashanth@linux.vnet.ibm.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Linux-mm \u003clinux-mm@kvack.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: yrl.pp-manager.tt@hitachi.com\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120413032427.32577.42602.stgit@localhost.localdomain\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "12e993b89464707398e4209bd99983e376454985",
      "tree": "1cf84a342cb63bf3c89c4b9a1f1d49a9f65f35ed",
      "parents": [
        "ebfc5b802fa76baeb4371311ff9fc27a2258d90d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 15 17:23:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 15 17:23:00 2012 -0700"
      },
      "message": "x86-32: fix up strncpy_from_user() sign error\n\nThe \u0027max\u0027 range needs to be unsigned, since the size of the user address\nspace is bigger than 2GB.\n\nWe know that \u0027count\u0027 is positive in \u0027long\u0027 (that is checked in the\ncaller), so we will truncate \u0027max\u0027 down to something that fits in a\nsigned long, but before we actually do that, that comparison needs to be\ndone in unsigned.\n\nBug introduced in commit 92ae03f2ef99 (\"x86: merge 32/64-bit versions of\n\u0027strncpy_from_user()\u0027 and speed it up\").  On x86-64 you can\u0027t trigger\nthis, since the user address space is much smaller than 63 bits, and on\nx86-32 it works in practice, since you would seldom hit the strncpy\nlimits anyway.\n\nI had actually tested the corner-cases, I had only tested them on\nx86-64.  Besides, I had only worried about the case of a pointer *close*\nto the end of the address space, rather than really far away from it ;)\n\nThis also changes the \"we hit the user-specified maximum\" to return\n\u0027res\u0027, for the trivial reason that gcc seems to generate better code\nthat way.  \u0027res\u0027 and \u0027count\u0027 are the same in that case, so it really\ndoesn\u0027t matter which one we return.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92ae03f2ef99fbc23bfa9080d6b58f25227bd7ef",
      "tree": "bccc4d78e8d7fb56f62189c3c25f73cdf01a5f5a",
      "parents": [
        "79549c6dfda0603dba9a70a53467ce62d9335c33"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 06 14:32:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 11 09:41:28 2012 -0700"
      },
      "message": "x86: merge 32/64-bit versions of \u0027strncpy_from_user()\u0027 and speed it up\n\nThis merges the 32- and 64-bit versions of the x86 strncpy_from_user()\nby just rewriting it in C rather than the ancient inline asm versions\nthat used lodsb/stosb and had been duplicated for (trivial) differences\nbetween the 32-bit and 64-bit versions.\n\nWhile doing that, it also speeds them up by doing the accesses a word at\na time.  Finally, the new routines also properly handle the case of\nhitting the end of the address space, which we have never done correctly\nbefore (fs/namei.c has a hack around it for that reason).\n\nDespite all these improvements, it actually removes more lines than it\nadds, due to the de-duplication.  Also, we no longer export (or define)\nthe legacy __strncpy_from_user() function (that was defined to not do\nthe user permission checks), since it\u0027s not actually used anywhere, and\nthe user address space checks are built in to the new code.\n\nOther architecture maintainers have been notified that the old hack in\nfs/namei.c will be going away in the 3.5 merge window, in case they\ncopied the x86 approach of being a bit cavalier about the end of the\naddress space.\n\nCc: linux-arch@vger.kernel.org\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b674bf106f59e04e24b3825c2f08dcd9a5b7264",
      "tree": "b90b52b692111f0be66eaf7efb040e35a6e763e3",
      "parents": [
        "e17fdf5c6778ff77d93dd769910992e4073b9348",
        "cb8095bba6d24118135a5683a956f4f4fb5f17bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 09:23:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 09:23:57 2012 -0700"
      },
      "message": "Merge branch \u0027x86-atomic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86/atomic changes from Ingo Molnar.\n\n* \u0027x86-atomic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86: atomic64 assembly improvements\n  x86: Adjust asm constraints in atomic64 wrappers\n"
    },
    {
      "commit": "e17fdf5c6778ff77d93dd769910992e4073b9348",
      "tree": "d1a7ca2b1faf4301b39300fbd82f9b91e605a77e",
      "parents": [
        "95211279c5ad00a317c98221d7e4365e02f20836",
        "a240ada241dafe290e7532d1ddeb98fdf1419068"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 09:13:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 09:13:24 2012 -0700"
      },
      "message": "Merge branch \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86/asm changes from Ingo Molnar\n\n* \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86: Include probe_roms.h in probe_roms.c\n  x86/32: Print control and debug registers for kerenel context\n  x86: Tighten dependencies of CPU_SUP_*_32\n  x86/numa: Improve internode cache alignment\n  x86: Fix the NMI nesting comments\n  x86-64: Improve insn scheduling in SAVE_ARGS_IRQ\n  x86-64: Fix CFI annotations for NMI nesting code\n  bitops: Add missing parentheses to new get_order macro\n  bitops: Optimise get_order()\n  bitops: Adjust the comment on get_order() to describe the size\u003d\u003d0 case\n  x86/spinlocks: Eliminate TICKET_MASK\n  x86-64: Handle byte-wise tail copying in memcpy() without a loop\n  x86-64: Fix memcpy() to support sizes of 4Gb and above\n  x86-64: Fix memset() to support sizes of 4Gb and above\n  x86-64: Slightly shorten copy_page()\n"
    },
    {
      "commit": "9f3938346a5c1fa504647670edb5fea5756cfb00",
      "tree": "7cf6d24d6b076c8db8571494984924cac03703a2",
      "parents": [
        "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
        "317b6e128247f75976b0fc2b9fd8d2c20ef13b3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "message": "Merge branch \u0027kmap_atomic\u0027 of git://github.com/congwang/linux\n\nPull kmap_atomic cleanup from Cong Wang.\n\nIt\u0027s been in -next for a long time, and it gets rid of the (no longer\nused) second argument to k[un]map_atomic().\n\nFix up a few trivial conflicts in various drivers, and do an \"evil\nmerge\" to catch some new uses that have come in since Cong\u0027s tree.\n\n* \u0027kmap_atomic\u0027 of git://github.com/congwang/linux: (59 commits)\n  feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal\n  highmem: kill all __kmap_atomic() [swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename]\n  drbd: remove the second argument of k[un]map_atomic()\n  zcache: remove the second argument of k[un]map_atomic()\n  gma500: remove the second argument of k[un]map_atomic()\n  dm: remove the second argument of k[un]map_atomic()\n  tomoyo: remove the second argument of k[un]map_atomic()\n  sunrpc: remove the second argument of k[un]map_atomic()\n  rds: remove the second argument of k[un]map_atomic()\n  net: remove the second argument of k[un]map_atomic()\n  mm: remove the second argument of k[un]map_atomic()\n  lib: remove the second argument of k[un]map_atomic()\n  power: remove the second argument of k[un]map_atomic()\n  kdb: remove the second argument of k[un]map_atomic()\n  udf: remove the second argument of k[un]map_atomic()\n  ubifs: remove the second argument of k[un]map_atomic()\n  squashfs: remove the second argument of k[un]map_atomic()\n  reiserfs: remove the second argument of k[un]map_atomic()\n  ocfs2: remove the second argument of k[un]map_atomic()\n  ntfs: remove the second argument of k[un]map_atomic()\n  ...\n"
    },
    {
      "commit": "8fd75e1216e0ba601a746177e6c102d5593b572f",
      "tree": "d9f8e867ccec9ecaa2b77616a01c1c3d0875d76e",
      "parents": [
        "91f2359396d87f24ea43d91ff77dec54847ad69a"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:17 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:15 2012 +0800"
      },
      "message": "x86: remove the second argument of k[un]map_atomic()\n\nAcked-by: Avi Kivity \u003cavi@redhat.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "35239e23c66f1614c76739b62a299c3c92d6eb68",
      "tree": "7b1e068df888ec9a00b43c1dd7517a6490da6a94",
      "parents": [
        "3f33ab1c0c741bfab2138c14ba1918a7905a1e8b",
        "87e24f4b67e68d9fd8df16e0bf9c66d1ad2a2533"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 12 20:44:07 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 12 20:44:11 2012 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: We are going to queue up a dependent patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a7f4255f906f60f72e00aad2fb000939449ff32e",
      "tree": "e406279014534fef75e15c5c6b2bc797a0e1488a",
      "parents": [
        "c447064de46a942e2d91a4cf22afa70538d781dd"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 09 20:55:10 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 09 12:43:27 2012 -0800"
      },
      "message": "x86: Derandom delay_tsc for 64 bit\n\nCommit f0fbf0abc093 (\"x86: integrate delay functions\") converted\ndelay_tsc() into a random delay generator for 64 bit.  The reason is\nthat it merged the mostly identical versions of delay_32.c and\ndelay_64.c.  Though the subtle difference of the result was:\n\n static void delay_tsc(unsigned long loops)\n {\n-\tunsigned bclock, now;\n+\tunsigned long bclock, now;\n\nNow the function uses rdtscl() which returns the lower 32bit of the\nTSC. On 32bit that\u0027s not problematic as unsigned long is 32bit. On 64\nbit this fails when the lower 32bit are close to wrap around when\nbclock is read, because the following check\n\n       if ((now - bclock) \u003e\u003d loops)\n       \t  \tbreak;\n\nevaluated to true on 64bit for e.g. bclock \u003d 0xffffffff and now \u003d 0\nbecause the unsigned long (now - bclock) of these values results in\n0xffffffff00000001 which is definitely larger than the loops\nvalue. That explains Tvortkos observation:\n\n\"Because I am seeing udelay(500) (_occasionally_) being short, and\n that by delaying for some duration between 0us (yep) and 491us.\"\n\nMake those variables explicitely u32 again, so this works for both 32\nand 64 bit.\n\nReported-by: Tvrtko Ursulin \u003ctvrtko.ursulin@onelan.co.uk\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org # \u003e\u003d 2.6.27\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "458ce2910aa83d8a2cafb489d727f7da839e73c6",
      "tree": "28e088137eb068e5620f17eaf0ca19d1562006ed",
      "parents": [
        "69466466ce889cd2cbc8cda9ff1c6083f48cc7f9",
        "586c6e7013c8cbb8c91aaa6568ec349b1dc2c691"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 28 10:26:07 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 28 10:27:36 2012 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/asm\n\nSync up the latest NMI fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f8d98f1095210da708a59f3a0b6fd267ad8f3f03",
      "tree": "e950cbe3f00efa648a41c463ed33c8087d240573",
      "parents": [
        "86f5e6a7b192721995ece919985ac75222402351"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Feb 10 14:33:40 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 11 15:11:35 2012 +0100"
      },
      "message": "x86: Fix to decode grouped AVX with VEX pp bits\n\nFix to decode grouped AVX with VEX pp bits which should be\nhandled as same as last-prefixes. This fixes below warnings\nin posttest with CONFIG_CRYPTO_SHA1_SSSE3\u003dy.\n\n Warning: arch/x86/tools/test_get_len found difference at \u003csha1_transform_avx\u003e:ffffffff810d5fc0\n Warning: ffffffff810d6069:\tc5 f9 73 de 04       \tvpsrldq $0x4,%xmm6,%xmm0\n Warning: objdump says 5 bytes, but insn_get_length() says 4\n ...\n\nWith this change, test_get_len can decode it correctly.\n\n $ arch/x86/tools/test_get_len -v -y\n ffffffff810d6069:       c5 f9 73 de 04          vpsrldq $0x4,%xmm6,%xmm0\n Succeed: decoded and checked 1 instructions\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: yrl.pp-manager.tt@hitachi.com\nLink: http://lkml.kernel.org/r/20120210053340.30429.73410.stgit@localhost.localdomain\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9d8e22777e66f420e46490e9fc6f8cb7e0e2222b",
      "tree": "dd0ec6122dda1409206dda70f6ae4fd3c9a2cd35",
      "parents": [
        "2ab560911a427fdc73bfd3a7d2944d8ee0ca6db8"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@suse.com",
        "time": "Thu Jan 26 15:55:32 2012 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 21:19:20 2012 +0100"
      },
      "message": "x86-64: Handle byte-wise tail copying in memcpy() without a loop\n\nWhile hard to measure, reducing the number of possibly/likely\nmis-predicted branches can generally be expected to be slightly\nbetter.\n\nOther than apparent at the first glance, this also doesn\u0027t grow\nthe function size (the alignment gap to the next function just\ngets smaller).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/4F218584020000780006F422@nat28.tlf.novell.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2ab560911a427fdc73bfd3a7d2944d8ee0ca6db8",
      "tree": "1e7d65a8a0589347da02629feaa315adff6aea8e",
      "parents": [
        "5d7244e7c984cecead412bde6395ce18618a4a37"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@suse.com",
        "time": "Thu Jan 26 15:50:55 2012 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 21:19:18 2012 +0100"
      },
      "message": "x86-64: Fix memcpy() to support sizes of 4Gb and above\n\nWhile currently there doesn\u0027t appear to be any reachable in-tree\ncase where such large memory blocks may be passed to memcpy(),\nwe already had hit the problem in our Xen kernels. Just like\ndone recently for mmeset(), rather than working around it,\nprevent others from falling into the same trap by fixing this\nlong standing limitation.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/4F21846F020000780006F3FA@nat28.tlf.novell.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5d7244e7c984cecead412bde6395ce18618a4a37",
      "tree": "d1b468fe47733ab3770f127d44d04ac2937965ee",
      "parents": [
        "426932909093e4e7729777a0e2beed4b54911361"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@suse.com",
        "time": "Thu Jan 05 16:10:42 2012 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 11:50:04 2012 +0100"
      },
      "message": "x86-64: Fix memset() to support sizes of 4Gb and above\n\nWhile currently there doesn\u0027t appear to be any reachable in-tree\ncase where such large memory blocks may be passed to memset()\n(alloc_bootmem() being the primary non-reachable one, as it gets\ncalled with suitably large sizes in FLATMEM configurations), we\nhave recently hit the problem a second time in our Xen kernels.\n\nRather than working around it a second time, prevent others from\nfalling into the same trap by fixing this long standing\nlimitation.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/4F05D992020000780006AA09@nat28.tlf.novell.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb8095bba6d24118135a5683a956f4f4fb5f17bb",
      "tree": "25eff3732e8471e314591d0bc6ea41d96857c18b",
      "parents": [
        "819165fb34b9777f852429f2c6d6f79fbb71b9eb"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@suse.com",
        "time": "Fri Jan 20 16:22:04 2012 +0000"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Fri Jan 20 17:29:49 2012 -0800"
      },
      "message": "x86: atomic64 assembly improvements\n\nIn the \"xchg\" implementation, %ebx and %ecx don\u0027t need to be copied\ninto %eax and %edx respectively (this is only necessary when desiring\nto only read the stored value).\n\nIn the \"add_unless\" implementation, swapping the use of %ecx and %esi\nfor passing arguments allows %esi to become an input only (i.e.\npermitting the register to be re-used to address the same object\nwithout reload).\n\nIn \"{add,sub}_return\", doing the initial read64 through the passed in\n%ecx decreases a register dependency.\n\nIn \"inc_not_zero\", a branch can be eliminated by or-ing together the\ntwo halves of the current (64-bit) value, and code size can be further\nreduced by adjusting the arithmetic slightly.\n\nv2: Undo the folding of \"xchg\" and \"set\".\n\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nLink: http://lkml.kernel.org/r/4F19A2BC020000780006E0DC@nat28.tlf.novell.com\nCc: Luca Barbieri \u003cluca@luca-barbieri.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "819165fb34b9777f852429f2c6d6f79fbb71b9eb",
      "tree": "0ac1aca39cbec9777e902b4393f09e5b0255d42f",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@suse.com",
        "time": "Fri Jan 20 16:21:41 2012 +0000"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Fri Jan 20 17:29:31 2012 -0800"
      },
      "message": "x86: Adjust asm constraints in atomic64 wrappers\n\nEric pointed out overly restrictive constraints in atomic64_set(), but\nthere are issues throughout the file. In the cited case, %ebx and %ecx\nare inputs only (don\u0027t get changed by either of the two low level\nimplementations). This was also the case elsewhere.\n\nFurther in many cases early-clobber indicators were missing.\n\nFinally, the previous implementation rolled a custom alternative\ninstruction macro from scratch, rather than using alternative_call()\n(which was introduced with the commit that the description of the\nchange in question actually refers to). Adjusting has the benefit of\nnot hiding referenced symbols from the compiler, which however requires\nthem to be declared not just in the exporting source file (which, as a\ndesirable side effect, in turn allows that exporting file to become a\nreal 5-line stub).\n\nThis patch does not eliminate the overly restrictive memory clobbers,\nhowever: Doing so would occasionally make the compiler set up a second\nregister for accessing the memory object (to satisfy the added \"m\"\nconstraint), and it\u0027s not clear which of the two non-optimal\nalternatives is better.\n\nv2: Re-do the declaration and exporting of the internal symbols.\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nLink: http://lkml.kernel.org/r/4F19A2A5020000780006E0D9@nat28.tlf.novell.com\nCc: Luca Barbieri \u003cluca@luca-barbieri.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "567e47935a7cddd8e823c73bb8ee0b2805cd4940",
      "tree": "0d1ee0eb233b7f84084f779d32ef1fb2d5be755a",
      "parents": [
        "99d1edc5c5ef5ee80982b354d57cef106cb8423c",
        "f7e6746ebae984ea67b0a1a1e23c7e6698240631",
        "6eadf1075c6f923fece419e38cf05bff559aefcd",
        "4f2f81a5621de47d42476d0b929be2e0d565df84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 19 14:53:06 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 19 14:53:06 2012 -0800"
      },
      "message": "Merge branches \u0027sched-urgent-for-linus\u0027, \u0027perf-urgent-for-linus\u0027 and \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/accounting, proc: Fix /proc/stat interrupts sum\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  tracepoints/module: Fix disabling tracepoints with taint CRAP or OOT\n  x86/kprobes: Add arch/x86/tools/insn_sanity to .gitignore\n  x86/kprobes: Fix typo transferred from Intel manual\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, syscall: Need __ARCH_WANT_SYS_IPC for 32 bits\n  x86, tsc: Fix SMI induced variation in quick_pit_calibrate()\n  x86, opcode: ANDN and Group 17 in x86-opcode-map.txt\n  x86/kconfig: Move the ZONE_DMA entry under a menu\n  x86/UV2: Add accounting for BAU strong nacks\n  x86/UV2: Ack BAU interrupt earlier\n  x86/UV2: Remove stale no-resources test for UV2 BAU\n  x86/UV2: Work around BAU bug\n  x86/UV2: Fix BAU destination timeout initialization\n  x86/UV2: Fix new UV2 hardware by using native UV2 broadcast mode\n  x86: Get rid of dubious one-bit signed bitfield\n"
    },
    {
      "commit": "ce79dac861e0d9a473d9923391bdbaad83c1c57f",
      "tree": "16c2b6fa5a167e3270de80719c14eb9bbe69b1ed",
      "parents": [
        "5ee71535440f034de1196b11f78cef81c4025c2b"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@gmail.com",
        "time": "Tue Jan 17 14:14:02 2012 -0500"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Jan 17 12:11:54 2012 -0800"
      },
      "message": "x86, opcode: ANDN and Group 17 in x86-opcode-map.txt\n\nThe Intel documentation at\n\nhttp://software.intel.com/file/36945\n\nshows the ANDN opcode and Group 17 with encoding f2 and f3 encoding\nrespectively.  The current version of x86-opcode-map.txt shows them\nwith f3 and f4.  Unless someone can point to documentation which shows\nthe currently used encoding the following patch be applied.\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@gmail.com\u003e\nLink: http://lkml.kernel.org/r/CAOPLpQdq5SuVo9\u003d023CYhbFLAX9rONyjmYq7jJkqc5xwctW5eA@mail.gmail.com\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "8d973b624ece3b85cfae9474935795d034f72faf",
      "tree": "4145b62562683a5d69a5ab7ea70a287dda9ba1ba",
      "parents": [
        "2e64694de21a812d637dcbea4471ad1f7897b049"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@gmail.com",
        "time": "Sun Jan 15 19:40:24 2012 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 16 08:20:36 2012 +0100"
      },
      "message": "x86/kprobes: Fix typo transferred from Intel manual\n\nThe arch/x86/lib/x86-opcode-map.txt file [used by the\nkprobes instruction decoder] contains the line:\n\n  af: SCAS/W/D/Q rAX,Xv\n\nThis is what the Intel manuals show, but it\u0027s not correct.\nThe \u0027X\u0027 stands for:\n\n  Memory addressed by the DS:rSI register pair (for example, MOVS, CMPS, OUTS, or LODS).\n\nOn the other hand \u0027Y\u0027 means (also see the ae byte entry for\nSCASB):\n\n  Memory addressed by the ES:rDI register pair (for example, MOVS, CMPS, INS, STOS, or SCAS).\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@gmail.com\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: yrl.pp-manager.tt@hitachi.com\nLink: http://lkml.kernel.org/r/CAOPLpQfytPyDEBF1Hbkpo7ovUerEsstVGxBr%3DEpDL-BKEMaqLA@mail.gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "69734b644bf19f20d2989e1a8e5bf59c837ee5c1",
      "tree": "b1afd22d6e84db04516e466c223d67c1c340e6d9",
      "parents": [
        "67b0243131150391125d8d0beb5359d7aec78b55",
        "ceb7b40b65539a771d1bfaf47660ac0ee57e0c4f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 13:59:14 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 13:59:14 2012 -0800"
      },
      "message": "Merge branch \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)\n  x86: Fix atomic64_xxx_cx8() functions\n  x86: Fix and improve cmpxchg_double{,_local}()\n  x86_64, asm: Optimise fls(), ffs() and fls64()\n  x86, bitops: Move fls64.h inside __KERNEL__\n  x86: Fix and improve percpu_cmpxchg{8,16}b_double()\n  x86: Report cpb and eff_freq_ro flags correctly\n  x86/i386: Use less assembly in strlen(), speed things up a bit\n  x86: Use the same node_distance for 32 and 64-bit\n  x86: Fix rflags in FAKE_STACK_FRAME\n  x86: Clean up and extend do_int3()\n  x86: Call do_notify_resume() with interrupts enabled\n  x86/div64: Add a micro-optimization shortcut if base is power of two\n  x86-64: Cleanup some assembly entry points\n  x86-64: Slightly shorten line system call entry and exit paths\n  x86-64: Reduce amount of redundant code generated for invalidate_interruptNN\n  x86-64: Slightly shorten int_ret_from_sys_call\n  x86, efi: Convert efi_phys_get_time() args to physical addresses\n  x86: Default to vsyscall\u003demulate\n  x86-64: Set siginfo and context on vsyscall emulation faults\n  x86: consolidate xchg and xadd macros\n  ...\n"
    },
    {
      "commit": "426932909093e4e7729777a0e2beed4b54911361",
      "tree": "5954055c0cf009ddd0bb5e8c3079406d2ca4a804",
      "parents": [
        "ceb7b40b65539a771d1bfaf47660ac0ee57e0c4f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@suse.com",
        "time": "Thu Jan 05 16:12:25 2012 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 06 12:25:37 2012 +0100"
      },
      "message": "x86-64: Slightly shorten copy_page()\n\n%r13 got saved and restored without ever getting touched, so\nthere\u0027s no need to do so.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/4F05D9F9020000780006AA0D@nat28.tlf.novell.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "890890cb8e415e1e7a61bfe3c8e246f710196824",
      "tree": "a4694f6470484ebac1d82ed317fa5ce5c198006e",
      "parents": [
        "79f1ddd06471b094ae30eb17b33beb9f1234ca93"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Dec 11 21:13:19 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 12 18:33:42 2011 +0100"
      },
      "message": "x86/i386: Use less assembly in strlen(), speed things up a bit\n\nCurrent i386 strlen() hardcodes NOT/DEC sequence. DEC is\nmentioned to be suboptimal on Core2. So, put only REPNE SCASB\nsequence in assembly, compiler can do the rest.\n\nThe difference in generated code is like below (MCORE2\u003dy):\n\n\t\u003cstrlen\u003e:\n\t\tpush   %edi\n\t\tmov    $0xffffffff,%ecx\n\t\tmov    %eax,%edi\n\t\txor    %eax,%eax\n\t\trepnz scas %es:(%edi),%al\n\t\tnot    %ecx\n\n\t-\tdec    %ecx\n\t-\tmov    %ecx,%eax\n\t+\tlea    -0x1(%ecx),%eax\n\n\t\tpop    %edi\n\t\tret\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Jan Beulich \u003cJBeulich@suse.com\u003e\nLink: http://lkml.kernel.org/r/20111211181319.GA17097@p183.telecom.by\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a9c373d03326e98c5f05ca64a1108790d25e28a9",
      "tree": "15675da865745b6a16b36065e00b6188acb8b4c2",
      "parents": [
        "e70825fc51e149366ab5659bd36beb73aad187a0"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Dec 05 21:05:57 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 14:53:21 2011 +0100"
      },
      "message": "x86: Update instruction decoder to support new AVX formats\n\nSince new Intel software developers manual introduces\nnew format for AVX instruction set (including AVX2),\nit is important to update x86-opcode-map.txt to fit\nthose changes.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: yrl.pp-manager.tt@hitachi.com\nLink: http://lkml.kernel.org/r/20111205120557.15475.13236.stgit@cloud\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "130b78b2bf16d5d89091db38374faef896360cf9",
      "tree": "46f1f553aba35de8e2ffea42128e2237da479dc6",
      "parents": [
        "1056c3e916f12cdd8042ab27dfccbb3a9e871df0"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Mon Dec 05 21:05:39 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 14:53:15 2011 +0100"
      },
      "message": "x86: Fix instruction decoder to handle grouped AVX instructions\n\nFor reducing memory usage of attribute table, x86 instruction\ndecoder puts \"Group\" attribute only on \"no-last-prefix\"\nattribute table (same as vex_p \u003d\u003d 0 case).\n\nThus, the decoder should look no-last-prefix table first, and\nthen only if it is not a group, move on to \"with-last-prefix\"\ntable (vex_p !\u003d 0).\n\nHowever, current implementation, inat_get_avx_attribute()\nlooks with-last-prefix directly. So, when decoding\na grouped AVX instruction, the decoder fails to find correct\ngroup because there is no \"Group\" attribute on the table.\nThis ends up with the mis-decoding of instructions, as Ingo\nreported in http://thread.gmane.org/gmane.linux.kernel/1214103\n\nThis patch fixes it to check no-last-prefix table first\neven if that is an AVX instruction, and get an attribute from\n\"with last-prefix\" table only if that is not a group.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: yrl.pp-manager.tt@hitachi.com\nLink: http://lkml.kernel.org/r/20111205120539.15475.91428.stgit@cloud\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "53a019a951fae849471e4a620948c5f6886bd1a4",
      "tree": "3c37f0297b628e263f74f146352f39cd5401134a",
      "parents": [
        "65112dccf8a113737684366349d7f9ec373ddc47"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Oct 07 22:31:55 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 10 09:05:51 2011 +0200"
      },
      "message": "x86: Fix insn decoder for longer instruction\n\nFix x86 insn decoder for hardening against invalid length\ninstructions. This adds length checkings for each byte-read\nsite and if it exceeds MAX_INSN_SIZE, returns immediately.\nThis can happen when decoding user-space binary.\n\nCaller can check whether it happened by checking insn.*.got\nmember is set or not.\n\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: acme@redhat.com\nCc: ming.m.lin@intel.com\nCc: robert.richter@amd.com\nCc: ravitillo@lbl.gov\nCc: yrl.pp-manager.tt@hitachi.com\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20111007133155.10933.58577.stgit@localhost.localdomain\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e204874db000928e37199c2db82b7eb8966cc3c",
      "tree": "eae66035cb761c3c5a79e98b92280b5156bc01ef",
      "parents": [
        "3e0b8df79ddb8955d2cce5e858972a9cfe763384",
        "aafade242ff24fac3aabf61c7861dfa44a3c2445"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:05:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:05:15 2011 -0700"
      },
      "message": "Merge branch \u0027x86-vdso-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-vdso-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86-64, vdso: Do not allocate memory for the vDSO\n  clocksource: Change __ARCH_HAS_CLOCKSOURCE_DATA to a CONFIG option\n  x86, vdso: Drop now wrong comment\n  Document the vDSO and add a reference parser\n  ia64: Replace clocksource.fsys_mmio with generic arch data\n  x86-64: Move vread_tsc and vread_hpet into the vDSO\n  clocksource: Replace vread with generic arch data\n  x86-64: Add --no-undefined to vDSO build\n  x86-64: Allow alternative patching in the vDSO\n  x86: Make alternative instruction pointers relative\n  x86-64: Improve vsyscall emulation CS and RIP handling\n  x86-64: Emulate legacy vsyscalls\n  x86-64: Fill unused parts of the vsyscall page with 0xcc\n  x86-64: Remove vsyscall number 3 (venosys)\n  x86-64: Map the HPET NX\n  x86-64: Remove kernel.vsyscall64 sysctl\n  x86-64: Give vvars their own page\n  x86-64: Document some of entry_64.S\n  x86-64: Fix alignment of jiffies variable\n"
    },
    {
      "commit": "eb47418dc56baaca33d270a868d8ddaa81150952",
      "tree": "16c0b09bacf3f6c25e5786afcfa741fa2a550ae5",
      "parents": [
        "2c9e88a1085b3183e5f92170a74980e5654f817b",
        "a750036f35cda160ef77408ec92c3dc41f8feebb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:02:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:02:24 2011 -0700"
      },
      "message": "Merge branch \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Fix write lock scalability 64-bit issue\n  x86: Unify rwsem assembly implementation\n  x86: Unify rwlock assembly implementation\n  x86, asm: Fix binutils 2.16 issue with __USER32_CS\n  x86, asm: Cleanup thunk_64.S\n  x86, asm: Flip RESTORE_ARGS arguments logic\n  x86, asm: Flip SAVE_ARGS arguments logic\n  x86, asm: Thin down SAVE/RESTORE_* asm macros\n"
    },
    {
      "commit": "1ac2e6ca44e13a087eb7438d284f887097ee7e84",
      "tree": "7ee4f00a67850e1e247610cefeae0ee7aa7b239a",
      "parents": [
        "9985c20f9e4aee6857c08246b273a3695a52b929"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Jun 07 11:49:55 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 20:41:57 2011 +0200"
      },
      "message": "x86, perf: Make copy_from_user_nmi() a library function\n\ncopy_from_user_nmi() is used in oprofile and perf. Moving it to other\nlibrary functions like copy_from_user(). As this is x86 code for 32\nand 64 bits, create a new file usercopy.c for unified code.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110607172413.GJ20052@erda.amd.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a750036f35cda160ef77408ec92c3dc41f8feebb",
      "tree": "1198013e1289dfb9b5a299388ee09515642c4030",
      "parents": [
        "a738669464a1e0d8e7b20f631120192f9cf7cfbd"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Tue Jul 19 13:00:45 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 09:03:36 2011 +0200"
      },
      "message": "x86: Fix write lock scalability 64-bit issue\n\nWith the write lock path simply subtracting RW_LOCK_BIAS there\nis, on large systems, the theoretical possibility of overflowing\nthe 32-bit value that was used so far (namely if 128 or more\nCPUs manage to do the subtraction, but don\u0027t get to do the\ninverse addition in the failure path quickly enough).\n\nA first measure is to modify RW_LOCK_BIAS itself - with the new\nvalue chosen, it is good for up to 2048 CPUs each allowed to\nnest over 2048 times on the read path without causing an issue.\nQuite possibly it would even be sufficient to adjust the bias a\nlittle further, assuming that allowing for significantly less\nnesting would suffice.\n\nHowever, as the original value chosen allowed for even more\nnesting levels, to support more than 2048 CPUs (possible\ncurrently only for 64-bit kernels) the lock itself gets widened\nto 64 bits.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/4E258E0D020000780004E3F0@nat28.tlf.novell.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a738669464a1e0d8e7b20f631120192f9cf7cfbd",
      "tree": "1388cef07865ef0f8ddd298bfdbebbbe25efc514",
      "parents": [
        "4625cd637919edfb562e0d62abf94f52e9321335"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Tue Jul 19 13:00:19 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 09:03:32 2011 +0200"
      },
      "message": "x86: Unify rwsem assembly implementation\n\nRather than having two functionally identical implementations\nfor 32- and 64-bit configurations, use the previously extended\nassembly abstractions to fold the rwsem two implementations into\na shared one.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/4E258DF3020000780004E3ED@nat28.tlf.novell.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4625cd637919edfb562e0d62abf94f52e9321335",
      "tree": "88c4cf965722fb54731a6e8f632ec6ef6e83e194",
      "parents": [
        "dd2897bf0f4d523238e87dabb23e9634ea9ba73d"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Tue Jul 19 12:59:51 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 09:03:31 2011 +0200"
      },
      "message": "x86: Unify rwlock assembly implementation\n\nRather than having two functionally identical implementations\nfor 32- and 64-bit configurations, extend the existing assembly\nabstractions enough to fold the two rwlock implementations into\na shared one.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/4E258DD7020000780004E3EA@nat28.tlf.novell.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "59e97e4d6fbcd5b74a94cb48bcbfc6f8478a5e93",
      "tree": "015fd8e63e1fcd8fdf7a066bd2e09a5636a14449",
      "parents": [
        "c9712944b2a12373cb6ff8059afcfb7e826a6c54"
      ],
      "author": {
        "name": "Andy Lutomirski",
        "email": "luto@mit.edu",
        "time": "Wed Jul 13 09:24:10 2011 -0400"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Jul 13 11:22:56 2011 -0700"
      },
      "message": "x86: Make alternative instruction pointers relative\n\nThis save a few bytes on x86-64 and means that future patches can\napply alternatives to unrelocated code.\n\nSigned-off-by: Andy Lutomirski \u003cluto@mit.edu\u003e\nLink: http://lkml.kernel.org/r/ff64a6b9a1a3860ca4a7b8b6dc7b4754f9491cd7.1310563276.git.luto@mit.edu\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "38e6b75d3b6f4b9445eb6486e28fc716acda44ae",
      "tree": "78eff99f936457750e355a306b429efc0fbe788c",
      "parents": [
        "838feb47549a9b73534c6c1d7da4a9639a0750f4"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "bp@alien8.de",
        "time": "Tue May 31 22:21:54 2011 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Fri Jun 03 14:38:55 2011 -0700"
      },
      "message": "x86, asm: Cleanup thunk_64.S\n\nDrop thunk_ra macro in favor of an additional argument to the thunk\nmacro since their bodies are almost identical. Do a whitespace scrubbing\nand use CFI-aware macros for full annotation.\n\nSigned-off-by: Borislav Petkov \u003cbp@alien8.de\u003e\nLink: http://lkml.kernel.org/r/1306873314-32523-5-git-send-email-bp@alien8.de\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "17b141803c6c6e27fbade3f97c1c9d8d66c72866",
      "tree": "23ecc0e41e4b742883ee800a4725beff234d2eaa",
      "parents": [
        "78c4def67e8eebe602655a3dec9aa08f0e2f7c4b",
        "2b398bd9f8f73be706b41adcbb240ce95793049a",
        "15d6aba24d88231415f4e7e091c0f1e60c3e6fd5",
        "8fab6af2156c0100f953fd61f4e0b2f82c9776dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:49:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:49:35 2011 -0700"
      },
      "message": "Merge branches \u0027x86-apic-for-linus\u0027, \u0027x86-asm-for-linus\u0027 and \u0027x86-cleanups-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-apic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, apic: Print verbose error interrupt reason on apic\u003ddebug\n\n* \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Demacro CONFIG_PARAVIRT cpu accessors\n\n* \u0027x86-cleanups-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Fix mrst sparse complaints\n  x86: Fix spelling error in the memcpy() source code comment\n  x86, mpparse: Remove unnecessary variable\n"
    },
    {
      "commit": "26afb7c661080ae3f1f13ddf7f0c58c4f931c22b",
      "tree": "f3774d2514c92ad2efaaaa9da3f10c140762ca5d",
      "parents": [
        "2f19e06ac30771c7cb96fd61d8aeacfa74dac21c"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Thu May 12 16:30:30 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 18 12:49:00 2011 +0200"
      },
      "message": "x86, 64-bit: Fix copy_[to/from]_user() checks for the userspace address limit\n\nAs reported in BZ #30352:\n\n  https://bugzilla.kernel.org/show_bug.cgi?id\u003d30352\n\nthere\u0027s a kernel bug related to reading the last allowed page on x86_64.\n\nThe _copy_to_user() and _copy_from_user() functions use the following\ncheck for address limit:\n\n  if (buf + size \u003e\u003d limit)\n\tfail();\n\nwhile it should be more permissive:\n\n  if (buf + size \u003e limit)\n\tfail();\n\nThat\u0027s because the size represents the number of bytes being\nread/write from/to buf address AND including the buf address.\nSo the copy function will actually never touch the limit\naddress even if \"buf + size \u003d\u003d limit\".\n\nFollowing program fails to use the last page as buffer\ndue to the wrong limit check:\n\n #include \u003csys/mman.h\u003e\n #include \u003csys/socket.h\u003e\n #include \u003cassert.h\u003e\n\n #define PAGE_SIZE       (4096)\n #define LAST_PAGE       ((void*)(0x7fffffffe000))\n\n int main()\n {\n        int fds[2], err;\n        void * ptr \u003d mmap(LAST_PAGE, PAGE_SIZE, PROT_READ | PROT_WRITE,\n                          MAP_ANONYMOUS | MAP_PRIVATE | MAP_FIXED, -1, 0);\n        assert(ptr \u003d\u003d LAST_PAGE);\n        err \u003d socketpair(AF_LOCAL, SOCK_STREAM, 0, fds);\n        assert(err \u003d\u003d 0);\n        err \u003d send(fds[0], ptr, PAGE_SIZE, 0);\n        perror(\"send\");\n        assert(err \u003d\u003d PAGE_SIZE);\n        err \u003d recv(fds[1], ptr, PAGE_SIZE, MSG_WAITALL);\n        perror(\"recv\");\n        assert(err \u003d\u003d PAGE_SIZE);\n        return 0;\n }\n\nThe other place checking the addr limit is the access_ok() function,\nwhich is working properly. There\u0027s just a misleading comment\nfor the __range_not_ok() macro - which this patch fixes as well.\n\nThe last page of the user-space address range is a guard page and\nBrian Gerst observed that the guard page itself due to an erratum on K8 cpus\n(#121 Sequential Execution Across Non-Canonical Boundary Causes Processor\nHang).\n\nHowever, the test code is using the last valid page before the guard page.\nThe bug is that the last byte before the guard page can\u0027t be read\nbecause of the off-by-one error. The guard page is left in place.\n\nThis bug would normally not show up because the last page is\npart of the process stack and never accessed via syscalls.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nAcked-by: Brian Gerst \u003cbrgerst@gmail.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1305210630-7136-1-git-send-email-jolsa@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2f19e06ac30771c7cb96fd61d8aeacfa74dac21c",
      "tree": "00a13ef37681e1f983a40680b17c850ce035fb87",
      "parents": [
        "057e05c1d6440117875f455e59da8691e08f65d5"
      ],
      "author": {
        "name": "Fenghua Yu",
        "email": "fenghua.yu@intel.com",
        "time": "Tue May 17 15:29:18 2011 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue May 17 15:40:31 2011 -0700"
      },
      "message": "x86, mem: memset_64.S: Optimize memset by enhanced REP MOVSB/STOSB\n\nSupport memset() with enhanced rep stosb. On processors supporting enhanced\nREP MOVSB/STOSB, the alternative memset_c_e function using enhanced rep stosb\noverrides the fast string alternative memset_c and the original function.\n\nSigned-off-by: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nLink: http://lkml.kernel.org/r/1305671358-14478-10-git-send-email-fenghua.yu@intel.com\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "057e05c1d6440117875f455e59da8691e08f65d5",
      "tree": "79c8306de2ebe31252b730170e33bd62ed18ccdb",
      "parents": [
        "101068c1f4a947ffa08f2782c78e40097300754d"
      ],
      "author": {
        "name": "Fenghua Yu",
        "email": "fenghua.yu@intel.com",
        "time": "Tue May 17 15:29:17 2011 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue May 17 15:40:30 2011 -0700"
      },
      "message": "x86, mem: memmove_64.S: Optimize memmove by enhanced REP MOVSB/STOSB\n\nSupport memmove() by enhanced rep movsb. On processors supporting enhanced\nREP MOVSB/STOSB, the alternative memmove() function using enhanced rep movsb\noverrides the original function.\n\nThe patch doesn\u0027t change the backward memmove case to use enhanced rep\nmovsb.\n\nSigned-off-by: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nLink: http://lkml.kernel.org/r/1305671358-14478-9-git-send-email-fenghua.yu@intel.com\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "101068c1f4a947ffa08f2782c78e40097300754d",
      "tree": "a26eccfb8a85801ef337efe238a47cf48a522022",
      "parents": [
        "4307bec9344aed83f8107c3eb4285bd9d218fc10"
      ],
      "author": {
        "name": "Fenghua Yu",
        "email": "fenghua.yu@intel.com",
        "time": "Tue May 17 15:29:16 2011 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue May 17 15:40:29 2011 -0700"
      },
      "message": "x86, mem: memcpy_64.S: Optimize memcpy by enhanced REP MOVSB/STOSB\n\nSupport memcpy() with enhanced rep movsb. On processors supporting enhanced\nrep movsb, the alternative memcpy() function using enhanced rep movsb overrides the original function and the fast string\nfunction.\n\nSigned-off-by: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nLink: http://lkml.kernel.org/r/1305671358-14478-8-git-send-email-fenghua.yu@intel.com\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "4307bec9344aed83f8107c3eb4285bd9d218fc10",
      "tree": "d18d0b7e6c5d0a93fc84504d546add5f1ca09c5a",
      "parents": [
        "e365c9df2f2f001450decf9512412d2d5bd1cdef"
      ],
      "author": {
        "name": "Fenghua Yu",
        "email": "fenghua.yu@intel.com",
        "time": "Tue May 17 15:29:15 2011 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue May 17 15:40:28 2011 -0700"
      },
      "message": "x86, mem: copy_user_64.S: Support copy_to/from_user by enhanced REP MOVSB/STOSB\n\nSupport copy_to_user/copy_from_user() by enhanced REP MOVSB/STOSB.\nOn processors supporting enhanced REP MOVSB/STOSB, the alternative\ncopy_user_enhanced_fast_string function using enhanced rep movsb overrides the\noriginal function and the fast string function.\n\nSigned-off-by: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nLink: http://lkml.kernel.org/r/1305671358-14478-7-git-send-email-fenghua.yu@intel.com\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "e365c9df2f2f001450decf9512412d2d5bd1cdef",
      "tree": "3670f466631b7ddeb710f54899020ee4a792edc4",
      "parents": [
        "9072d11da15a71e086eab3b5085184f2c1d06913"
      ],
      "author": {
        "name": "Fenghua Yu",
        "email": "fenghua.yu@intel.com",
        "time": "Tue May 17 15:29:14 2011 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue May 17 15:40:27 2011 -0700"
      },
      "message": "x86, mem: clear_page_64.S: Support clear_page() with enhanced REP MOVSB/STOSB\n\nIntel processors are adding enhancements to REP MOVSB/STOSB and the use of\nREP MOVSB/STOSB for optimal memcpy/memset or similar functions is recommended.\nEnhancement availability is indicated by CPUID.7.0.EBX[9] (Enhanced REP MOVSB/\nSTOSB).\n\nSupport clear_page() with rep stosb for processor supporting enhanced REP MOVSB\n/STOSB. On processors supporting enhanced REP MOVSB/STOSB, the alternative\nclear_page_c_e function using enhanced REP STOSB overrides the original function\nand the fast string function.\n\nSigned-off-by: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nLink: http://lkml.kernel.org/r/1305671358-14478-6-git-send-email-fenghua.yu@intel.com\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "4cb1f43ce8c72ee453c00fcb9f6ee9c4ebd03f98",
      "tree": "15e64f192b54ea01fd640d69eed0cabed2baaaa9",
      "parents": [
        "9de4966a4d218f29c68e96e8e7b4d2840dedec79",
        "0ee5623f9a6e52df90a78bd21179f8ab370e102e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 07 10:51:38 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 07 10:51:48 2011 +0200"
      },
      "message": "Merge commit \u0027v2.6.39-rc6\u0027 into x86/cleanups\n\nMerge reason: move to a (much) newer upstream base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9de4966a4d218f29c68e96e8e7b4d2840dedec79",
      "tree": "6d333a3f50903c29e350c573c34e9b889ece3dcc",
      "parents": [
        "9f1f1bfd8d7e579f07dbe56d6f93bd594da43b3d"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Sun May 01 14:09:21 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 01 19:16:18 2011 +0200"
      },
      "message": "x86: Fix spelling error in the memcpy() source code comment\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nLink: http://lkml.kernel.org/r/201105011409.21629.bvanassche@acm.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7c3f8cee81f4548de0513403b74131aee655576",
      "tree": "3512188d9be3e429284d094d4bc1fdc2299b92db",
      "parents": [
        "76597cd31470fa130784c78fadb4dab2e624a723"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Sat Mar 26 20:57:18 2011 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 27 19:25:36 2011 -0700"
      },
      "message": "percpu: Omit segment prefix in the UP case for cmpxchg_double\n\nOmit the segment prefix in the UP case. GS is not used then\nand we will generate segfaults if cmpxchg16b is used otherwise.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2e1fbb5f2177227f71c4fc0491e531dd7acd385",
      "tree": "c45485e3cd8a04f78184ef3bd9ce6972c74ac834",
      "parents": [
        "508996b6a0ef0c7aa7701995d137e71c56180752",
        "4981d01eada5354d81c8929d5b2836829ba3df7b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 10:45:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 10:45:21 2011 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Flush TLB if PGD entry is changed in i386 PAE mode\n  x86, dumpstack: Correct stack dump info when frame pointer is available\n  x86: Clean up csum-copy_64.S a bit\n  x86: Fix common misspellings\n  x86: Fix misspelling and align params\n  x86: Use PentiumPro-optimized partial_csum() on VIA C7\n"
    },
    {
      "commit": "2c76397bddd3abcd36aca1941f47570dbc249542",
      "tree": "2bfc4936a4bb15811effbbffd8497c144c738fbb",
      "parents": [
        "0d2eb44f631d9d0a826efa3156f157477fdaecf4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 18 10:42:11 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 18 10:44:26 2011 +0100"
      },
      "message": "x86: Clean up csum-copy_64.S a bit\n\nThe many stray whitespaces and other uncleanlinesses made this code\nalmost unreadable to me - so fix those.\n\nNo changes to the code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0d2eb44f631d9d0a826efa3156f157477fdaecf4",
      "tree": "6d0b7b6332ac0bf232b1b1190d8d999ee910eea4",
      "parents": [
        "a6c3270b04340c5e0d47af5bdb10f30d33333739"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.de.marchi@gmail.com",
        "time": "Thu Mar 17 16:24:16 2011 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 18 10:39:30 2011 +0100"
      },
      "message": "x86: Fix common misspellings\n\nThey were generated by \u0027codespell\u0027 and then manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nCc: trivial@kernel.org\nLKML-Reference: \u003c1300389856-1099-3-git-send-email-lucas.demarchi@profusion.mobi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "79d8a8f736151b12129984b1250fd708440e742c",
      "tree": "f67eebe2bafca8820955ee9f851985a41fb32e66",
      "parents": [
        "bd2895eeade5f11f3e5906283c630bbdb4b57454",
        "b9ec40af0e18fb7d02106be148036c2ea490fdf9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:22:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:22:41 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu, x86: Add arch-specific this_cpu_cmpxchg_double() support\n  percpu: Generic support for this_cpu_cmpxchg_double()\n  alpha: use L1_CACHE_BYTES for cacheline size in the linker script\n  percpu: align percpu readmostly subsection to cacheline\n\nFix up trivial conflict in arch/x86/kernel/vmlinux.lds.S due to the\npercpu alignment having changed (\"x86: Reduce back the alignment of the\nper-CPU data section\")\n"
    },
    {
      "commit": "d5d42399bd7b66bd6b55363b311810504110c967",
      "tree": "bd676b8b8f2c85cecbe3777d7bb8c9a95e4cde98",
      "parents": [
        "209b6c8fa72e8b726a0cd273a56aded55be22bfa",
        "9599ec0471deae24044241e2173090d2cbc0e899"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:41:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:41:42 2011 -0700"
      },
      "message": "Merge branch \u0027x86-mem-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-mem-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86-64, mem: Convert memmove() to assembly file and fix return value bug\n"
    },
    {
      "commit": "e938c287ea8d977e079f07464ac69923412663ce",
      "tree": "e6bc03017d7cc82e7e06702475ede08266d896d3",
      "parents": [
        "bfc39061d3dbf812e6a78f9529a548e5f0050c64"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Tue Mar 01 14:28:02 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 02 08:16:44 2011 +0100"
      },
      "message": "x86: Fix a bogus unwind annotation in lib/semaphore_32.S\n\n\u0027simple\u0027 would have required specifying current frame address\nand return address location manually, but that\u0027s obviously not\nthe case (and not necessary) here.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nLKML-Reference: \u003c4D6D1082020000780003454C@vpn.id2.novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "039e13890b0615cb8c5c04b6afa84d676e24c761",
      "tree": "2725956bcb919cbd4000f067d0897539fefdd386",
      "parents": [
        "60cf637a13932a4750da6746efd0199e8a4c341b"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Feb 28 15:56:00 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 28 18:06:22 2011 +0100"
      },
      "message": "x86: Remove unused bits from lib/thunk_*.S\n\nSome of the items removed were apparently never used, others\nsimply didn\u0027t get removed with their last user.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nLKML-Reference: \u003c4D6BD3A002000078000341F1@vpn.id2.novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60cf637a13932a4750da6746efd0199e8a4c341b",
      "tree": "854edd9df2593f86b2c434d6830e6d2a26080b7b",
      "parents": [
        "39f2205e1abd1b6fffdaf45e1f1c3049a5f8999c"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Feb 28 15:54:40 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 28 18:06:22 2011 +0100"
      },
      "message": "x86: Use {push,pop}_cfi in more places\n\nCleaning up and shortening code...\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nLKML-Reference: \u003c4D6BD35002000078000341DA@vpn.id2.novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "39f2205e1abd1b6fffdaf45e1f1c3049a5f8999c",
      "tree": "1039e246f3ee64354ea3ed9009512ff8c88529a2",
      "parents": [
        "7bf04be8f48ceeeffa5b5a79734d6d6e0d59e5f8"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Feb 28 15:31:59 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 28 18:06:21 2011 +0100"
      },
      "message": "x86-64: Add CFI annotations to lib/rwsem_64.S\n\nThese weren\u0027t part of the initial commit of this code.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nLKML-Reference: \u003c4D6BCDFF02000078000341B0@vpn.id2.novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b9ec40af0e18fb7d02106be148036c2ea490fdf9",
      "tree": "6e9ad8aab6303c40a17467b52c0ac29b3a352d83",
      "parents": [
        "7c3343392172ba98d9d90a83edcc4c2e80897009"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Feb 28 11:02:24 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 28 11:20:49 2011 +0100"
      },
      "message": "percpu, x86: Add arch-specific this_cpu_cmpxchg_double() support\n\nSupport this_cpu_cmpxchg_double() using the cmpxchg16b and cmpxchg8b\ninstructions.\n\n-tj: s/percpu_cmpxchg16b/percpu_cmpxchg16b_double/ for consistency and\n     other cosmetic changes.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "9599ec0471deae24044241e2173090d2cbc0e899",
      "tree": "7ff508aefdb075ce62ef59e6218588eacedeff7f",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Fenghua Yu",
        "email": "fenghua.yu@intel.com",
        "time": "Mon Jan 17 17:39:15 2011 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue Jan 25 16:58:39 2011 -0800"
      },
      "message": "x86-64, mem: Convert memmove() to assembly file and fix return value bug\n\nmemmove_64.c only implements memmove() function which is completely written in\ninline assembly code. Therefore it doesn\u0027t make sense to keep the assembly code\nin .c file.\n\nCurrently memmove() doesn\u0027t store return value to rax. This may cause issue if\ncaller uses the return value. The patch fixes this issue.\n\nSigned-off-by: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nLKML-Reference: \u003c1295314755-6625-1-git-send-email-fenghua.yu@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "357089fca91f639dd005ae0721f5f932b4f276ab",
      "tree": "0af40092c4589d7732d10b8da2d4fb52531f504a",
      "parents": [
        "c1955b5f3a95717ce1f5235f6e9968da068e3183"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Thu Dec 16 12:14:43 2010 -0600"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 04 06:08:55 2011 +0100"
      },
      "message": "x86: udelay: Use this_cpu_read to avoid address calculation\n\nThe code will use a segment prefix instead of doing the lookup and\ncalculation.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nAcked-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "3b4b682becdfa9f42321aa024d5cc84f71f06d8c",
      "tree": "807cac0bfbc45d45f156dae742b31f9a66aaa559",
      "parents": [
        "59daa706fbec745684702741b9f5373142dd9fdc"
      ],
      "author": {
        "name": "Ma Ling",
        "email": "ling.ma@intel.com",
        "time": "Fri Sep 17 03:12:40 2010 +0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Sep 24 18:57:11 2010 -0700"
      },
      "message": "x86, mem: Optimize memmove for small size and unaligned cases\n\nmovs instruction will combine data to accelerate moving data,\nhowever we need to concern two cases about it.\n\n1. movs instruction need long lantency to startup,\n   so here we use general mov instruction to copy data.\n2. movs instruction is not good for unaligned case,\n   even if src offset is 0x10, dest offset is 0x0,\n   we avoid and handle the case by general mov instruction.\n\nSigned-off-by: Ma Ling \u003cling.ma@intel.com\u003e\nLKML-Reference: \u003c1284664360-6138-1-git-send-email-ling.ma@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "59daa706fbec745684702741b9f5373142dd9fdc",
      "tree": "53c20211ef0bf1be250a31a98ae0d966dce49308",
      "parents": [
        "fdf4289679fd41d76553ce224750e9737cd80eea"
      ],
      "author": {
        "name": "Ma Ling",
        "email": "ling.ma@intel.com",
        "time": "Tue Jun 29 03:24:25 2010 +0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Aug 23 14:56:41 2010 -0700"
      },
      "message": "x86, mem: Optimize memcpy by avoiding memory false dependece\n\nAll read operations after allocation stage can run speculatively,\nall write operation will run in program order, and if addresses are\ndifferent read may run before older write operation, otherwise wait\nuntil write commit. However CPU don\u0027t check each address bit,\nso read could fail to recognize different address even they\nare in different page.For example if rsi is 0xf004, rdi is 0xe008,\nin following operation there will generate big performance latency.\n1. movq (%rsi),\t%rax\n2. movq %rax,\t(%rdi)\n3. movq 8(%rsi), %rax\n4. movq %rax,\t8(%rdi)\n\nIf %rsi and rdi were in really the same meory page, there are TRUE\nread-after-write dependence because instruction 2 write 0x008 and\ninstruction 3 read 0x00c, the two address are overlap partially.\nActually there are in different page and no any issues,\nbut without checking each address bit CPU could think they are\nin the same page, and instruction 3 have to wait for instruction 2\nto write data into cache from write buffer, then load data from cache,\nthe cost time read spent is equal to mfence instruction. We may avoid it by\ntuning operation sequence as follow.\n\n1. movq 8(%rsi), %rax\n2. movq %rax,\t8(%rdi)\n3. movq (%rsi),\t%rax\n4. movq %rax,\t(%rdi)\n\nInstruction 3 read 0x004, instruction 2 write address 0x010, no any\ndependence.  At last on Core2 we gain 1.83x speedup compared with\noriginal instruction sequence.  In this patch we first handle small\nsize(less 20bytes), then jump to different copy mode. Based on our\nmicro-benchmark small bytes from 1 to 127 bytes, we got up to 2X\nimprovement, and up to 1.5X improvement for 1024 bytes on Corei7.  (We\nuse our micro-benchmark, and will do further test according to your\nrequirment)\n\nSigned-off-by: Ma Ling \u003cling.ma@intel.com\u003e\nLKML-Reference: \u003c1277753065-18610-1-git-send-email-ling.ma@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "fdf4289679fd41d76553ce224750e9737cd80eea",
      "tree": "6191ed574019b3f22e6d283dde0108517fe62f8f",
      "parents": [
        "76be97c1fc945db08aae1f1b746012662d643e97"
      ],
      "author": {
        "name": "Ma, Ling",
        "email": "ling.ma@intel.com",
        "time": "Mon Aug 23 14:11:12 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Mon Aug 23 14:14:27 2010 -0700"
      },
      "message": "x86, mem: Don\u0027t implement forward memmove() as memcpy()\n\nmemmove() allow source and destination address to be overlap, but\nthere is no such limitation for memcpy().  Therefore, explicitly\nimplement memmove() in both the forwards and backward directions, to\ngive us the ability to optimize memcpy().\n\nSigned-off-by: Ma Ling \u003cling.ma@intel.com\u003e\nLKML-Reference: \u003cC10D3FB0CD45994C8A51FEC1227CE22F0E483AD86A@shsmsx502.ccr.corp.intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "c029b55af7d6b02b993e8a5add78d062da7a3940",
      "tree": "eda9177a8d42324927424b3c42a99606ac6a4080",
      "parents": [
        "96054569190bdec375fe824e48ca1f4e3b53dd36",
        "417484d47e115774745ef025bce712a102b6f86f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 10:35:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 10:35:48 2010 -0700"
      },
      "message": "Merge branch \u0027x86/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, asm: Use a lower case name for the end macro in atomic64_386_32.S\n  x86, asm: Refactor atomic64_386_32.S to support old binutils and be cleaner\n  x86: Document __phys_reloc_hide() usage in __pa_symbol()\n  x86, apic: Map the local apic when parsing the MP table.\n"
    },
    {
      "commit": "417484d47e115774745ef025bce712a102b6f86f",
      "tree": "2a898b29b691ae0f1617e1189d57abbcbeb7383c",
      "parents": [
        "30246557a06bb20618bed906a06d1e1e0faa8bb4"
      ],
      "author": {
        "name": "Luca Barbieri",
        "email": "luca@luca-barbieri.com",
        "time": "Thu Aug 12 07:00:35 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Aug 12 07:04:16 2010 -0700"
      },
      "message": "x86, asm: Use a lower case name for the end macro in atomic64_386_32.S\n\nUse a lowercase name for the end macro, which somehow fixes a binutils 2.16\nproblem.\n\nSigned-off-by: Luca Barbieri \u003cluca@luca-barbieri.com\u003e\nLKML-Reference: \u003ctip-30246557a06bb20618bed906a06d1e1e0faa8bb4@git.kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "30246557a06bb20618bed906a06d1e1e0faa8bb4",
      "tree": "26f1493097b00e1cf3fdbf40b4abced115ac219d",
      "parents": [
        "8fd49936a8cac246fc9ed85508556c82cd44cf68"
      ],
      "author": {
        "name": "Luca Barbieri",
        "email": "luca@luca-barbieri.com",
        "time": "Fri Aug 06 04:04:38 2010 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Aug 11 21:03:28 2010 -0700"
      },
      "message": "x86, asm: Refactor atomic64_386_32.S to support old binutils and be cleaner\n\nThe old code didn\u0027t work on binutils 2.12 because setting a symbol to\na register apparently requires a fairly recent version.\n\nThis commit refactors the code to use the C preprocessor instead, and\nin the process makes the whole code a bit easier to understand.\n\nThe object code produced is unchanged as expected.\n\nThis fixes kernel bugzilla 16506.\n\nReported-by: Dieter Stussy \u003ckd6lvw+software@kd6lvw.ampr.org\u003e\nSigned-off-by: Luca Barbieri \u003cluca@luca-barbieri.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: \u003cstable@kernel.org\u003e 2.6.35\nLKML-Reference: \u003ctip-*@git.kernel.org\u003e\n"
    },
    {
      "commit": "66cd55d2b903643cbd019ef97a5305d9428d3865",
      "tree": "454a5af22b1aaf8fe62689974342a784f6f38822",
      "parents": [
        "75cb5fdce29c77ec54db45f0c6be7cc5715f8e15",
        "3b770a2128423a687e6e9c57184a584fb4ba4c77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 16:24:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 16:24:17 2010 -0700"
      },
      "message": "Merge branch \u0027x86-alternatives-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-alternatives-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, alternatives: BUG on encountering an invalid CPU feature number\n  x86, alternatives: Fix one more open-coded 8-bit alternative number\n  x86, alternatives: Use 16-bit numbers for cpufeature index\n"
    },
    {
      "commit": "a378d9338e8dde78314b3a6ae003de351936c729",
      "tree": "1f0c947c4c55bbb98c129a260ac604f6b39526ac",
      "parents": [
        "90c8f92f5c807807ca74d5f2f313794925174e6b"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Jul 28 17:05:11 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Jul 28 17:05:11 2010 -0700"
      },
      "message": "x86, asm: Merge cmpxchg_486_u64() and cmpxchg8b_emu()\n\nWe have two functions for doing exactly the same thing -- emulating\ncmpxchg8b on 486 and older hardware -- with different calling\nconventions, and yet doing the same thing.  Drop the C version and use\nthe assembly version, via alternatives, for both the local and\nnon-local versions of cmpxchg8b.\n\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nLKML-Reference: \u003cAANLkTikAmaDPji-TVDarmG1yD\u003dfwbffcsmEU\u003dYEuP+8r@mail.gmail.com\u003e\n"
    },
    {
      "commit": "90c8f92f5c807807ca74d5f2f313794925174e6b",
      "tree": "3baa3bc77c7e0e286208d8444adb2f205e87e8bd",
      "parents": [
        "4532b305e8f0c238dd73048068ff8a6dd1380291"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Jul 28 16:53:49 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Jul 28 16:53:49 2010 -0700"
      },
      "message": "x86, asm: Move cmpxchg emulation code to arch/x86/lib\n\nMove cmpxchg emulation code from arch/x86/kernel/cpu (which is\notherwise CPU identification) to arch/x86/lib, where other emulation\ncode lives already.\n\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nLKML-Reference: \u003cAANLkTikAmaDPji-TVDarmG1yD\u003dfwbffcsmEU\u003dYEuP+8r@mail.gmail.com\u003e\n"
    },
    {
      "commit": "df378ccfc4dd04e263426ad805516915874774aa",
      "tree": "3e5bbee1836883d34ec9fe92bbafa976460e0d70",
      "parents": [
        "83a7a2ad2a9173dcabc05df0f01d1d85b7ba1c2c"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue Jul 13 14:55:11 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue Jul 13 14:56:16 2010 -0700"
      },
      "message": "x86, alternatives: Fix one more open-coded 8-bit alternative number\n\nFix a missing case of an 8-bit alternative number, buried inside an\nassembly macro.\n\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nReported-by: Yinghai Lu \u003cyinhai@kernel.org\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLKML-Reference: \u003c4C3BDDA3.2060900@kernel.org\u003e\n"
    },
    {
      "commit": "83a7a2ad2a9173dcabc05df0f01d1d85b7ba1c2c",
      "tree": "06dfa61fa406d35694d9dfc1c9c4153ead231b78",
      "parents": [
        "140236b4b1c749c9b795ea3d11558a0eb5a3a080"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Thu Jun 10 00:10:43 2010 +0000"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jul 07 10:36:28 2010 -0700"
      },
      "message": "x86, alternatives: Use 16-bit numbers for cpufeature index\n\nWe already have cpufeature indicies above 255, so use a 16-bit number\nfor the alternatives index.  This consumes a padding field and so\ndoesn\u0027t add any size, but it means that abusing the padding field to\ncreate assembly errors on overflow no longer works.  We can retain the\ntest simply by redirecting it to the .discard section, however.\n\n[ v3: updated to include open-coded locations ]\n\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nLKML-Reference: \u003ctip-f88731e3068f9d1392ba71cc9f50f035d26a0d4f@git.kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "93c9d7f60c0cb7715890b1f9e159da6f4d1f5a65",
      "tree": "6be428ca5fe52f14ebb78a8e695cec59d2f21c26",
      "parents": [
        "7421a10de7a525f67cc082fca7a91011d00eada4",
        "d9c5841e22231e4e49fd0a1004164e6fce59b7a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:40:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:40:05 2010 -0700"
      },
      "message": "Merge branch \u0027x86-atomic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-atomic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Fix LOCK_PREFIX_HERE for uniprocessor build\n  x86, atomic64: In selftest, distinguish x86-64 from 586+\n  x86-32: Fix atomic64_inc_not_zero return value convention\n  lib: Fix atomic64_inc_not_zero test\n  lib: Fix atomic64_add_unless return value convention\n  x86-32: Fix atomic64_add_unless return value convention\n  lib: Fix atomic64_add_unless test\n  x86: Implement atomic[64]_dec_if_positive()\n  lib: Only test atomic64_dec_if_positive on archs having it\n  x86-32: Rewrite 32-bit atomic64 functions in assembly\n  lib: Add self-test for atomic64_t\n  x86-32: Allow UP/SMP lock replacement in cmpxchg64\n  x86: Add support for lock prefix in alternatives\n"
    },
    {
      "commit": "cce913178118b0b36742eb7544c2b38a0c957ee7",
      "tree": "25a6d7b4e01fea2932e6e2962a75f7a3d8c19a4f",
      "parents": [
        "d9f599e1e6d019968b35d2dc63074b9e8964fa69",
        "4fd38e4595e2f6c9d27732c042a0e16b2753049c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:30:29 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:30:30 2010 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: Resolve patch dependency\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a66f6375bdeb64d7a56c532bda7c006358845820",
      "tree": "2d42106075f70f23d12485edfdc4aba537187dcb",
      "parents": [
        "c81406d6423416f1e18a8a41a3b7ac415fdf13d3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue May 04 13:42:53 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 04 15:24:14 2010 -0700"
      },
      "message": "Fix the x86_64 implementation of call_rwsem_wait()\n\nThe x86_64 call_rwsem_wait() treats the active state counter part of the\nR/W semaphore state as being 16-bit when it\u0027s actually 32-bit (it\u0027s half\nof the 64-bit state).  It should do \"decl %edx\" not \"decw %dx\".\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9c5841e22231e4e49fd0a1004164e6fce59b7a6",
      "tree": "e1f589c46b3ff79bbe7b1b2469f6362f94576da6",
      "parents": [
        "b701a47ba48b698976fb2fe05fb285b0edc1d26a",
        "5967ed87ade85a421ef814296c3c7f182b08c225"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Apr 29 16:53:17 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Apr 29 16:53:17 2010 -0700"
      },
      "message": "Merge branch \u0027x86/asm\u0027 into x86/atomic\n\nMerge reason:\n\tConflict between LOCK_PREFIX_HERE and relative alternatives\n\tpointers\n\nResolved Conflicts:\n\tarch/x86/include/asm/alternative.h\n\tarch/x86/kernel/alternative.c\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "ba7e4d13fc7e25af1d167d40e6f028298dfc55ad",
      "tree": "2256022da50cf87b601a43f718d39b4dbcc482c8",
      "parents": [
        "63fb3f9b2312e131be5a0a2dddb63f2fb123db9b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 06 13:58:12 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 10 13:34:12 2010 +0100"
      },
      "message": "perf, x86: Add INSTRUCTION_DECODER config flag\n\nThe PEBS+LBR decoding magic needs the insn_get_length() infrastructure\nto be able to decode x86 instruction length.\n\nSo split it out of KPROBES dependency and make it enabled when either\nKPROBES or PERF_EVENTS is enabled.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f3e83131469e29032a700217aa394996107b8fc5",
      "tree": "5f442f20148809121e977466fd0be4b59825fc2f",
      "parents": [
        "25a304f277ad70166eeae25a4958d2049005c33a"
      ],
      "author": {
        "name": "Luca Barbieri",
        "email": "luca@luca-barbieri.com",
        "time": "Mon Mar 01 19:55:49 2010 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Mar 01 11:39:03 2010 -0800"
      },
      "message": "x86-32: Fix atomic64_inc_not_zero return value convention\n\natomic64_inc_not_zero must return 1 if it perfomed the add and 0 otherwise.\nIt was doing the opposite thing.\n\nSigned-off-by: Luca Barbieri \u003cluca@luca-barbieri.com\u003e\nLKML-Reference: \u003c1267469749-11878-6-git-send-email-luca@luca-barbieri.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "6e6104fe085026e6ef82cc5cc303d6c8ceb7e411",
      "tree": "0cd6c0a5574735f58563e4e96c68ec91a6c40033",
      "parents": [
        "9efbcd590243045111670c171a951923b877b57d"
      ],
      "author": {
        "name": "Luca Barbieri",
        "email": "luca@luca-barbieri.com",
        "time": "Mon Mar 01 19:55:46 2010 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Mar 01 11:38:46 2010 -0800"
      },
      "message": "x86-32: Fix atomic64_add_unless return value convention\n\natomic64_add_unless must return 1 if it perfomed the add and 0 otherwise.\nThe implementation did the opposite thing.\n\nReported-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Luca Barbieri \u003cluca@luca-barbieri.com\u003e\nLKML-Reference: \u003c1267469749-11878-3-git-send-email-luca@luca-barbieri.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "d6cd4715e21508bebbb1928c91d628bd65f5de5f",
      "tree": "2b89de4d36032bdd3d56fbae6e0d626c2cdd38b8",
      "parents": [
        "1eca9acbf9cda6437db7de1097c7a18014b1289d",
        "0d1622d7f526311d87d7da2ee7dd14b73e45d3fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:41:35 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:41:35 2010 -0800"
      },
      "message": "Merge branch \u0027x86-rwsem-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-rwsem-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86-64, rwsem: Avoid store forwarding hazard in __downgrade_write\n  x86-64, rwsem: 64-bit xadd rwsem implementation\n  x86: Fix breakage of UML from the changes in the rwsem system\n  x86-64: support native xadd rwsem implementation\n  x86: clean up rwsem type system\n"
    },
    {
      "commit": "85fe20bfd415af0a2e93bd1166533d4a6eb591ea",
      "tree": "10b0e485712859327f0c800491fb787a1859f0b6",
      "parents": [
        "58f02db466900003b801bdfdeddc4d96ce42b7d5",
        "1c5b9069e12e20d2fe883076ae0bf73966492108"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:37:40 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:37:40 2010 -0800"
      },
      "message": "Merge branch \u0027x86-io-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-io-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Merge io.h\n  x86: Simplify flush_write_buffers()\n  x86: Clean up mem*io functions.\n  x86-64: Use BUILDIO in io_64.h\n  x86-64: Reorganize io_64.h\n  x86-32: Remove _local variants of in/out from io_32.h\n  x86-32: Move XQUAD definitions to numaq.h\n"
    },
    {
      "commit": "58f02db466900003b801bdfdeddc4d96ce42b7d5",
      "tree": "3aec1f9f4aa147fde3facfe6c5f893ac667ce737",
      "parents": [
        "43a834d86c136b31ef6ad796725eb474a55a908d",
        "cb19060abfdecac0d1eb2d2f0e7d6b7a3f8bc4f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:37:06 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:37:06 2010 -0800"
      },
      "message": "Merge branch \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, cacheinfo: Enable L3 CID only on AMD\n  x86, cacheinfo: Remove NUMA dependency, fix for AMD Fam10h rev D1\n  x86, cpu: Print AMD virtualization features in /proc/cpuinfo\n  x86, cacheinfo: Calculate L3 indices\n  x86, cacheinfo: Add cache index disable sysfs attrs only to L3 caches\n  x86, cacheinfo: Fix disabling of L3 cache indices\n  intel-agp: Switch to wbinvd_on_all_cpus\n  x86, lib: Add wbinvd smp helpers\n"
    },
    {
      "commit": "a7e926abc3adfbd2e5e20d2b46177adb4e313915",
      "tree": "a1b342c35a6fe39167927b5eb13e2422935deb8e",
      "parents": [
        "86a8938078a8bb518c5376de493e348c7490d506"
      ],
      "author": {
        "name": "Luca Barbieri",
        "email": "luca@luca-barbieri.com",
        "time": "Wed Feb 24 10:54:25 2010 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Feb 25 20:47:30 2010 -0800"
      },
      "message": "x86-32: Rewrite 32-bit atomic64 functions in assembly\n\nThis patch replaces atomic64_32.c with two assembly implementations,\none for 386/486 machines using pushf/cli/popf and one for 586+ machines\nusing cmpxchg8b.\n\nThe cmpxchg8b implementation provides the following advantages over the\ncurrent one:\n\n1. Implements atomic64_add_unless, atomic64_dec_if_positive and\n   atomic64_inc_not_zero\n\n2. Uses the ZF flag changed by cmpxchg8b instead of doing a comparison\n\n3. Uses custom register calling conventions that reduce or eliminate\n   register moves to suit cmpxchg8b\n\n4. Reads the initial value instead of using cmpxchg8b to do that.\n   Currently we use lock xaddl and movl, which seems the fastest.\n\n5. Does not use the lock prefix for atomic64_set\n   64-bit writes are already atomic, so we don\u0027t need that.\n   We still need it for atomic64_read to avoid restoring a value\n   changed in the meantime.\n\n6. Allocates registers as well or better than gcc\n\nThe 386 implementation provides support for 386 and 486 machines.\n386/486 SMP is not supported (we dropped it), but such support can be\nadded easily if desired.\n\nA pure assembly implementation is required due to the custom calling\nconventions, and desire to use %ebp in atomic64_add_return (we need\n7 registers...), as well as the ability to use pushf/popf in the 386\ncode without an intermediate pop/push.\n\nThe parameter names are changed to match the convention in atomic_64.h\n\nChanges in v3 (due to rebasing to tip/x86/asm):\n- Patches atomic64_32.h instead of atomic_32.h\n- Uses the CALL alternative mechanism from commit\n  1b1d9258181bae199dc940f4bd0298126b9a73d9\n\nChanges in v2:\n- Merged 386 and cx8 support in the same patch\n- 386 support now done in assembly, C code no longer used at all\n- cmpxchg64 is used for atomic64_cmpxchg\n- stop using macros, use one-line inline functions instead\n- miscellanous changes and improvements\n\nSigned-off-by: Luca Barbieri \u003cluca@luca-barbieri.com\u003e\nLKML-Reference: \u003c1267005265-27958-5-git-send-email-luca@luca-barbieri.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "6175ddf06b6172046a329e3abfd9c901a43efd2e",
      "tree": "d721460533e8a4b083f5eeec8f0f5a2ec2062315",
      "parents": [
        "2b4df4d4f7de1a834d252c7da3197fce634cbf0e"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "brgerst@gmail.com",
        "time": "Fri Feb 05 09:37:07 2010 -0500"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Feb 05 13:57:33 2010 -0800"
      },
      "message": "x86: Clean up mem*io functions.\n\nIomem has no special significance on x86.  Use the standard mem*\nfunctions instead of trying to call other versions.  Some fixups\nare needed to match the function prototypes.\n\nSigned-off-by: Brian Gerst \u003cbrgerst@gmail.com\u003e\nLKML-Reference: \u003c1265380629-3212-6-git-send-email-brgerst@gmail.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "a7b480e7f30b3813353ec009f10f2ac7a6669f3b",
      "tree": "90ddc7a1ee6f1686699f77df39a3ff8a9d45d7a1",
      "parents": [
        "92dcffb916d309aa01778bf8963a6932e4014d07"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Jan 22 16:01:03 2010 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Jan 22 16:05:42 2010 -0800"
      },
      "message": "x86, lib: Add wbinvd smp helpers\n\nAdd wbinvd_on_cpu and wbinvd_on_all_cpus stubs for executing wbinvd on a\nparticular CPU.\n\n[ hpa: renamed lib/smp.c to lib/cache-smp.c ]\n[ hpa: wbinvd_on_all_cpus() returns int, but wbinvd() returns\n  void.  Thus, the former cannot be a macro for the latter,\n  replace with an inline function. ]\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nLKML-Reference: \u003c1264172467-25155-2-git-send-email-bp@amd64.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "bafaecd11df15ad5b1e598adc7736afcd38ee13d",
      "tree": "99b676d1ecc202358fe67acd095aa2c1f1ef2b1f",
      "parents": [
        "5d0b7235d83eefdafda300656e97d368afcafc9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 12 18:16:42 2010 -0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jan 13 22:39:50 2010 -0800"
      },
      "message": "x86-64: support native xadd rwsem implementation\n\nThis one is much faster than the spinlock based fallback rwsem code,\nwith certain artifical benchmarks having shown 300%+ improvement on\nthreaded page faults etc.\n\nAgain, note the 32767-thread limit here. So this really does need that\nwhole \"make rwsem_count_t be 64-bit and fix the BIAS values to match\"\nextension on top of it, but that is conceptually a totally independent\nissue.\n\nNOT TESTED! The original patch that this all was based on were tested by\nKAMEZAWA Hiroyuki, but maybe I screwed up something when I created the\ncleaned-up series, so caveat emptor..\n\nAlso note that it _may_ be a good idea to mark some more registers\nclobbered on x86-64 in the inline asms instead of saving/restoring them.\nThey are inline functions, but they are only used in places where there\nare not a lot of live registers _anyway_, so doing for example the\nclobbers of %r8-%r11 in the asm wouldn\u0027t make the fast-path code any\nworse, and would make the slow-path code smaller.\n\n(Not that the slow-path really matters to that degree. Saving a few\nunnecessary registers is the _least_ of our problems when we hit the slow\npath. The instruction/cycle counting really only matters in the fast\npath).\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1001121810410.17145@localhost.localdomain\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "7269e8812a59f74fb1ce134465d0bcf5683b93a1",
      "tree": "cfa0022a98907232edc8ffbe145926a272da14f1",
      "parents": [
        "1b1d9258181bae199dc940f4bd0298126b9a73d9"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Fri Dec 18 16:16:03 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 30 11:57:32 2009 +0100"
      },
      "message": "x86-64: Modify memcpy()/memset() alternatives mechanism\n\nIn order to avoid unnecessary chains of branches, rather than\nimplementing memcpy()/memset()\u0027s access to their alternative\nimplementations via a jump, patch the (larger) original function\ndirectly.\n\nThe memcpy() part of this is slightly subtle: while alternative\ninstruction patching does itself use memcpy(), with the\nreplacement block being less than 64-bytes in size the main loop\nof the original function doesn\u0027t get used for copying memcpy_c()\nover memcpy(), and hence we can safely write over its beginning.\n\nAlso note that the CFI annotations are fine for both variants of\neach of the functions.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c4B2BB8D30200007800026AF2@vpn.id2.novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1b1d9258181bae199dc940f4bd0298126b9a73d9",
      "tree": "b17ca149d943051fc76e79b75fc4b89c61b524a2",
      "parents": [
        "499a5f1efa0b0ac56ec5d060412aed84ae68e63e"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Fri Dec 18 16:12:56 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 30 11:57:31 2009 +0100"
      },
      "message": "x86-64: Modify copy_user_generic() alternatives mechanism\n\nIn order to avoid unnecessary chains of branches, rather than\nimplementing copy_user_generic() as a function consisting of\njust a single (possibly patched) branch, instead properly deal\nwith patching call instructions in the alternative instructions\nframework, and move the patching into the callers.\n\nAs a follow-on, one could also introduce something like\n__EXPORT_SYMBOL_ALT() to avoid patching call sites in modules.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c4B2BB8180200007800026AE7@vpn.id2.novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3981e152864fcc1dbbb564e1f4c0ae11a09639d2",
      "tree": "76c767a9b25e294c3cc8edd9870304b845cabdd9",
      "parents": [
        "aac3d39693529ca538e37ebdb6ed5d6432a697c7",
        "18374d89e5fe96772102f44f535efb1198d9be08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:48:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:48:14 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, irq: Allow 0xff for /proc/irq/[n]/smp_affinity on an 8-cpu system\n  Makefile: Unexport LC_ALL instead of clearing it\n  x86: Fix objdump version check in arch/x86/tools/chkobjdump.awk\n  x86: Reenable TSC sync check at boot, even with NONSTOP_TSC\n  x86: Don\u0027t use POSIX character classes in gen-insn-attr-x86.awk\n  Makefile: set LC_CTYPE, LC_COLLATE, LC_NUMERIC to C\n  x86: Increase MAX_EARLY_RES; insufficient on 32-bit NUMA\n  x86: Fix checking of SRAT when node 0 ram is not from 0\n  x86, cpuid: Add \"volatile\" to asm in native_cpuid()\n  x86, msr: msrs_alloc/free for CONFIG_SMP\u003dn\n  x86, amd: Get multi-node CPU info from NodeId MSR instead of PCI config space\n  x86: Add IA32_TSC_AUX MSR and use it\n  x86, msr/cpuid: Register enough minors for the MSR and CPUID drivers\n  initramfs: add missing decompressor error check\n  bzip2: Add missing checks for malloc returning NULL\n  bzip2/lzma/gzip: pre-boot malloc doesn\u0027t return NULL on failure\n"
    },
    {
      "commit": "6ede31e03084ee084bcee073ef3d1136f68d0906",
      "tree": "b10344809c72de850c11701cdbc0194d042fb79a",
      "parents": [
        "9d260ebc09a0ad6b5c73e17676df42c7bc75ff64"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@googlemail.com",
        "time": "Thu Dec 17 00:16:25 2009 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Dec 16 15:36:32 2009 -0800"
      },
      "message": "x86, msr: msrs_alloc/free for CONFIG_SMP\u003dn\n\nRandy Dunlap reported the following build error:\n\n\"When CONFIG_SMP\u003dn, CONFIG_X86_MSR\u003dm:\n\nERROR: \"msrs_free\" [drivers/edac/amd64_edac_mod.ko] undefined!\nERROR: \"msrs_alloc\" [drivers/edac/amd64_edac_mod.ko] undefined!\"\n\nThis is due to the fact that \u003carch/x86/lib/msr.c\u003e is conditioned on\nCONFIG_SMP and in the UP case we have only the stubs in the header.\nFork off SMP functionality into a new file (msr-smp.c) and build\nmsrs_{alloc,free} unconditionally.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nLKML-Reference: \u003c20091216231625.GD27228@liondog.tnic\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "75b08038ceb62f3bd8935346679920f97c3cf9f6",
      "tree": "66cbc62bb569996c90877bbf010285828f669c9a",
      "parents": [
        "fb1beb29b5c531b12485d7c32174a77120590481",
        "70fe440718d9f42bf963c2cffe12008eb5556165"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 12:36:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 12:36:46 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, mce: Clean up thermal init by introducing intel_thermal_supported()\n  x86, mce: Thermal monitoring depends on APIC being enabled\n  x86: Gart: fix breakage due to IOMMU initialization cleanup\n  x86: Move swiotlb initialization before dma32_free_bootmem\n  x86: Fix build warning in arch/x86/mm/mmio-mod.c\n  x86: Remove usedac in feature-removal-schedule.txt\n  x86: Fix duplicated UV BAU interrupt vector\n  nvram: Fix write beyond end condition; prove to gcc copy is safe\n  mm: Adjust do_pages_stat() so gcc can see copy_from_user() is safe\n  x86: Limit the number of processor bootup messages\n  x86: Remove enabling x2apic message for every CPU\n  doc: Add documentation for bootloader_{type,version}\n  x86, msr: Add support for non-contiguous cpumasks\n  x86: Use find_e820() instead of hard coded trampoline address\n  x86, AMD: Fix stale cpuid4_info shared_map data in shared_cpu_map cpumasks\n\nTrivial percpu-naming-introduced conflicts in arch/x86/kernel/cpu/intel_cacheinfo.c\n"
    }
  ],
  "next": "6f696eb17be741668810fe1f798135c7cf6733e2"
}
