)]}'
{
  "log": [
    {
      "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": "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": "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": "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"
    },
    {
      "commit": "aacf682fd8c66b57383c407eecd9d4a28264ee91",
      "tree": "98179e43e4d15177acb09958d6ef560a46cc88ae",
      "parents": [
        "b7882b7c65abb00194bdb3d4a22d27d70fcc59ba"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 03 12:14:27 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:40 2009 +0200"
      },
      "message": "x86: atomic64: Improve atomic64_read()\n\nLinus noticed that the 32-bit version of atomic64_read() was\nbeing overly complex with re-reading the value and doing a\nretry loop over that.\n\nInstead we can just rely on cmpxchg8b returning either the new\nvalue or returning the current value.\n\nWe can use any \u0027old\u0027 value, which will be faster as it can be\nloaded via immediates. Using some value that is not equal to\nthe real value in memory the instruction gets faster.\n\nThis also has the advantage that the CPU could avoid dirtying\nthe cacheline.\n\nReported-by: 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": "b7882b7c65abb00194bdb3d4a22d27d70fcc59ba",
      "tree": "f22b1090c014f6d1da33c3791590d636104e8841",
      "parents": [
        "bbf2a330d92c5afccfd17592ba9ccd50f41cf748"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:39 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 03 13:26:39 2009 +0200"
      },
      "message": "x86: atomic64: Move the 32-bit atomic64_t implementation to a .c file\n\nLinus noted that the atomic64_t primitives are all inlines\ncurrently which is crazy because these functions have a large\nregister footprint anyway.\n\nMove them to a separate file: arch/x86/lib/atomic64_32.c\n\nAlso, while at it, rename all uses of \u0027unsigned long long\u0027 to\nthe much shorter u64.\n\nThis makes the appearance of the prototypes a lot nicer - and\nit also uncovered a few bugs where (yet unused) API variants\nhad \u0027long\u0027 as their return type instead of u64.\n\n[ More intrusive changes are not yet done in this patch. ]\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": "9e314996e3dc5189b9b36dce67088e882e989897",
      "tree": "fc7f8d69f1af220b5503484a2f449b7a9ec07f56",
      "parents": [
        "5a4f13fad1ab5bd08dea78fc55321e429d83cddf"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Jun 30 15:00:20 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 30 23:43:15 2009 +0200"
      },
      "message": "x86: Fix symbol annotation for arch/x86/lib/clear_page_64.S::clear_page_c\n\nNoticed the zero-sized function symbol while looking at \u0027perf\u0027 profiles,\nit causes the profiler to display those addresses in hexa.\n\nTurns out that this was wrong/bogus for an eternity.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nAcked-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nLKML-Reference: \u003c1246366820.6538.1.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e888d7facd1f1460a638151036d15b6cfb3ccc74",
      "tree": "7d623ee1b31d431317e87f59013a67d8549b9fae",
      "parents": [
        "658dbfeb5e7ab35d440c665d643a6285e43fddcd"
      ],
      "author": {
        "name": "Pallipadi, Venkatesh",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Thu Jun 25 16:44:31 2009 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Jun 25 16:47:40 2009 -0700"
      },
      "message": "x86, delay: tsc based udelay should have rdtsc_barrier\n\ndelay_tsc needs rdtsc_barrier to provide proper delay.\n\nOutput from a test driver using hpet to cross check delay\nprovided by udelay().\n\nBefore:\n[   86.794363] Expected delay 5us actual 4679ns\n[   87.154362] Expected delay 5us actual 698ns\n[   87.514162] Expected delay 5us actual 4539ns\n[   88.653716] Expected delay 5us actual 4539ns\n[   94.664106] Expected delay 10us actual 9638ns\n[   95.049351] Expected delay 10us actual 10126ns\n[   95.416110] Expected delay 10us actual 9568ns\n[   95.799216] Expected delay 10us actual 9638ns\n[  103.624104] Expected delay 10us actual 9707ns\n[  104.020619] Expected delay 10us actual 768ns\n[  104.419951] Expected delay 10us actual 9707ns\n\nAfter:\n[   50.983320] Expected delay 5us actual 5587ns\n[   51.261807] Expected delay 5us actual 5587ns\n[   51.565715] Expected delay 5us actual 5657ns\n[   51.861171] Expected delay 5us actual 5587ns\n[   52.164704] Expected delay 5us actual 5726ns\n[   52.487457] Expected delay 5us actual 5657ns\n[   52.789338] Expected delay 5us actual 5726ns\n[   57.119680] Expected delay 10us actual 10755ns\n[   57.893997] Expected delay 10us actual 10615ns\n[   58.261287] Expected delay 10us actual 10755ns\n[   58.620505] Expected delay 10us actual 10825ns\n[   58.941035] Expected delay 10us actual 10755ns\n[   59.320903] Expected delay 10us actual 10615ns\n[   61.306311] Expected delay 10us actual 10755ns\n[   61.520542] Expected delay 10us actual 10615ns\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "9063c61fd5cbd6f42e95929aa0e02380c9e15656",
      "tree": "0783122dfdf16ce729ebf7b851b145f24e1edae0",
      "parents": [
        "2453d6ff6ffc5f0d496b7b14f509a26f99bf115e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 15:40:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 15:40:00 2009 -0700"
      },
      "message": "x86, 64-bit: Clean up user address masking\n\nThe discussion about using \"access_ok()\" in get_user_pages_fast() (see\ncommit 7f8189068726492950bf1a2dcfd9b51314560abf: \"x86: don\u0027t use\n\u0027access_ok()\u0027 as a range check in get_user_pages_fast()\" for details and\nend result), made us notice that x86-64 was really being very sloppy\nabout virtual address checking.\n\nSo be way more careful and straightforward about masking x86-64 virtual\naddresses:\n\n - All the VIRTUAL_MASK* variants now cover half of the address\n   space, it\u0027s not like we can use the full mask on a signed\n   integer, and the larger mask just invites mistakes when\n   applying it to either half of the 48-bit address space.\n\n - /proc/kcore\u0027s kc_offset_to_vaddr() becomes a lot more\n   obvious when it transforms a file offset into a\n   (kernel-half) virtual address.\n\n - Unify/simplify the 32-bit and 64-bit USER_DS definition to\n   be based on TASK_SIZE_MAX.\n\nThis cleanup and more careful/obvious user virtual address checking also\nuncovered a buglet in the x86-64 implementation of strnlen_user(): it\nwould do an \"access_ok()\" check on the whole potential area, even if the\nstring itself was much shorter, and thus return an error even for valid\nstrings. Our sloppy checking had hidden this.\n\nSo this fixes \u0027strnlen_user()\u0027 to do this properly, the same way we\nalready handled user strings in \u0027strncpy_from_user()\u0027.  Namely by just\nchecking the first byte, and then relying on fault handling for the\nrest.  That always works, since we impose a guard page that cannot be\nmapped at the end of the user space address space (and even if we\ndidn\u0027t, we\u0027d have the address space hole).\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b034c19f9f61c8b6f2435aa2e77f52348ebde767",
      "tree": "0dce206e1eaa998b7233a4679e366890881c1f7f",
      "parents": [
        "6bc1096d7ab3621b3ffcf06616d1f4e0325d903d"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri May 22 13:52:19 2009 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Jun 10 12:18:43 2009 +0200"
      },
      "message": "x86: MSR: add methods for writing of an MSR on several CPUs\n\nProvide for concurrent MSR writes on all the CPUs in the cpumask. Also,\nadd a temporary workaround for smp_call_function_many which skips the\nCPU we\u0027re executing on.\n\nBart: zero out rv struct which is allocated on stack.\n\nCC: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6bc1096d7ab3621b3ffcf06616d1f4e0325d903d",
      "tree": "286d1e4545fbd69c25fb4a5044d1d51122169a1d",
      "parents": [
        "07a2039b8eb0af4ff464efd3dfd95de5c02648c6"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Fri May 22 12:12:01 2009 +0200"
      },
      "committer": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Wed Jun 10 12:18:42 2009 +0200"
      },
      "message": "x86: MSR: add a struct representation of an MSR\n\nAdd a struct representing a 64bit MSR pair consisting of a low and high\nregister part and convert msr_info to use it. Also, rename msr-on-cpu.c\nto msr.c.\n\nSide note: Put the cpumask.h include in __KERNEL__ space thus fixing an\nallmodconfig build failure in the headers_check target.\n\nCC: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\n"
    },
    {
      "commit": "f3b6eaf0149186ad0637512ec363582c91e06ee6",
      "tree": "68e72baf189e9f87ab0a48961918243304ab878c",
      "parents": [
        "dd1ef4ec4721ddc0a1f2b73a4f67930cb320665c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 12 12:20:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 12 12:21:17 2009 +0100"
      },
      "message": "x86: memcpy, clean up\n\nImpact: cleanup\n\nMake this file more readable by bringing it more in line\nwith the usual kernel style.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dd1ef4ec4721ddc0a1f2b73a4f67930cb320665c",
      "tree": "75cdd414ecdcfe7d2abc72da8444f54631a00e4e",
      "parents": [
        "c2810188c1b810c68139608a207befae0a4f1e69"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Thu Mar 12 10:47:13 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 12 12:04:47 2009 +0100"
      },
      "message": "x86-64: remove unnecessary spill/reload of rbx from memcpy\n\nImpact: micro-optimization\n\nThis should slightly improve its performance.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nLKML-Reference: \u003c49B8F641.76E4.0078.0@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0341c14da49e7b93d2998926f6ac89a3129e3fa1",
      "tree": "c8a6d0e5331667ba4becf83836053bd14dd39e44",
      "parents": [
        "beb6943d8df7ce9278282101af4e0f6f7b648451"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Fri Feb 13 11:14:01 2009 -0800"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Fri Feb 13 11:35:01 2009 -0800"
      },
      "message": "x86: use _types.h headers in asm where available\n\nIn general, the only definitions that assembly files can use\nare in _types.S headers (where available), so convert them.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n"
    },
    {
      "commit": "e0a96129db574d6365e3439d16d88517c437ab33",
      "tree": "4c858ffd2b4a74435494556e21a0652a0fdaa4a8",
      "parents": [
        "f5495506c3c1300d249d403c36f92de71920dbeb"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Fri Jan 16 15:22:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 09:43:17 2009 +0100"
      },
      "message": "x86: use early clobbers in usercopy*.c\n\nImpact: fix rare (but currently harmless) miscompile with certain configs and gcc versions\n\nHugh Dickins noticed that strncpy_from_user() was miscompiled\nin some circumstances with gcc 4.3.\n\nThanks to Hugh\u0027s excellent analysis it was easy to track down.\n\nHugh writes:\n\n\u003e Try building an x86_64 defconfig 2.6.29-rc1 kernel tree,\n\u003e except not quite defconfig, switch CONFIG_PREEMPT_NONE\u003dy\n\u003e and CONFIG_PREEMPT_VOLUNTARY off (because it expands a\n\u003e might_fault() there, which hides the issue): using a\n\u003e gcc 4.3.2 (I\u0027ve checked both openSUSE 11.1 and Fedora 10).\n\u003e\n\u003e It generates the following:\n\u003e\n\u003e 0000000000000000 \u003c__strncpy_from_user\u003e:\n\u003e    0:   48 89 d1                mov    %rdx,%rcx\n\u003e    3:   48 85 c9                test   %rcx,%rcx\n\u003e    6:   74 0e                   je     16 \u003c__strncpy_from_user+0x16\u003e\n\u003e    8:   ac                      lods   %ds:(%rsi),%al\n\u003e    9:   aa                      stos   %al,%es:(%rdi)\n\u003e    a:   84 c0                   test   %al,%al\n\u003e    c:   74 05                   je     13 \u003c__strncpy_from_user+0x13\u003e\n\u003e    e:   48 ff c9                dec    %rcx\n\u003e   11:   75 f5                   jne    8 \u003c__strncpy_from_user+0x8\u003e\n\u003e   13:   48 29 c9                sub    %rcx,%rcx\n\u003e   16:   48 89 c8                mov    %rcx,%rax\n\u003e   19:   c3                      retq\n\u003e\n\u003e Observe that \"sub %rcx,%rcx; mov %rcx,%rax\", whereas gcc 4.2.1\n\u003e (and many other configs) say \"sub %rcx,%rdx; mov %rdx,%rax\".\n\u003e Isn\u0027t it returning 0 when it ought to be returning strlen?\n\nThe asm constraints for the strncpy_from_user() result were missing an\nearly clobber, which tells gcc that the last output arguments\nare written before all input arguments are read.\n\nAlso add more early clobbers in the rest of the file and fix 32-bit\nusercopy.c in the same way.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n[ since this API is rarely used and no in-kernel user relies on a \u0027len\u0027\n  return value (they only rely on negative return values) this miscompile\n  was never noticed in the field. But it\u0027s worth fixing it nevertheless. ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d1a76187a5be4f89c6cb19d800cb5fb7aac735c5",
      "tree": "2fac3ffbfffc7560eeef8364b541d0d7a0057920",
      "parents": [
        "c7e78cff6b7518212247fb20b1dc6411540dc9af",
        "0173a3265b228da319ceb9c1ec6a5682fd1b2d92"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 28 16:54:49 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 28 16:54:49 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28-rc2\u0027 into core/locking\n\nConflicts:\n\tarch/um/include/asm/system.h\n"
    },
    {
      "commit": "0afe2db21394820d32646a695eccf3fbfe6ab5c7",
      "tree": "6d925383f444a242ebc77d167420efb7e6ad8d99",
      "parents": [
        "d84705969f898f294bc3fc32eca33580f14105bd",
        "43603c8df97f246e8be7b9cc92a8f968a85108bd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 11 20:23:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 11 20:23:20 2008 +0200"
      },
      "message": "Merge branch \u0027x86/unify-cpu-detect\u0027 into x86-v28-for-linus-phase4-D\n\nConflicts:\n\tarch/x86/kernel/cpu/common.c\n\tarch/x86/kernel/signal_64.c\n\tinclude/asm-x86/cpufeature.h\n"
    },
    {
      "commit": "1d18ef489509314506328b9e464dd47c24c1d68f",
      "tree": "0462ee876e127f9b86afa05e48cfc50d0163cbd4",
      "parents": [
        "3ee1afa308f2a38e5d1e2ad3752ad7abcf480da1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 11 20:53:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 11 21:42:59 2008 +0200"
      },
      "message": "x86: some lock annotations for user copy paths, v3\n\n- add annotation back to clear_user()\n- change probe_kernel_address() to _inatomic*() method\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ee1afa308f2a38e5d1e2ad3752ad7abcf480da1",
      "tree": "914e0f3bbd32a387cf6095c6955369fa8da7ebf6",
      "parents": [
        "c10d38dda1774ed4540380333cabd229eff37094"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Sep 10 13:37:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 11 09:44:21 2008 +0200"
      },
      "message": "x86: some lock annotations for user copy paths, v2\n\n - introduce might_fault()\n - handle the atomic user copy paths correctly\n\n[ mingo@elte.hu: move might_sleep() outside of in_atomic(). ]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c10d38dda1774ed4540380333cabd229eff37094",
      "tree": "be9649dab7c0017c0a700f146db70f730ad819a7",
      "parents": [
        "76b189e91845eab3a9d52bb97f971d312d25652d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Sep 10 13:37:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 13:48:49 2008 +0200"
      },
      "message": "x86: some lock annotations for user copy paths\n\ncopy_to/from_user and all its variants (except the atomic ones) can take a\npage fault and perform non-trivial work like taking mmap_sem and entering\nthe filesyste/pagecache.\n\nUnfortunately, this often escapes lockdep because a common pattern is to\nuse it to read in some arguments just set up from userspace, or write data\nback to a hot buffer. In those cases, it will be unlikely for page reclaim\nto get a window in to cause copy_*_user to fault.\n\nWith the new might_lock primitives, add some annotations to x86. I don\u0027t\nknow if I caught all possible faulting points (it\u0027s a bit of a maze, and I\ndidn\u0027t really look at 32-bit). But this is a starting point.\n\nBoots and runs OK so far.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb481dd56adf3c5b0993b8f052cc9ba966e3959d",
      "tree": "22312cb77dbc8bf71bc54dff40efad7cf8e2d822",
      "parents": [
        "a5444d15b611cf2ffe2bc52aaf11f2ac51882f89"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Thu Sep 04 13:46:11 2008 +0200"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Sep 04 08:42:06 2008 -0700"
      },
      "message": "x86: drop -funroll-loops for csum_partial_64.c\n\nImpact: performance optimization\n\nI did some rebenchmarking with modern compilers and dropping\n-funroll-loops makes the function consistently go faster by a few\npercent.  So drop that flag.\n\nThanks to Richard Guenther for a hint.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "b30a72a7edfc64c8929104d5c2178aca489aa559",
      "tree": "2b26c155c318d08d946bd2d70cf815dcdb29a243",
      "parents": [
        "f1c5d30e1d79bbfb60eaf189db862d3cb2bcac92",
        "c1b362e3b4d331a63915b268a33207311a439d60"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Aug 27 19:17:07 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Aug 27 19:17:07 2008 -0700"
      },
      "message": "Merge branch \u0027x86/urgent\u0027 into x86/cpu\n\nConflicts:\n\n\tarch/x86/kernel/cpu/cyrix.c\n"
    },
    {
      "commit": "bdd314616f7218e325aa9637a46159ecba44cfeb",
      "tree": "de3cbbb4aab3bd8344d33c6c5cc262b8d59adfa0",
      "parents": [
        "94d4ac2f4a58c6e37876827c6688c61cef21290c"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 17:44:03 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 22:45:50 2008 -0700"
      },
      "message": "x86: msr-on-cpu: remove unnecessary level of abstraction\n\nRemove an unnecessary level of abstraction in the msr-on-cpu library.\nAlthough this duplicates some code, the duplicated code is less than\nthe additional code, and this way should be faster.\n\nAdditionally, change the order of the functions to make the regular\nstructure of this file more obvious.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "94d4ac2f4a58c6e37876827c6688c61cef21290c",
      "tree": "732f4e4794f3c116041242f69754637f75c0dd57",
      "parents": [
        "ed21763e7b0b3fb50e4efd9d4bc17ef5b035d304",
        "08970fc4e0385790a7b093adfaa4165a189f9eb0"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 22:45:37 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 22:45:37 2008 -0700"
      },
      "message": "Merge branch \u0027x86/urgent\u0027 into x86/cleanups\n"
    },
    {
      "commit": "c6f31932d0a1d2b13952f506ebc92675e2d8df80",
      "tree": "f08e31afb69ca52e8ba8a1cca316b12bd7bec365",
      "parents": [
        "f73be6dedf4fa058ce80846dae604b08fa805ca1"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 17:27:21 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 17:45:48 2008 -0700"
      },
      "message": "x86: msr: propagate errors from smp_call_function_single()\n\nPropagate error (-ENXIO) from smp_call_function_single().  These\nerrors can happen when a CPU is unplugged while the MSR driver is\nopen.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "8bfcb3960fde049b863266dab8c3617bb5a541aa",
      "tree": "b658f2337d46d7f818eecc1be1e2ce76f57a32d0",
      "parents": [
        "1a10390708d675ebf1a2f5e169a5165626afbd88"
      ],
      "author": {
        "name": "Thomas Petazzoni",
        "email": "thomas.petazzoni@free-electrons.com",
        "time": "Mon Aug 18 12:33:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 18 16:05:45 2008 +0200"
      },
      "message": "x86: make movsl_mask definition non-CPU specific\n\nmovsl_mask is currently defined in arch/x86/kernel/cpu/intel.c, which\ncontains code specific to Intel CPUs. However, movsl_mask is used in\nthe non-CPU specific code in arch/x86/lib/usercopy_32.c, which breaks\nthe compilation when support for Intel CPUs is compiled out.\n\nThis patch solves this problem by moving movsl_mask\u0027s definition close\nto its users in arch/x86/lib/usercopy_32.c.\n\nSigned-off-by: Thomas Petazzoni \u003cthomas.petazzoni@free-electrons.com\u003e\nCc: michael@free-electrons.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3492cdf0176bde5e35223a1388d59676bc67c145",
      "tree": "74447d522913b8fccb62483639d9205fa47d5dcc",
      "parents": [
        "209b580fd8c3a42b69550c98de434671d41a4ebb"
      ],
      "author": {
        "name": "Paolo Ciarrocchi",
        "email": "paolo.ciarrocchi@gmail.com",
        "time": "Sat Aug 02 21:25:13 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 16:53:25 2008 +0200"
      },
      "message": "x86: coding style fixes to arch/x86/lib/string_32.c\n\nBefore:\ntotal: 21 errors, 0 warnings, 237 lines checked\n\nAfter:\ntotal: 0 errors, 0 warnings, 237 lines checked\n\npaolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/string_32.o.*\nc55d059ef1612b32a8bb2771a72ae0d5  /tmp/string_32.o.after\nc55d059ef1612b32a8bb2771a72ae0d5  /tmp/string_32.o.before\n\nSigned-off-by: Paolo Ciarrocchi \u003cpaolo.ciarrocchi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "209b580fd8c3a42b69550c98de434671d41a4ebb",
      "tree": "62a92f811ca89fdc65f7b41cc9dc5c894ad02c5c",
      "parents": [
        "2070dae10f50ec244f58292436ace9a3f9dc1d71"
      ],
      "author": {
        "name": "Paolo Ciarrocchi",
        "email": "paolo.ciarrocchi@gmail.com",
        "time": "Sat Aug 02 21:24:45 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 16:53:24 2008 +0200"
      },
      "message": "x86: coding style fixes to arch/x86/lib/strstr_32.c\n\nBefore:\ntotal: 3 errors, 0 warnings, 31 lines checked\n\nAfter:\ntotal: 0 errors, 0 warnings, 31 lines checked\n\npaolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/strstr_32.o.*\nc96006ec3387862e5bacb139207a3098  /tmp/strstr_32.o.after\nc96006ec3387862e5bacb139207a3098  /tmp/strstr_32.o.before\n\nSigned-off-by: Paolo Ciarrocchi \u003cpaolo.ciarrocchi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "afd962a9e8708c571c5c0c4a6d098f931742c229",
      "tree": "7aacbe3bb5e34e2515ad55a73bb87766e604761b",
      "parents": [
        "bd3e64c1759e4930315ebf022611468ee9621486"
      ],
      "author": {
        "name": "Vitaly Mayatskikh",
        "email": "v.mayatskih@gmail.com",
        "time": "Wed Jul 30 13:30:14 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 10:10:39 2008 -0700"
      },
      "message": "x86: wrong register was used in align macro\n\nNew ALIGN_DESTINATION macro has sad typo: r8d register was used instead\nof ecx in fixup section. This can be considered as a regression.\n\nRegister ecx was also wrongly loaded with value in r8d in\ncopy_user_nocache routine.\n\nSigned-off-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a781a777b2f6ac46523fe92396215762ced624d",
      "tree": "4f34bb4aade85c0eb364b53d664ec7f6ab959006",
      "parents": [
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af",
        "42a2f217a5e324ed5f2373ab1b7a0a15187c4d6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "message": "Merge branch \u0027generic-ipi\u0027 into generic-ipi-for-linus\n\nConflicts:\n\n\tarch/powerpc/Kconfig\n\tarch/s390/kernel/time.c\n\tarch/x86/kernel/apic_32.c\n\tarch/x86/kernel/cpu/perfctr-watchdog.c\n\tarch/x86/kernel/i8259_64.c\n\tarch/x86/kernel/ldt.c\n\tarch/x86/kernel/nmi_64.c\n\tarch/x86/kernel/smpboot.c\n\tarch/x86/xen/smp.c\n\tinclude/asm-x86/hw_irq_32.h\n\tinclude/asm-x86/hw_irq_64.h\n\tinclude/asm-x86/mach-default/irq_vectors.h\n\tinclude/asm-x86/mach-voyager/irq_vectors.h\n\tinclude/asm-x86/smp.h\n\tkernel/Makefile\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5806b81ac1c0c52665b91723fd4146a4f86e386b",
      "tree": "24ea8763bf308ce1407c1de91dc8de4d2655e1c1",
      "parents": [
        "d14c8a680ccfdeb5e7b9be4d61162c2b373bd1e8",
        "6712e299b7dc78aa4971b85e803435ee6d49a9dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:52 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:52 2008 +0200"
      },
      "message": "Merge branch \u0027auto-ftrace-next\u0027 into tracing/for-linus\n\nConflicts:\n\n\tarch/x86/kernel/entry_32.S\n\tarch/x86/kernel/process_32.c\n\tarch/x86/kernel/process_64.c\n\tarch/x86/lib/Makefile\n\tinclude/asm-x86/irqflags.h\n\tkernel/Makefile\n\tkernel/sched.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27cb0a75ba252ea7294d67232c4bbbac3f2b2656",
      "tree": "3a72fbafa37e6222f3bdade4ca7bfdaaab300c35",
      "parents": [
        "e54afe38630e3b577968428f48ed8ef1e13a2a15"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Thu Jul 10 12:52:52 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 21:55:59 2008 +0200"
      },
      "message": "x86: fix compile error in current tip.git\n\nGas 2.15 complains about 32-bit registers being used in lea.\n\n  AS      arch/x86/lib/copy_user_64.o\n/local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S: Assembler messages:\n/local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S:188: Error: `(%edx,%ecx,8)\u0027 is not a valid 64 bit base/index expression\n/local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_64.S:257: Error: `(%edx,%ecx,8)\u0027 is not a valid 64 bit base/index expression\n  AS      arch/x86/lib/copy_user_nocache_64.o\n/local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_nocache_64.S: Assembler messages:\n/local/scratch-2/jeremy/hg/xen/paravirt/linux/arch/x86/lib/copy_user_nocache_64.S:107: Error: `(%edx,%ecx,8)\u0027 is not a valid 64 bit base/index expression\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad2fc2cd925300b8127cf682f5a1c7511ae9dd27",
      "tree": "0f5acf66a1bbe931739d35583f1a80872bf37155",
      "parents": [
        "1129585a08baf58582c0da91e572cb29e3179acf"
      ],
      "author": {
        "name": "Vitaly Mayatskikh",
        "email": "v.mayatskih@gmail.com",
        "time": "Wed Jul 02 15:53:13 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 15:51:16 2008 +0200"
      },
      "message": "x86: fix copy_user on x86\n\nSwitch copy_user_generic_string(), copy_user_generic_unrolled() and\n__copy_user_nocache() from custom tail handlers to generic\ncopy_user_tail_handle().\n\nSigned-off-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1129585a08baf58582c0da91e572cb29e3179acf",
      "tree": "8ea03668221455bdeff91f885e4458676a89633b",
      "parents": [
        "de989ef093623ab5259f885f30be699c431d4006"
      ],
      "author": {
        "name": "Vitaly Mayatskikh",
        "email": "v.mayatskih@gmail.com",
        "time": "Wed Jul 02 15:48:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 15:51:03 2008 +0200"
      },
      "message": "x86: introduce copy_user_handle_tail() routine\n\nIntroduce generic C routine for handling necessary tail operations after\nprotection fault in copy_*_user on x86.\n\nSigned-off-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5cbbc3b1eb37bdc72eefd2de03b39f5e784400c2",
      "tree": "b4e340963f7a4e2d55ff00a14b3d4bca912c85ab",
      "parents": [
        "2528de431ddb200653d1dc6ca90074bad9520f09"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 17:40:14 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:13 2008 +0200"
      },
      "message": "x86: merge putuser asm functions.\n\nputuser_32.S and putuser_64.S are merged into putuser.S.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2528de431ddb200653d1dc6ca90074bad9520f09",
      "tree": "2cce31204c0e6f810bdf8d1d013ea08e931575f7",
      "parents": [
        "efea505d83873cfc8a7cdbb8a2a11d2c67467843"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 17:36:31 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:12 2008 +0200"
      },
      "message": "x86: use macros from asm.h.\n\nIn putuser_32.S and putuser_64.S, replace things like .quad, .long,\nand explicit references to [r|e]ax for the apropriate macros\nin asm/asm.h.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efea505d83873cfc8a7cdbb8a2a11d2c67467843",
      "tree": "51a88066d621bb5750834f92e36a1d572ffb7963",
      "parents": [
        "766ed4282114eab616741107745b0dd11075e496"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 16:59:05 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:11 2008 +0200"
      },
      "message": "x86: don\u0027t use word-size specifiers in putuser files.\n\nRemove them where unambiguous.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "766ed4282114eab616741107745b0dd11075e496",
      "tree": "70327f17da3cf94adfd9a99230b4e1110f1464ca",
      "parents": [
        "663aa96df32af9c4141ef3179282f95c7537643a"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 16:56:30 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:10 2008 +0200"
      },
      "message": "x86: replace function headers by macros.\n\nIn putuser_64.S, do it the i386 way, and replace the code\nin beginning and end of functions with macros, since it\u0027s\nalways the same thing. Save lines.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "663aa96df32af9c4141ef3179282f95c7537643a",
      "tree": "fd8856815bea7ef8b6525f498cbc6f7dc2ded28e",
      "parents": [
        "0ada3164031162b4e1b7ff6b36ba8cc80ff7fe96"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 16:51:59 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:09 2008 +0200"
      },
      "message": "x86: change testing logic in putuser_64.S.\n\nInstead of operating over a register we need to put back\ninto normal state afterwards (the memory position), just\nsub from rbx, which is trashed anyway. We can save a few instructions.\n\nAlso, this is the i386 way.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0ada3164031162b4e1b7ff6b36ba8cc80ff7fe96",
      "tree": "630d8811b1291a37dd1c55786a05997f24c05430",
      "parents": [
        "770546b99fb99e71a3aa4181980d42664f9c18bd"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 16:44:39 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:08 2008 +0200"
      },
      "message": "x86: pass argument to putuser_64 functions in ax register.\n\nThis is consistent with i386 usage.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "770546b99fb99e71a3aa4181980d42664f9c18bd",
      "tree": "46339e76339c08a4ab0513840af18ef42f5b178a",
      "parents": [
        "70706e432ee5618abf59381101d8dea7b8d97a7d"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 15:03:40 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:08 2008 +0200"
      },
      "message": "x86: clobber rbx in putuser_64.S.\n\nInstead of clobbering r8, clobber rbx, which is the i386 way.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "268cf048c890d10bd3a86bd87922ed8a722d502f",
      "tree": "f5ea14b5f422686a537561a37569c40722327d8a",
      "parents": [
        "6c2d458680d49d939ffd4b4cdc84d9e004d65910"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 12:40:55 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:06 2008 +0200"
      },
      "message": "x86: don\u0027t save ebx in putuser_32.S.\n\nClobber it in the inline asm macros, and let the compiler do this for us.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c2d458680d49d939ffd4b4cdc84d9e004d65910",
      "tree": "074be66f819fdf326e8480139a01e489f5a41929",
      "parents": [
        "87e2f1e7f6ab66306320403d4502d7938d3c703e"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 12:05:11 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:05 2008 +0200"
      },
      "message": "x86: merge getuser asm functions.\n\ngetuser_32.S and getuser_64.S are merged into getuser.S.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "87e2f1e7f6ab66306320403d4502d7938d3c703e",
      "tree": "3ab2fb88581cac8568c250093c8f03aebe8bdb1d",
      "parents": [
        "40faf463e62de0b29722910eded7dd26cd8b684b"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 12:02:44 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:04 2008 +0200"
      },
      "message": "x86: use _ASM_PTR instead of explicit word-size pointers.\n\nSwitch .long and .quad with _ASM_PTR in getuser*.S.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "40faf463e62de0b29722910eded7dd26cd8b684b",
      "tree": "ab7a576aec523d750944c53f6c7f340b4a1a3a3a",
      "parents": [
        "ef8c1a2d0e990d0f4f15e1d45eeb262755e3d4c3"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 11:37:57 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:04 2008 +0200"
      },
      "message": "x86: introduce __ASM_REG macro.\n\nThere are situations in which the architecture wants to use the\nregister that represents its word-size, whatever it is. For those,\nintroduce __ASM_REG in asm.h, along with the first users _ASM_AX\nand _ASM_DX. They have users waiting for it, namely the getuser\nfunctions.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef8c1a2d0e990d0f4f15e1d45eeb262755e3d4c3",
      "tree": "a0d395b587d7093c731373bc6fab42d121b00a1d",
      "parents": [
        "26ccb8a7183eed424ff9c874c83af20dafe7cdef"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 11:21:53 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:03 2008 +0200"
      },
      "message": "x86: don\u0027t use word-size specifiers on getuser_64.\n\nThe instructions access registers, so the size is unambiguous.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26ccb8a7183eed424ff9c874c83af20dafe7cdef",
      "tree": "b93a78c574e69dfe89fa094e95c43229352a81ab",
      "parents": [
        "9262875395cf22b5a90dd8a640e1070cedf55d0e"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 11:19:35 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:02 2008 +0200"
      },
      "message": "x86: rename threadinfo to TI.\n\nThis is for consistency with i386.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9262875395cf22b5a90dd8a640e1070cedf55d0e",
      "tree": "81b17b8f280817da70b4225409c65aaf1c824db9",
      "parents": [
        "9aa038815b5756e20a00b8e1efd5740434b37aea"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 11:13:16 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:01 2008 +0200"
      },
      "message": "x86: adapt x86_64 getuser functions.\n\nInstead of doing a sub after the addition, use the\noffset directly at the memory operand of the mov instructions.\nThis is the way i386 do.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9aa038815b5756e20a00b8e1efd5740434b37aea",
      "tree": "c85b3f1bb351718702b400597f20683eec7ebf21",
      "parents": [
        "edf10162b2c5ad78ada8e63e960f9d0949c6c219"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Jun 13 22:41:51 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:14:00 2008 +0200"
      },
      "message": "x86: don\u0027t use word-size specifiers.\n\nSince the instructions refer to registers, they\u0027ll be able\nto figure it out.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "edf10162b2c5ad78ada8e63e960f9d0949c6c219",
      "tree": "c860cce966d760d230fe56de713093b7eec25df4",
      "parents": [
        "f8dd0d3c62164160c59034a96eb17d69ac8a0328"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Jun 13 16:35:52 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 09:13:59 2008 +0200"
      },
      "message": "x86: don\u0027t clobber r8 nor use rcx.\n\nThere\u0027s really no reason to clobber r8 or pass the address in rcx.\nWe can safely use only two registers (which we already have to touch anyway)\nto do the job.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f0fbf0abc093ec8bf64506eee4ede9e5daf40ffd",
      "tree": "ca56be34bf193e386591fe5c4bdb3032a28dcad1",
      "parents": [
        "7e58818d32c18197602d1869b22cfda99efd05fe"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Thu Jul 03 12:35:41 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 08:52:05 2008 +0200"
      },
      "message": "x86: integrate delay functions.\n\ndelay_32.c, delay_64.c are now equal, and are integrated into delay.c.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7e58818d32c18197602d1869b22cfda99efd05fe",
      "tree": "2ecdee4abda69dad3aefb25c04a81d43081ba01b",
      "parents": [
        "a76febe975997b933b7285b6e20bb0a21c09d453"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 10:21:25 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 08:52:04 2008 +0200"
      },
      "message": "x86: explicitly use edx in const delay function.\n\nFor x86_64, we can\u0027t just use %0, as it would\ngenerate a mul against rdx, which is not really what we\nwant (note the \"\u003e\u003e 32\" in x86_64 version).\n\nUsing a u64 variable with a shift in i386 generates bad code,\nso the solution is to explicitly use %%edx in inline assembly\nfor both.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a76febe975997b933b7285b6e20bb0a21c09d453",
      "tree": "bc84d0a5b13390f88446bb4d4dca4d61af275b17",
      "parents": [
        "0a4d8a472f645d99f86303db1462b64e371b090d"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 09:52:36 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 08:52:02 2008 +0200"
      },
      "message": "x86: use rdtscll in read_current_timer for i386.\n\nThis way we achieve the same code for both arches.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0a4d8a472f645d99f86303db1462b64e371b090d",
      "tree": "dd6b4b3d4a5cb415b06e8e1625ea811a9012119d",
      "parents": [
        "ff1b15b646177c6cc465ac2dd0be6ae16e965654"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 09:34:08 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 08:51:41 2008 +0200"
      },
      "message": "x86: provide delay loop for x86_64.\n\nThis is for consistency with i386. We call use_tsc_delay()\nat tsc initialization for x86_64, so we\u0027ll be always using it.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ff1b15b646177c6cc465ac2dd0be6ae16e965654",
      "tree": "a075dc50ba34dc1d4bb23d624babd2daf73487c4",
      "parents": [
        "26e9e57b106445bbd8c965985e4e8af5293ae005"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Tue Jun 24 09:27:19 2008 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 08:49:27 2008 +0200"
      },
      "message": "x86: don\u0027t use size specifiers.\n\nRemove the \"l\" from inline asm at arch/x86/lib/delay_32.c.\nIt is not needed.\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8691e5a8f691cc2a4fda0651e8d307aaba0e7d68",
      "tree": "6cb6767064d2d43441212566da2d83dcc9a0cd8e",
      "parents": [
        "490f5de52a87063fcb40e3b22f61b0779603ff6d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 06 11:18:06 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 26 11:24:35 2008 +0200"
      },
      "message": "smp_call_function: get rid of the unused nonatomic/retry argument\n\nIt\u0027s never used and the comments refer to nonatomic and retry\ninterchangably. So get rid of it.\n\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "28f73e51d0f64a5b896ad816ab8df6f3bcec5810",
      "tree": "8c51ad5ff74d6ef5d1d68121c9f9aadce836736e",
      "parents": [
        "f3f3149f35b9195ef4b761b1353fc0766b5f53be",
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 25 12:30:10 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 25 12:30:10 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/delay\n\nConflicts:\n\n\tarch/x86/kernel/tsc_32.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f34bfb1beef8a17ba3d46b60f8fa19ffedc1ed8d",
      "tree": "0816c565d26ae24854616faa0d497be365c2fe8b",
      "parents": [
        "ee4311adf105f4d740f52e3948acc1d81598afcc",
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:11:42 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:11:42 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "42a886af728c089df8da1b0017b0e7e6c81b5335",
      "tree": "3c896bd6f64b0107e4085073c30862b215fbc957",
      "parents": [
        "27eaf66b05687a27aaca0c0b9014c2f5c23bd18c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 17 17:47:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 17 17:47:50 2008 -0700"
      },
      "message": "x86-64: Fix \"bytes left to copy\" return value for copy_from_user()\n\nMost users by far do not care about the exact return value (they only\nreally care about whether the copy succeeded in its entirety or not),\nbut a few special core routines actually care deeply about exactly how\nmany bytes were copied from user space.\n\nAnd the unrolled versions of the x86-64 user copy routines would\nsometimes report that it had copied more bytes than it actually had.\n\nVery few uses actually have partial copies to begin with, but to make\nthis bug even harder to trigger, most x86 CPU\u0027s use the \"rep string\"\ninstructions for normal user copies, and that version didn\u0027t have this\nissue.\n\nTo make it even harder to hit, the one user of this that really cared\nabout the return value (and used the uncached version of the copy that\ndoesn\u0027t use the \"rep string\" instructions) was the generic write\nroutine, which pre-populated its source, once more hiding the problem by\navoiding the exception case that triggers the bug.\n\nIn other words, very special thanks to Bron Gondwana who not only\ntriggered this, but created a test-program to show it, and bisected the\nbehavior down to commit 08291429cfa6258c4cd95d8833beb40f828b194e (\"mm:\nfix pagecache write deadlocks\") which changed the access pattern just\nenough that you can now trigger it with \u0027writev()\u0027 with multiple\niovec\u0027s.\n\nThat commit itself was not the cause of the bug, it just allowed all the\nstars to align just right that you could trigger the problem.\n\n[ Side note: this is just the minimal fix to make the copy routines\n  (with __copy_from_user_inatomic_nocache as the particular version that\n  was involved in showing this) have the right return values.\n\n  We really should improve on the exceptional case further - to make the\n  copy do a byte-accurate copy up to the exact page limit that causes it\n  to fail.  As it is, the callers have to do extra work to handle the\n  limit case gracefully. ]\n\nReported-by: Bron Gondwana \u003cbrong@fastmail.fm\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n\n (which didn\u0027t have this problem), and since\nmost users that do the carethis was very hard to trigger, but\n"
    },
    {
      "commit": "e01b70ef3eb3080fecc35e15f68cd274c0a48163",
      "tree": "968f1da3d1f60236df49c24943e99bbf84ce81ca",
      "parents": [
        "066519068ad2fbe98c7f45552b1f592903a9c8c8"
      ],
      "author": {
        "name": "Jiri Hladky",
        "email": "hladky.jiri@googlemail.com",
        "time": "Mon Jun 02 12:00:19 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 17 10:55:47 2008 +0200"
      },
      "message": "x86: fix bug in arch/i386/lib/delay.c file, delay_loop function\n\nwhen trying to understand how Bogomips are implemented I have found a\nbug in arch/i386/lib/delay.c file, delay_loop function.\n\nThe function fails for loops \u003e 2^31+1. It because SF is set when dec\nreturns numbers \u003e 2^31.\n\nThe fix is to use jnz instruction instead of jns (and add one decl\ninstruction to the end to have exactly the same number of loops as in\noriginal version).\n\nMartin Mares observed:\n\n\u003e It is a long time since I have hacked that file, but you should definitely\n\u003e make sure that the function is never called with a zero argument. In such\n\u003e case, the original version made just a single pass, but your version\n\u003e makes 2^32 of them.\n\nfixed that.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e765ee90da62535ac7d7a97f2464f9646539d683",
      "tree": "7a9cecce5aab958938e9a3bf46c2302d6af1958c",
      "parents": [
        "a4500b84c51645bbc86be3ca84f2252b7ada060f",
        "066519068ad2fbe98c7f45552b1f592903a9c8c8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:15:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:15:58 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/ftrace\n"
    },
    {
      "commit": "5c1ea08215f1f830dfaf4819a5f22efca41c3832",
      "tree": "1d52d7972969090cf6702f69b2e5c97a5bdc2613",
      "parents": [
        "deef325086c3897393b8f7d6bccd03405244fe18"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sun May 25 11:13:32 2008 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jun 04 13:11:46 2008 +0200"
      },
      "message": "x86: enable preemption in delay\n\nThe RT team has been searching for a nasty latency. This latency shows\nup out of the blue and has been seen to be as big as 5ms!\n\nUsing ftrace I found the cause of the latency.\n\n   pcscd-2995  3dNh1 52360300us : irq_exit (smp_apic_timer_interrupt)\n   pcscd-2995  3dN.2 52360301us : idle_cpu (irq_exit)\n   pcscd-2995  3dN.2 52360301us : rcu_irq_exit (irq_exit)\n   pcscd-2995  3dN.1 52360771us : smp_apic_timer_interrupt (apic_timer_interrupt\n)\n   pcscd-2995  3dN.1 52360771us : exit_idle (smp_apic_timer_interrupt)\n\nHere\u0027s an example of a 400 us latency. pcscd took a timer interrupt and\nreturned with \"need resched\" enabled, but did not reschedule until after\nthe next interrupt came in at 52360771us 400us later!\n\nAt first I thought we somehow missed a preemption check in entry.S. But\nI also noticed that this always seemed to happen during a __delay call.\n\n   pcscd-2995  3dN.2 52360836us : rcu_irq_exit (irq_exit)\n   pcscd-2995  3.N.. 52361265us : preempt_schedule (__delay)\n\nLooking at the x86 delay, I found my problem.\n\nIn git commit 35d5d08a085c56f153458c3f5d8ce24123617faf, Andrew Morton\nplaced preempt_disable around the entire delay due to TSC\u0027s not working\nnicely on SMP.  Unfortunately for those that care about latencies this\nis devastating! Especially when we have callers to mdelay(8).\n\nHere I enable preemption during the loop and account for anytime the task\nmigrates to a new CPU. The delay asked for may be extended a bit by\nthe migration, but delay only guarantees that it will delay for that minimum\ntime. Delaying longer should not be an issue.\n\n[\n  Thanks to Thomas Gleixner for spotting that cpu wasn\u0027t updated,\n    and to place the rep_nop between preempt_enabled/disable.\n]\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: akpm@osdl.org\nCc: Clark Williams \u003cclark.williams@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \"Luis Claudio R. Goncalves\" \u003clclaudio@uudg.org\u003e\nCc: Gregory Haskins \u003cghaskins@novell.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi-suse@firstfloor.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "81d68a96a39844853b37f20cc8282d9b65b78ef3",
      "tree": "bbc05f415930c15fb5a1004620bd77585fcec43a",
      "parents": [
        "352ad25aa4a189c667cb2af333948d34692a2d27"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 12 21:20:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 20:32:46 2008 +0200"
      },
      "message": "ftrace: trace irq disabled critical timings\n\nThis patch adds latency tracing for critical timings\n(how long interrupts are disabled for).\n\n \"irqsoff\" is added to /debugfs/tracing/available_tracers\n\nNote:\n  tracing_max_latency\n    also holds the max latency for irqsoff (in usecs).\n   (default to large number so one must start latency tracing)\n\n  tracing_thresh\n    threshold (in usecs) to always print out if irqs off\n    is detected to be longer than stated here.\n    If irq_thresh is non-zero, then max_irq_latency\n    is ignored.\n\nHere\u0027s an example of a trace with ftrace_enabled \u003d 0\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc7\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n--------------------------------------------------------------------\n latency: 100 us, #3/3, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0)\n    -----------------\n \u003d\u003e started at: _spin_lock_irqsave+0x2a/0xb7\n \u003d\u003e ended at:   _spin_unlock_irqrestore+0x32/0x5f\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n swapper-0     1d.s3    0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000])\n swapper-0     1d.s3  100us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1d.s3  100us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAnd this is a trace with ftrace_enabled \u003d\u003d 1\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npreemption latency trace v1.1.5 on 2.6.24-rc7\n--------------------------------------------------------------------\n latency: 102 us, #12/12, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)\n    -----------------\n    | task: swapper-0 (uid:0 nice:0 policy:0 rt_prio:0)\n    -----------------\n \u003d\u003e started at: _spin_lock_irqsave+0x2a/0xb7\n \u003d\u003e ended at:   _spin_unlock_irqrestore+0x32/0x5f\n\n                 _------\u003d\u003e CPU#\n                / _-----\u003d\u003e irqs-off\n               | / _----\u003d\u003e need-resched\n               || / _---\u003d\u003e hardirq/softirq\n               ||| / _--\u003d\u003e preempt-depth\n               |||| /\n               |||||     delay\n   cmd     pid ||||| time  |   caller\n      \\   /    |||||   \\   |   /\n swapper-0     1dNs3    0us+: _spin_lock_irqsave+0x2a/0xb7 (e1000_update_stats+0x47/0x64c [e1000])\n swapper-0     1dNs3   46us : e1000_read_phy_reg+0x16/0x225 [e1000] (e1000_update_stats+0x5e2/0x64c [e1000])\n swapper-0     1dNs3   46us : e1000_swfw_sync_acquire+0x10/0x99 [e1000] (e1000_read_phy_reg+0x49/0x225 [e1000])\n swapper-0     1dNs3   46us : e1000_get_hw_eeprom_semaphore+0x12/0xa6 [e1000] (e1000_swfw_sync_acquire+0x36/0x99 [e1000])\n swapper-0     1dNs3   47us : __const_udelay+0x9/0x47 (e1000_read_phy_reg+0x116/0x225 [e1000])\n swapper-0     1dNs3   47us+: __delay+0x9/0x50 (__const_udelay+0x45/0x47)\n swapper-0     1dNs3   97us : preempt_schedule+0xc/0x84 (__delay+0x4e/0x50)\n swapper-0     1dNs3   98us : e1000_swfw_sync_release+0xc/0x55 [e1000] (e1000_read_phy_reg+0x211/0x225 [e1000])\n swapper-0     1dNs3   99us+: e1000_put_hw_eeprom_semaphore+0x9/0x35 [e1000] (e1000_swfw_sync_release+0x50/0x55 [e1000])\n swapper-0     1dNs3  101us : _spin_unlock_irqrestore+0xe/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1dNs3  102us : _spin_unlock_irqrestore+0x32/0x5f (e1000_update_stats+0x641/0x64c [e1000])\n swapper-0     1dNs3  102us : trace_hardirqs_on_caller+0x75/0x89 (_spin_unlock_irqrestore+0x32/0x5f)\n\nvim:ft\u003dhelp\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "89804c022fe32541f5dd40a69e48ff4678d9ad24",
      "tree": "3a58251be5d4537c3ed8323602abf3ff3ddd3878",
      "parents": [
        "8c45a4e4f2b9bed6b6c54aaafc89e906284ccdf2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 13 10:36:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 13 19:38:47 2008 +0200"
      },
      "message": "x86: fix csum_partial() export\n\nFix this symbol export problem:\n\n    Building modules, stage 2.\n    MODPOST 193 modules\n    ERROR: \"csum_partial\" [fs/reiserfs/reiserfs.ko] undefined!\n    make[1]: *** [__modpost] Error 1\n    make: *** [modules] Error 2\n\nThis is due to a known weakness of symbol exports: if a symbol\u0027s\nonly in-core user is an EXPORT_SYMBOL from a lib-y section, the\nsymbol is not linked in.\n\nThe solution is to move the export to x8664_ksyms_64.c - but the real\nsolution would be to fix kbuild.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5245698f665c4b7a533dcc47a5afdf33095d436a",
      "tree": "5e417154f181e523c8491ec263eb71fbaf8ec0da",
      "parents": [
        "3a48305028aa38afba93fc05066c71a6ee668ad8"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Tue Apr 01 17:47:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:17 2008 +0200"
      },
      "message": "x86, UML: remove x86-specific implementations of find_first_bit\n\nx86 has been switched to the generic versions of find_first_bit\nand find_first_zero_bit, but the original versions were retained.\nThis patch just removes the now unused x86-specific versions.\n\nalso update UML.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2aba6925fdb96428d1129a61b1233597a03a387b",
      "tree": "9ab7d292e681012c43671dd207b20e2c6a10ebcb",
      "parents": [
        "77b9bd9c49442407804c37bcc82021a35277f83c"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Tue Apr 01 17:41:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "x86: switch 64-bit to generic find_first_bit\n\nSwitch x86_64 to generic find_first_bit. The x86_64-specific\nimplementation is not removed.\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6fd92b63d0626a8fe7eb8e2e50d19ecaa18cb412",
      "tree": "840f6cf998c251cdfcae37a03f34b34ac5bea3a5",
      "parents": [
        "18e413f7193ed2f6991d959863f46330813aa242"
      ],
      "author": {
        "name": "Alexander van Heukelum",
        "email": "heukelum@mailshack.com",
        "time": "Sun Mar 09 21:01:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 26 19:21:16 2008 +0200"
      },
      "message": "x86: change x86 to use generic find_next_bit\n\nThe versions with inline assembly are in fact slower on the machines I\ntested them on (in userspace) (Athlon XP 2800+, p4-like Xeon 2.8GHz, AMD\nOpteron 270). The i386-version needed a fix similar to 06024f21 to avoid\ncrashing the benchmark.\n\nBenchmark using: gcc -fomit-frame-pointer -Os. For each bitmap size\n1...512, for each possible bitmap with one bit set, for each possible\noffset: find the position of the first bit starting at offset. If you\nfollow ;). Times include setup of the bitmap and checking of the\nresults.\n\n\t\tAthlon\t\tXeon\t\tOpteron 32/64bit\nx86-specific:\t0m3.692s\t0m2.820s\t0m3.196s / 0m2.480s\ngeneric:\t0m2.622s\t0m1.662s\t0m2.100s / 0m1.572s\n\nIf the bitmap size is not a multiple of BITS_PER_LONG, and no set\n(cleared) bit is found, find_next_bit (find_next_zero_bit) returns a\nvalue outside of the range [0, size]. The generic version always returns\nexactly size. The generic version also uses unsigned long everywhere,\nwhile the x86 versions use a mishmash of int, unsigned (int), long and\nunsigned long.\n\nUsing the generic version does give a slightly bigger kernel, though.\n\ndefconfig:\t   text    data     bss     dec     hex filename\nx86-specific:\t4738555  481232  626688 5846475  5935cb vmlinux (32 bit)\ngeneric:\t4738621  481232  626688 5846541  59360d vmlinux (32 bit)\nx86-specific:\t5392395  846568  724424 6963387  6a40bb vmlinux (64 bit)\ngeneric:\t5392458  846568  724424 6963450  6a40fa vmlinux (64 bit)\n\nSigned-off-by: Alexander van Heukelum \u003cheukelum@fastmail.fm\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "9e9abecfc0ff3a9ad2ead954b37bbfcb863c775e"
}
