)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "6f696eb17be741668810fe1f798135c7cf6733e2",
      "tree": "f9bcfe5831dfcaaad50ca68d7f04d80d8236fa56",
      "parents": [
        "c4e194e3b71ff4fed01d727c32ee1071921d28a3",
        "125580380f418000b1a06d9a54700f1191b6e561"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:47:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:47:30 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (57 commits)\n  x86, perf events: Check if we have APIC enabled\n  perf_event: Fix variable initialization in other codepaths\n  perf kmem: Fix unused argument build warning\n  perf symbols: perf_header__read_build_ids() offset\u0027n\u0027size should be u64\n  perf symbols: dsos__read_build_ids() should read both user and kernel buildids\n  perf tools: Align long options which have no short forms\n  perf kmem: Show usage if no option is specified\n  sched: Mark sched_clock() as notrace\n  perf sched: Add max delay time snapshot\n  perf tools: Correct size given to memset\n  perf_event: Fix perf_swevent_hrtimer() variable initialization\n  perf sched: Fix for getting task\u0027s execution time\n  tracing/kprobes: Fix field creation\u0027s bad error handling\n  perf_event: Cleanup for cpu_clock_perf_event_update()\n  perf_event: Allocate children\u0027s perf_event_ctxp at the right time\n  perf_event: Clean up __perf_event_init_context()\n  hw-breakpoints: Modify breakpoints without unregistering them\n  perf probe: Update perf-probe document\n  perf probe: Support --del option\n  trace-kprobe: Support delete probe syntax\n  ...\n"
    },
    {
      "commit": "505422517d3f126bb939439e9d15dece94e11d2c",
      "tree": "a2d58c0b3cdf2b1c6b66eee6d78a283224ae1ac3",
      "parents": [
        "5c6baba84e1ac6a79b266b40e17e692aab6604a1"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri Dec 11 18:14:40 2009 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Dec 11 10:59:21 2009 -0800"
      },
      "message": "x86, msr: Add support for non-contiguous cpumasks\n\nThe current rd/wrmsr_on_cpus helpers assume that the supplied\ncpumasks are contiguous. However, there are machines out there\nlike some K8 multinode Opterons which have a non-contiguous core\nenumeration on each node (e.g. cores 0,2 on node 0 instead of 0,1), see\nhttp://www.gossamer-threads.com/lists/linux/kernel/1160268.\n\nThis patch fixes out-of-bounds writes (see URL above) by adding per-CPU\nmsr structs which are used on the respective cores.\n\nAdditionally, two helpers, msrs_{alloc,free}, are provided for use by\nthe callers of the MSR accessors.\n\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nCc: Aristeu Rozanski \u003caris@redhat.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Doug Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nLKML-Reference: \u003c20091211171440.GD31998@aftab\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "d32ba45503acf9c23b301eba2397ca2ee322627b",
      "tree": "bb5d0de655f422daf54c664c0a910e1d0c60efda",
      "parents": [
        "cbe5c34c8c1f8ed1afbe6273f4ad57fcfad7822f"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Mon Dec 07 12:00:33 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 07 18:33:19 2009 +0100"
      },
      "message": "x86 insn: Delete empty or incomplete inat-tables.c\n\nDelete empty or incomplete inat-tables.c if gen-insn-attr-x86.awk\nfailed, because it causes a build error if user tries to build\nkernel next time.\n\nReported-by: Arkadiusz Miskiewicz \u003carekm@maven.pl\u003e\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: systemtap \u003csystemtap@sources.redhat.com\u003e\nCc: DLE \u003cdle-develop@lists.sourceforge.net\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091207170033.19230.37688.stgit@dhcp-100-2-132.bos.redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cbe5c34c8c1f8ed1afbe6273f4ad57fcfad7822f",
      "tree": "01bde4e897a31940c734b078fa88b4fd92285a07",
      "parents": [
        "180570fdb7a3c404b599f0a318c2ccf86e4827ed"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sun Dec 06 20:14:29 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 07 08:31:28 2009 +0100"
      },
      "message": "x86: Compile insn.c and inat.c only for KPROBES\n\nAt least, insn.c and inat.c is needed for kprobe for now. So,\nthis compile those only if KPROBES is enabled.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nLKML-Reference: \u003c878wdg8icq.fsf@devron.myhome.or.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "83be7d764dc4b860712e392197ec27645f9d74a8",
      "tree": "9d6f0a8e9e57478b206e033bbb264b739fe2b130",
      "parents": [
        "c2ed69cdc9da49a8d2d7b4212fd225abf902ceaa",
        "0d0fbbddcc27c062815732b38c44b544e656c799"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:32:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:32:35 2009 -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, msr, cpumask: Use struct cpumask rather than the deprecated cpumask_t\n  x86, cpuid: Simplify the code in cpuid_open\n  x86, cpuid: Remove the bkl from cpuid_open()\n  x86, msr: Remove the bkl from msr_open()\n  x86: AMD Geode LX optimizations\n  x86, msr: Unify rdmsr_on_cpus/wrmsr_on_cpus\n"
    },
    {
      "commit": "ef26b1691d11e17af205a4ff9c91458d931d11db",
      "tree": "5db199f404ca18f6c9e8617b684e9165ca365e30",
      "parents": [
        "a77d2e081bbbccb38f42da45500dd089756efdfb",
        "7cff7ce94a7df2ccf5ac76b48ee0995fee2060df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:32:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:32:03 2009 -0800"
      },
      "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  include/linux/compiler-gcc4.h: Fix build bug - gcc-4.0.2 doesn\u0027t understand __builtin_object_size\n  x86/alternatives: No need for alternatives-asm.h to re-invent stuff already in asm.h\n  x86/alternatives: Check replacementlen \u003c\u003d instrlen at build time\n  x86, 64-bit: Set data segments to null after switching to 64-bit mode\n  x86: Clean up the loadsegment() macro\n  x86: Optimize loadsegment()\n  x86: Add missing might_fault() checks to copy_{to,from}_user()\n  x86-64: __copy_from_user_inatomic() adjustments\n  x86: Remove unused thread_return label from switch_to()\n  x86, 64-bit: Fix bstep_iret jump\n  x86: Don\u0027t use the strict copy checks when branch profiling is in use\n  x86, 64-bit: Move K8 B step iret fixup to fault entry asm\n  x86: Generate cmpxchg build failures\n  x86: Add a Kconfig option to turn the copy_from_user warnings into errors\n  x86: Turn the copy_from_user check into an (optional) compile time warning\n  x86: Use __builtin_memset and __builtin_memcpy for memset/memcpy\n  x86: Use __builtin_object_size() to validate the buffer size for copy_from_user()\n"
    },
    {
      "commit": "3c93ca00eeeb774c7dd666cc7286a9e90c53e998",
      "tree": "5f89fe4a22ab1394278e3fc4e9698b0c2327a97b",
      "parents": [
        "14722485830fe6baba738b91d96f06fbd6cf7a18"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Nov 16 15:42:18 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 16 16:09:52 2009 +0100"
      },
      "message": "x86: Add missing might_fault() checks to copy_{to,from}_user()\n\nOn x86-64, copy_[to|from]_user() rely on assembly routines that\nnever call might_fault(), making us missing various lockdep\nchecks.\n\nThis doesn\u0027t apply to __copy_from,to_user() that explicitly\nhandle these calls, neither is it a problem in x86-32 where\ncopy_to,from_user() rely on the \"__\" prefixed versions that\nalso call might_fault().\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1258382538-30979-1-git-send-email-fweisbec@gmail.com\u003e\n[ v2: fix module export ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "14722485830fe6baba738b91d96f06fbd6cf7a18",
      "tree": "97a8d0033ecc080e43afcc4d41e0cf9144d4dbe9",
      "parents": [
        "c12a229bc5971534537a7d0e49e44f9f1f5d0336"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Fri Nov 13 11:56:24 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 15 09:29:47 2009 +0100"
      },
      "message": "x86-64: __copy_from_user_inatomic() adjustments\n\nThis v2.6.26 commit:\n\n    ad2fc2c: x86: fix copy_user on x86\n\nrendered __copy_from_user_inatomic() identical to\ncopy_user_generic(), yet didn\u0027t make the former just call the\nlatter from an inline function.\n\nFurthermore, this v2.6.19 commit:\n\n    b885808: [PATCH] Add proper sparse __user casts to __copy_to_user_inatomic\n\nconverted the return type of __copy_to_user_inatomic() from\nunsigned long to int, but didn\u0027t do the same to\n__copy_from_user_inatomic().\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: \u003cv.mayatskih@gmail.com\u003e\nLKML-Reference: \u003c4AFD5778020000780001F8F4@vpn.id2.novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "09879b99d44d701c603935ef2549004405d7f8f9",
      "tree": "2e9be0239b5c25a52809ad832a79366fb412e2e7",
      "parents": [
        "77b44d1b7c28360910cdbd427fb62d485c08674c"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Wed Nov 04 12:58:15 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 04 13:11:28 2009 +0100"
      },
      "message": "x86: Gitignore: arch/x86/lib/inat-tables.c\n\nIgnore generated file arch/x86/lib/inat-tables.c.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nLKML-Reference: \u003c4AF0FBD7.7000501@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f7e454af1dd8b9cea410d9380d3f71477e94f2b",
      "tree": "3b119f46e0a919900e600f7dee5ff51b649040c0",
      "parents": [
        "e0e492e99b372c6990a5daca9e4683c341f1330e"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Oct 27 16:42:35 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 08:47:47 2009 +0100"
      },
      "message": "x86: Add Intel FMA instructions to x86 opcode map\n\nAdd Intel FMA(FUSED-MULTIPLY-ADD) instructions to x86 opcode map\nfor x86 instruction decoder.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20091027204235.30545.33997.stgit@harusame\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0e492e99b372c6990a5daca9e4683c341f1330e",
      "tree": "79704aa82391ff2f54d92fe11b1b7958b09a5bb8",
      "parents": [
        "82cb57028c864822c5a260f806d051e2ce28c86a"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Oct 27 16:42:27 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 08:47:46 2009 +0100"
      },
      "message": "x86: AVX instruction set decoder support\n\nAdd Intel AVX(Advanced Vector Extensions) instruction set\nsupport to x86 instruction decoder. This adds insn.vex_prefix\nfield for storing VEX prefixes, and introduces some original\ntags for expressing opcodes attributes.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20091027204226.30545.23451.stgit@harusame\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "82cb57028c864822c5a260f806d051e2ce28c86a",
      "tree": "14766c97266c116f750a6d954ed1b0346eeba285",
      "parents": [
        "04d46c1b13b02e1e5c24eb270a01cf3f94ee4d04"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Oct 27 16:42:19 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 08:47:46 2009 +0100"
      },
      "message": "x86: Add pclmulq to x86 opcode map\n\nAdd pclmulq opcode to x86 opcode map.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20091027204219.30545.82039.stgit@harusame\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04d46c1b13b02e1e5c24eb270a01cf3f94ee4d04",
      "tree": "b5a4b8c1229b1b1defe2d6671319ff0cfbe21ada",
      "parents": [
        "7f387d3f2421781610588faa2f49ae5f1737b137"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Oct 27 16:42:11 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 08:47:45 2009 +0100"
      },
      "message": "x86: Merge INAT_REXPFX into INAT_PFX_*\n\nMerge INAT_REXPFX into INAT_PFX_* macro and rename it to\nINAT_PFX_REX.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20091027204211.30545.58090.stgit@harusame\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f387d3f2421781610588faa2f49ae5f1737b137",
      "tree": "5387bd4bd29da957527ea6a6a7f49fde5739ea9b",
      "parents": [
        "b7cb10e790fbd145296e771f789273a875c15719"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Oct 27 16:42:04 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 08:47:45 2009 +0100"
      },
      "message": "x86: Fix SSE opcode map bug\n\nFix superscripts position because some superscripts of SSE\nopcode are not put in correct position.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20091027204204.30545.97296.stgit@harusame\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9983d60d74db9e544c6cb6f65351849fe8e9c1de",
      "tree": "6d49ff1a139212bdf293f64e05ee4424ea10353d",
      "parents": [
        "06ed6ba5ecb771cc3a967838a4bb1d9cbd8786b9"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Oct 20 12:55:31 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 21 13:25:29 2009 +0200"
      },
      "message": "x86: Add AES opcodes to opcode map\n\nAdd Intel AES opcodes to x86 opcode map. These opcodes are\nused in arch/x86/crypt/aesni-intel_asm.S.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: systemtap\u003csystemtap@sources.redhat.com\u003e\nCc: DLE \u003cdle-develop@lists.sourceforge.net\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091020165531.4145.21872.stgit@dhcp-100-2-132.bos.redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "06ed6ba5ecb771cc3a967838a4bb1d9cbd8786b9",
      "tree": "834daccaa9896bddaabf9aefc6ab549aafd5da42",
      "parents": [
        "bb3c3e807140816b5f5fd4840473ee52a916ad4f"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Oct 20 12:55:24 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 21 13:25:28 2009 +0200"
      },
      "message": "x86: Fix group attribute decoding bug\n\nFix a typo in inat_get_group_attribute() which should refer\ninat_group_tables, not inat_escape_tables.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: systemtap\u003csystemtap@sources.redhat.com\u003e\nCc: DLE \u003cdle-develop@lists.sourceforge.net\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091020165524.4145.97333.stgit@dhcp-100-2-132.bos.redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb3c3e807140816b5f5fd4840473ee52a916ad4f",
      "tree": "9e8a69d266a7df86ca16177eefffab4b4e910753",
      "parents": [
        "595c36490deb49381dc51231a3d5e6b66786ed27",
        "012abeea669ea49636cf952d13298bb68654146a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 17 09:58:25 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 17 09:58:25 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.32-rc5\u0027 into perf/probes\n\nConflicts:\n\tkernel/trace/trace_event_profile.c\n\nMerge reason: update to -rc5 and resolve conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d1baf5a5a6088e2991b7dbbd370ff200bd6615ce",
      "tree": "73d733aa6ae1f511049f11d5c19a3354fdf641dd",
      "parents": [
        "8c95bc3e206cff7a55edd2fc5f0e2b305d57903f"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Fri Oct 16 20:07:44 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 17 09:53:59 2009 +0200"
      },
      "message": "x86: Add AMD prefetch and 3DNow! opcodes to opcode map\n\nAdd AMD prefetch and 3DNow! opcode including FEMMS. Since 3DNow!\nuses the last immediate byte as an opcode extension byte, x86\ninsn just treats the extenstion byte as an immediate byte\ninstead of a part of opcode (insn_get_opcode() decodes first\n\"0x0f 0x0f\" bytes.)\n\nUsers who are interested in analyzing 3DNow! opcode still can\ndecode it by analyzing the immediate byte.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20091017000744.16556.27881.stgit@dhcp-100-2-132.bos.redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8c95bc3e206cff7a55edd2fc5f0e2b305d57903f",
      "tree": "db87c4a9c8d4c0e1d1137bc72389334b6d0e61dd",
      "parents": [
        "e63cc2397ecc0f2b604f22fb9cdbb05911c1e5d4"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Fri Oct 16 20:07:36 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 17 09:53:58 2009 +0200"
      },
      "message": "x86: Add MMX/SSE opcode groups to opcode map\n\nAdd missing MMX/SSE opcode groups to x86 opcode map.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20091017000736.16556.29061.stgit@dhcp-100-2-132.bos.redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c0b11d3af164947c71e2491912c5b8418900dafb",
      "tree": "debe2ccb5e3e4402124d614fba5470d981157f79",
      "parents": [
        "a1a138d05fa060ac4238c19a1e890aacc25ed3ba"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Fri Sep 25 11:20:38 2009 -0700"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Oct 03 02:43:00 2009 +0200"
      },
      "message": "x86: Add VIA processor instructions in opcodes decoder\n\nAdd VIA processor\u0027s Padlock instructions(MONTMUL, XSHA1, XSHA256)\nas parts of the kernel may use them.\n\nThis fixes the following crash in opcodes decoder selftests:\n\n make[2]: `scripts/unifdef\u0027 is up to date.\n   TEST    posttest\n Error: c145cf71:        f3 0f a6 d0             repz xsha256\n Error: objdump says 4 bytes, but insn_get_length() says 3 (attr:0)\n make[1]: *** [posttest] Error 2\n make: *** [bzImage] Error 2\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c20090925182037.10157.3180.stgit@omoto\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "4a3127693001c61a21d1ce680db6340623f52e93",
      "tree": "380f5f64098926e8b3f64785580cfdac1b8b3b96",
      "parents": [
        "ff60fab71bb3b4fdbf8caf57ff3739ffd0887396"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Wed Sep 30 13:05:23 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 01 11:31:04 2009 +0200"
      },
      "message": "x86: Turn the copy_from_user check into an (optional) compile time warning\n\nA previous patch added the buffer size check to copy_from_user().\n\nOne of the things learned from analyzing the result of the previous\npatch is that in general, gcc is really good at proving that the\ncode contains sufficient security checks to not need to do a\nruntime check. But that for those cases where gcc could not prove\nthis, there was a relatively high percentage of real security\nissues.\n\nThis patch turns the case of \"gcc cannot prove\" into a compile time\nwarning, as long as a sufficiently new gcc is in use that supports\nthis. The objective is that these warnings will trigger developers\nchecking new cases out before a security hole enters a linux kernel\nrelease.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nLKML-Reference: \u003c20090930130523.348ae6c4@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04edbdef02ec4386a2ae38cab7ae7d166e17a756",
      "tree": "4814b5f91000bcd730b0c21e072835b10b1ab641",
      "parents": [
        "d1716a60a8ea90788d24aa22d7eec83fbdd2d88a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 01 07:30:38 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 01 08:42:24 2009 +0200"
      },
      "message": "x86: Don\u0027t generate cmpxchg8b_emu if CONFIG_X86_CMPXCHG64\u003dy\n\nConditionaly compile cmpxchg8b_emu.o and EXPORT_SYMBOL(cmpxchg8b_emu).\n\nThis reduces the kernel size a bit.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c4AC43E7E.1000600@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "79e1dd05d1a22e95ab6d54d21836f478b3b56976",
      "tree": "03f9ff44af91de79c33abec468dd278d9cde83d4",
      "parents": [
        "17d857be649a21ca90008c6dc425d849fa83db5c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Wed Sep 30 17:07:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 30 22:55:59 2009 +0200"
      },
      "message": "x86: Provide an alternative() based cmpxchg64()\n\ncmpxchg64() today generates, to quote Linus, \"barf bag\" code.\n\ncmpxchg64() is about to get used in the scheduler to fix a bug there,\nbut it\u0027s a prerequisite that cmpxchg64() first be made non-sucking.\n\nThis patch turns cmpxchg64() into an efficient implementation that\nuses the alternative() mechanism to just use the raw instruction on\nall modern systems.\n\nNote: the fallback is NOT smp safe, just like the current fallback\nis not SMP safe. (Interested parties with i486 based SMP systems\nare welcome to submit fix patches for that.)\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n[ fixed asm constraint bug ]\nFixed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090930170754.0886ff2e@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f0cf4adb6aa0bfccf675c938124e68f7f06349d",
      "tree": "2045a8fa0b207a8adb288eb144c593db7d1f2f0b",
      "parents": [
        "704daf55c7297e727021063cb5d8ba1c55b84426"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Sep 26 14:33:01 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 26 16:25:41 2009 +0200"
      },
      "message": "x86: Use __builtin_object_size() to validate the buffer size for copy_from_user()\n\ngcc (4.x) supports the __builtin_object_size() builtin, which\nreports the size of an object that a pointer point to, when known\nat compile time. If the buffer size is not known at compile time, a\nconstant -1 is returned.\n\nThis patch uses this feature to add a sanity check to\ncopy_from_user(); if the target buffer is known to be smaller than\nthe copy size, the copy is aborted and a WARNing is emitted in\nmemory debug mode.\n\nThese extra checks compile away when the object size is not known,\nor if both the buffer size and the copy length are constants.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nLKML-Reference: \u003c20090926143301.2c396b94@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7a4b414eed51f1653bb05ebe84122bf9a7ae18b",
      "tree": "bd6603a0c27de4c138a1767871897e9cd3e1a1d2",
      "parents": [
        "1f0ab40976460bc4673fa204ce917a725185d8f2",
        "a724eada8c2a7b62463b73ccf73fd0bb6e928aeb"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 23 23:08:43 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 23 23:08:43 2009 +0200"
      },
      "message": "Merge commit \u0027linus/master\u0027 into tracing/kprobes\n\nConflicts:\n\tkernel/trace/Makefile\n\tkernel/trace/trace.h\n\tkernel/trace/trace_event_types.h\n\tkernel/trace/trace_export.c\n\nMerge reason:\n\tSync with latest significant tracing core changes.\n"
    },
    {
      "commit": "b8a4754147d61f5359a765a3afd3eb03012aa052",
      "tree": "96cafcc008b5367810adbaa2d3d501210568be84",
      "parents": [
        "0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Thu Jul 30 11:10:02 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 09:15:54 2009 +0200"
      },
      "message": "x86, msr: Unify rdmsr_on_cpus/wrmsr_on_cpus\n\nSince rdmsr_on_cpus and wrmsr_on_cpus are almost identical, unify them\ninto a common __rwmsr_on_cpus helper thus avoiding code duplication.\n\nWhile at it, convert cpumask_t\u0027s to const struct cpumask *.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f12b4f546b4e327d5620a544a2bddab68de66027",
      "tree": "f4c4a9b19e4633efed77a365e89666e54dd12838",
      "parents": [
        "8f8ffe2485bcaa890800681451d380779cea06af"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Sep 08 12:32:46 2009 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Sep 11 01:12:34 2009 +0200"
      },
      "message": "x86: Add MMX support for instruction decoder\n\nAdd MMX/SSE instructions to x86 opcode maps, since some of those\ninstructions are used in the kernel.\n\nThis also fixes failures in the x86 instruction decoder seftest.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20090908163246.23516.78835.stgit@dhcp-100-2-132.bos.redhat.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "b19ae3999891cad21a3995c34d313dda5df014e2",
      "tree": "6a82be9eda154f03e7cbb67f2483f54a4d596082",
      "parents": [
        "0d96b9ff748b5f57d6f1d6d21209f5745245aadc"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Sep 04 10:00:09 2009 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Sep 04 10:00:09 2009 -0700"
      },
      "message": "x86, msr: change msr-reg.o to obj-y, and export its symbols\n\nChange msr-reg.o to obj-y (it will be included in virtually every\nkernel since it is used by the initialization code for AMD processors)\nand add a separate C file to export its symbols to modules, so that\nmsr.ko can use them; on uniprocessors we bypass the helper functions\nin msr.o and use the accessor functions directly via inlines.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nLKML-Reference: \u003c20090904140834.GA15789@elte.hu\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\n"
    },
    {
      "commit": "8adf65cfae2d6c2ec5c06e4521f089c62f9eff05",
      "tree": "9212de598bfcc61652e4652b214a2c4622d0451e",
      "parents": [
        "ae4b688db2432baad379f73fdcac13ec24f603d5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 03 21:26:34 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 03 21:26:34 2009 +0200"
      },
      "message": "x86, msr: Fix msr-reg.S compilation with gas 2.16.1, on 32-bit too\n\nThe macro was defined in the 32-bit path as well - breaking the\nbuild on 32-bit platforms:\n\n  arch/x86/lib/msr-reg.S: Assembler messages:\n  arch/x86/lib/msr-reg.S:53: Error: Bad macro parameter list\n  arch/x86/lib/msr-reg.S:100: Error: invalid character \u0027_\u0027 in mnemonic\n  arch/x86/lib/msr-reg.S:101: Error: invalid character \u0027_\u0027 in mnemonic\n\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nLKML-Reference: \u003ctip-f6909f394c2d4a0a71320797df72d54c49c5927e@git.kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f6909f394c2d4a0a71320797df72d54c49c5927e",
      "tree": "d8bd3a13115de6bb9cadd8989b282d57f4519119",
      "parents": [
        "c931aaf0e1b11862077f6884b2cec22833080e23"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Sep 01 13:31:52 2009 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Sep 01 13:37:21 2009 -0700"
      },
      "message": "x86, msr: fix msr-reg.S compilation with gas 2.16.1\n\nmsr-reg.S used the :req option on a macro argument, which wasn\u0027t\nsupported by gas 2.16.1 (but apparently by some earlier versions of\ngas, just to be confusing.)  It isn\u0027t necessary, so just remove it.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\n"
    },
    {
      "commit": "8b956bf1f0f2b552ed93cf6cafe823edff298b3b",
      "tree": "0a4dcb17d4107a606f3e549f52db492aaf7d1cd2",
      "parents": [
        "0cc0213e73af5963eca259c84876937c20689dbd"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 31 14:13:48 2009 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 31 16:15:57 2009 -0700"
      },
      "message": "x86, msr: Create _on_cpu helpers for {rw,wr}msr_safe_regs()\n\nCreate _on_cpu helpers for {rw,wr}msr_safe_regs() analogously with the\nother MSR functions.  This will be necessary to add support for these\nto the MSR driver.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\n"
    },
    {
      "commit": "79c5dca3619d6ae15815eec14cd7a43db5f38b47",
      "tree": "f2a10abc4862d1812a08dcb44bc5a7a8a78ec57f",
      "parents": [
        "709972b1f6f70535d1fddbe1243a51b90c408a1c"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 31 13:59:53 2009 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 31 15:14:47 2009 -0700"
      },
      "message": "x86, msr: CFI annotations, cleanups for msr-reg.S\n\nAdd CFI annotations for native_{rd,wr}msr_safe_regs().\nSimplify the 64-bit implementation: we don\u0027t allow the upper half\nregisters to be set, and so we can use them to carry state across the\noperation.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nLKML-Reference: \u003c1251705011-18636-1-git-send-email-petkovbb@gmail.com\u003e\n"
    },
    {
      "commit": "132ec92f3f70fe365c1f4b8d46e66cf8a2a16880",
      "tree": "f8e3f3ab5541f583030b0bcd5f3f81ca338f77a2",
      "parents": [
        "366d19e181be873c70f4aafca3931d77d781ccd7"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "petkovbb@googlemail.com",
        "time": "Mon Aug 31 09:50:09 2009 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 31 15:14:26 2009 -0700"
      },
      "message": "x86, msr: Add rd/wrmsr interfaces with preset registers\n\nnative_{rdmsr,wrmsr}_safe_regs are two new interfaces which allow\npresetting of a subset of eight x86 GPRs before executing the rd/wrmsr\ninstructions. This is needed at least on AMD K8 for accessing an erratum\nworkaround MSR.\n\nOriginally based on an idea by H. Peter Anvin.\n\nSigned-off-by: Borislav Petkov \u003cpetkovbb@gmail.com\u003e\nLKML-Reference: \u003c1251705011-18636-1-git-send-email-petkovbb@gmail.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "eb13296cfaf6c699566473669a96a38a90562384",
      "tree": "466c44bf0a747effaf85ec13dbf75ae857449bfd",
      "parents": [
        "35dce1a99d010f3d738af4ce1b9b77302fdfe69c"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu Aug 13 16:34:13 2009 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Aug 27 00:35:56 2009 +0200"
      },
      "message": "x86: Instruction decoder API\n\nAdd x86 instruction decoder to arch-specific libraries. This decoder\ncan decode x86 instructions used in kernel into prefix, opcode, modrm,\nsib, displacement and immediates. This can also show the length of\ninstructions.\n\nThis version introduces instruction attributes for decoding\ninstructions.\nThe instruction attribute tables are generated from the opcode map file\n(x86-opcode-map.txt) by the generator script(gen-insn-attr-x86.awk).\n\nCurrently, the opcode maps are based on opcode maps in Intel(R) 64 and\nIA-32 Architectures Software Developers Manual Vol.2: Appendix.A,\nand consist of below two types of opcode tables.\n\n1-byte/2-bytes/3-bytes opcodes, which has 256 elements, are\nwritten as below;\n\n Table: table-name\n Referrer: escaped-name\n opcode: mnemonic|GrpXXX [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...]\n  (or)\n opcode: escape # escaped-name\n EndTable\n\nGroup opcodes, which has 8 elements, are written as below;\n\n GrpTable: GrpXXX\n reg:  mnemonic [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...]\n EndTable\n\nThese opcode maps include a few SSE and FP opcodes (for setup), because\nthose opcodes are used in the kernel.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: K.Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Przemysław Pawełczyk \u003cprzemyslaw@pawelczyk.it\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nLKML-Reference: \u003c20090813203413.31965.49709.stgit@localhost.localdomain\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "bab9a3da93bfe09c609407dedae5708b07a7ac56",
      "tree": "52cdc6453358cc711664bc55f68acd9e81488720",
      "parents": [
        "d2ba8b211bb8abc29aa627dbd4dce08cfbc8082b"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Thu Jul 30 11:10:01 2009 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 03 14:48:13 2009 -0700"
      },
      "message": "x86, msr: execute on the correct CPU subset\n\nMake rdmsr_on_cpus/wrmsr_on_cpus execute on the current CPU only if it\nis in the supplied bitmask.\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "69ca06c9454169c4a9303e8834adae9080f94859",
      "tree": "d713fe8ac3ada06c0989706e237f6e6176396347",
      "parents": [
        "9f2d8be4266f8861af806d964ae5db2949b670f3",
        "32f2e807a3938b24d0831211e6094f9e44b2fc83"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 10 14:29:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 10 14:29:58 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  cfq-iosched: reset oom_cfqq in cfq_set_request()\n  block: fix sg SG_DXFER_TO_FROM_DEV regression\n  block: call blk_scsi_ioctl_init()\n  Fix congestion_wait() sync/async vs read/write confusion\n"
    },
    {
      "commit": "85be928c4101670f99cdd7c927798aa4dcbb3168",
      "tree": "91befa19ca6da9edf74040bd1fd0cf68ab0cea4c",
      "parents": [
        "d86ee4809d0329d4aa0d0f2c76c2295a16862799",
        "805d127d62472f17c7d79baa001a7651afe2fa47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 10 14:25:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 10 14:25:03 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (50 commits)\n  perf report: Add \"Fractal\" mode output - support callchains with relative overhead rate\n  perf_counter tools: callchains: Manage the cumul hits on the fly\n  perf report: Change default callchain parameters\n  perf report: Use a modifiable string for default callchain options\n  perf report: Warn on callchain output request from non-callchain file\n  x86: atomic64: Inline atomic64_read() again\n  x86: atomic64: Clean up atomic64_sub_and_test() and atomic64_add_negative()\n  x86: atomic64: Improve atomic64_xchg()\n  x86: atomic64: Export APIs to modules\n  x86: atomic64: Improve atomic64_read()\n  x86: atomic64: Code atomic(64)_read and atomic(64)_set in C not CPP\n  x86: atomic64: Fix unclean type use in atomic64_xchg()\n  x86: atomic64: Make atomic_read() type-safe\n  x86: atomic64: Reduce size of functions\n  x86: atomic64: Improve atomic64_add_return()\n  x86: atomic64: Improve cmpxchg8b()\n  x86: atomic64: Improve atomic64_read()\n  x86: atomic64: Move the 32-bit atomic64_t implementation to a .c file\n  x86: atomic64: The atomic64_t data type should be 8 bytes aligned on 32-bit too\n  perf report: Annotate variable initialization\n  ...\n"
    },
    {
      "commit": "8aa7e847d834ed937a9ad37a0f2ad5b8584c1ab0",
      "tree": "76c8b4f1362a928d426f2201790ab5d128f57724",
      "parents": [
        "c2cc49a2f8a479dde96a599646d30b6cc9dbed78"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 09 14:52:32 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.(none)",
        "time": "Fri Jul 10 20:31:53 2009 +0200"
      },
      "message": "Fix congestion_wait() sync/async vs read/write confusion\n\nCommit 1faa16d22877f4839bd433547d770c676d1d964c accidentally broke\nthe bdi congestion wait queue logic, causing us to wait on congestion\nfor WRITE (\u003d\u003d 1) when we really wanted BLK_RW_ASYNC (\u003d\u003d 0) instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a79f0da80a508448434476b77f9d3d1a469eab67",
      "tree": "1bf9c72a09d266d874a2e8f7c94fd81e8ad27feb",
      "parents": [
        "ddf9a003d32f720805ac30bcc15755e9289073de"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 03 16:50:10 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 04 11:45:00 2009 +0200"
      },
      "message": "x86: atomic64: Inline atomic64_read() again\n\nNow atomic64_read() is light weight (no register pressure and\nsmall icache), we can inline it again.\n\nAlso use \"\u003d\u0026A\" constraint instead of \"+A\" to avoid warning\nabout unitialized \u0027res\u0027 variable. (gcc had to force 0 in eax/edx)\n\n  $ size vmlinux.prev vmlinux.after\n     text    data     bss     dec     hex filename\n  4908667  451676 1684868 7045211  6b805b vmlinux.prev\n  4908651  451676 1684868 7045195  6b804b vmlinux.after\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003c4A4E1AA2.30002@gmail.com\u003e\n[ Also fix typo in atomic64_set() export ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ddf9a003d32f720805ac30bcc15755e9289073de",
      "tree": "d0281a0f66eee98bcf05a7038d2b0f2008809550",
      "parents": [
        "3a8d1788b37435baf6c296f4ea8beb4fa4955f44"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 20:11:30 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 21:15:08 2009 +0200"
      },
      "message": "x86: atomic64: Clean up atomic64_sub_and_test() and atomic64_add_negative()\n\nLinus noticed that the variable name \u0027old_val\u0027 is\nconfusingly named in these functions - the correct\nnaming is \u0027new_val\u0027.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907030942260.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3a8d1788b37435baf6c296f4ea8beb4fa4955f44",
      "tree": "0db4ee093c0d9c8cb66321945fc024e5b1d3a8fd",
      "parents": [
        "1fde902d52ee13ab9fab155bbae757fdf7daf0c1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 19:56:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 20:23:55 2009 +0200"
      },
      "message": "x86: atomic64: Improve atomic64_xchg()\n\nRemove the read-first logic from atomic64_xchg() and simplify\nthe loop.\n\nThis function was the last user of __atomic64_read() - remove it.\n\nAlso, change the \u0027real_val\u0027 assumption from the somewhat quirky\n1ULL \u003c\u003c 32 value to the (just as arbitrary, but simpler) value\nof 0.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003ctip-05118ab8859492ac9ddda0154cf90e37b0a4a0b0@git.kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1fde902d52ee13ab9fab155bbae757fdf7daf0c1",
      "tree": "79051f92959ab31aa26d0b13a8cb2b931e77b34a",
      "parents": [
        "67d7178f8fc64b7f68d7dd8a1b21dfa0d42c220c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 17:28:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 20:23:52 2009 +0200"
      },
      "message": "x86: atomic64: Export APIs to modules\n\natomic64_t primitives are used by a handful of drivers,\nso export the APIs consistently. These were inlined\nbefore.\n\nAlso mark atomic64_32.o a core object, so that the symbols\nare available even if not linked to core kernel pieces.\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003ctip-05118ab8859492ac9ddda0154cf90e37b0a4a0b0@git.kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "67d7178f8fc64b7f68d7dd8a1b21dfa0d42c220c",
      "tree": "d14adbf73d928b9c954d8ade1a3df8c61183fd95",
      "parents": [
        "8e049ef054f1cc765f05f13e1396bb9a17c19e66"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 03 13:23:02 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 14:42:59 2009 +0200"
      },
      "message": "x86: atomic64: Improve atomic64_read()\n\nOptimize atomic64_read() as a special open-coded\ncmpxchg8b variant. This generates nicer code:\n\narch/x86/lib/atomic64_32.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n    435\t      0\t      0\t    435\t    1b3\tatomic64_32.o.before\n    431\t      0\t      0\t    431\t    1af\tatomic64_32.o.after\n\nmd5:\n   bd8ab95e69c93518578bfaf0ea3be4d9  atomic64_32.o.before.asm\n   2bdfd4bd1f6b7b61b7fc127aef90ce3b  atomic64_32.o.after.asm\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3fd382cedfb4fb742a8cc17ba15288ec03131db1",
      "tree": "0168cb269fe5e5e916c625727ee20e6d250d1266",
      "parents": [
        "12b9d7ccb841805e347fec8f733f368f43ddba40"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Jul 02 07:27:20 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 14:34:17 2009 +0200"
      },
      "message": "x86: Add missing annotation to arch/x86/lib/copy_user_64.S::copy_to_user\n\nWhile examining symbol generation in perf_counter tools, I\nnoticed that copy_to_user() had no size in vmlinux\u0027s symtab.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nAcked-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nLKML-Reference: \u003c1246512440.13293.3.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "199e23780a7e75c63a9e3d1108804e3af450ea3e",
      "tree": "d9f117d53df2687f0f207c3ccd77506dfec83e8f",
      "parents": [
        "3217120873598533234b6dedda9c371ce30001d0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:02:39 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:46 2009 +0200"
      },
      "message": "x86: atomic64: Fix unclean type use in atomic64_xchg()\n\nLinus noticed that atomic64_xchg() uses atomic_read(), which\nhappens to work because atomic_read() is a macro so the\n.counter value gets u64-read on 32-bit too - but this is really\nbogus and serious bugs are waiting to happen.\n\nFix atomic64_xchg() to use __atomic64_read() instead.\n\nNo code changed:\n\narch/x86/lib/atomic64_32.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n    435\t      0\t      0\t    435\t    1b3\tatomic64_32.o.before\n    435\t      0\t      0\t    435\t    1b3\tatomic64_32.o.after\n\nmd5:\n   bd8ab95e69c93518578bfaf0ea3be4d9  atomic64_32.o.before.asm\n   bd8ab95e69c93518578bfaf0ea3be4d9  atomic64_32.o.after.asm\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ac805d2afd3fa4a07cb5bcf352fd7fa83f28935",
      "tree": "29e4928248f19565f883156eb04e736510c88713",
      "parents": [
        "824975ef190e7dcb77718d1cc2cb53769b16d918"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 12:51:19 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:43 2009 +0200"
      },
      "message": "x86: atomic64: Reduce size of functions\n\ncmpxchg8b is a huge instruction in terms of register footprint,\nwe almost never want to inline it, not even within the same\ncode module.\n\nGCC 4.3 still messes up for two functions, under-judging the\ntrue cost of this instruction - so annotate two key functions\nto reduce the bloat:\n\narch/x86/lib/atomic64_32.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   1763\t      0\t      0\t   1763\t    6e3\tatomic64_32.o.before\n    435\t      0\t      0\t    435\t    1b3\tatomic64_32.o.after\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "824975ef190e7dcb77718d1cc2cb53769b16d918",
      "tree": "f5f9f180bef531795e992b34ef417e9822cab3e9",
      "parents": [
        "69237f94e65d3d7f539f1adb98ef68685c595004"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 12:39:07 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:42 2009 +0200"
      },
      "message": "x86: atomic64: Improve atomic64_add_return()\n\nLinus noted (based on Eric Dumazet\u0027s numbers) that we would\nprobably be better off not trying an atomic_read() in\natomic64_add_return() but intead intentionally let the first\ncmpxchg8b fail - to get a cache-friendly \u0027give me ownership\nof this cacheline\u0027 transaction. That can then be followed\nby the real cmpxchg8b which sets the value local to the CPU.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "69237f94e65d3d7f539f1adb98ef68685c595004",
      "tree": "be7f8e2b323206bc10f82ca5a70ed5cf646c4fb9",
      "parents": [
        "aacf682fd8c66b57383c407eecd9d4a28264ee91"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 03 13:26:41 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:41 2009 +0200"
      },
      "message": "x86: atomic64: Improve cmpxchg8b()\n\nRewrite cmpxchg8b() to not use %edi register but a generic \"+m\"\nconstraint, to increase compiler freedom in code generation and\npossibly better code.\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nLKML-Reference: \u003calpine.LFD.2.01.0907021653030.3210@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "aacf682fd8c66b57383c407eecd9d4a28264ee91"
}
