)]}'
{
  "log": [
    {
      "commit": "ef26b1691d11e17af205a4ff9c91458d931d11db",
      "tree": "5db199f404ca18f6c9e8617b684e9165ca365e30",
      "parents": [
        "a77d2e081bbbccb38f42da45500dd089756efdfb",
        "7cff7ce94a7df2ccf5ac76b48ee0995fee2060df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:32:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:32:03 2009 -0800"
      },
      "message": "Merge branch \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  include/linux/compiler-gcc4.h: Fix build bug - gcc-4.0.2 doesn\u0027t understand __builtin_object_size\n  x86/alternatives: No need for alternatives-asm.h to re-invent stuff already in asm.h\n  x86/alternatives: Check replacementlen \u003c\u003d instrlen at build time\n  x86, 64-bit: Set data segments to null after switching to 64-bit mode\n  x86: Clean up the loadsegment() macro\n  x86: Optimize loadsegment()\n  x86: Add missing might_fault() checks to copy_{to,from}_user()\n  x86-64: __copy_from_user_inatomic() adjustments\n  x86: Remove unused thread_return label from switch_to()\n  x86, 64-bit: Fix bstep_iret jump\n  x86: Don\u0027t use the strict copy checks when branch profiling is in use\n  x86, 64-bit: Move K8 B step iret fixup to fault entry asm\n  x86: Generate cmpxchg build failures\n  x86: Add a Kconfig option to turn the copy_from_user warnings into errors\n  x86: Turn the copy_from_user check into an (optional) compile time warning\n  x86: Use __builtin_memset and __builtin_memcpy for memset/memcpy\n  x86: Use __builtin_object_size() to validate the buffer size for copy_from_user()\n"
    },
    {
      "commit": "96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1",
      "tree": "3cec6d72a450735fe6b8ed996c7399f57c05a5cb",
      "parents": [
        "7a797cdcca2b3c0031e580203f18d6c9483aaec5",
        "b8007ef7422270864eae523cb38d7522a53a94d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (40 commits)\n  tracing: Separate raw syscall from syscall tracer\n  ring-buffer-benchmark: Add parameters to set produce/consumer priorities\n  tracing, function tracer: Clean up strstrip() usage\n  ring-buffer benchmark: Run producer/consumer threads at nice +19\n  tracing: Remove the stale include/trace/power.h\n  tracing: Only print objcopy version warning once from recordmcount\n  tracing: Prevent build warning: \u0027ftrace_graph_buf\u0027 defined but not used\n  ring-buffer: Move access to commit_page up into function used\n  tracing: do not disable interrupts for trace_clock_local\n  ring-buffer: Add multiple iterations between benchmark timestamps\n  kprobes: Sanitize struct kretprobe_instance allocations\n  tracing: Fix to use __always_unused attribute\n  compiler: Introduce __always_unused\n  tracing: Exit with error if a weak function is used in recordmcount.pl\n  tracing: Move conditional into update_funcs() in recordmcount.pl\n  tracing: Add regex for weak functions in recordmcount.pl\n  tracing: Move mcount section search to front of loop in recordmcount.pl\n  tracing: Fix objcopy revision check in recordmcount.pl\n  tracing: Check absolute path of input file in recordmcount.pl\n  tracing: Correct the check for number of arguments in recordmcount.pl\n  ...\n"
    },
    {
      "commit": "38938c879eb0c39edf85d5164aa0cffe2874304c",
      "tree": "fdcc22972a02219dcb385dae868f6e708523dfe7",
      "parents": [
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Dec 04 17:44:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:10:12 2009 -0800"
      },
      "message": "Add support for GCC-4.5\u0027s __builtin_unreachable() to compiler.h (v2)\n\nStarting with version 4.5, GCC has a new built-in function\n__builtin_unreachable() that can be used in places like the kernel\u0027s\nBUG() where inline assembly is used to transfer control flow.  This\neliminated the need for an endless loop in these places.\n\nThe patch adds a new macro \u0027unreachable()\u0027 that will expand to either\n__builtin_unreachable() or an endless loop depending on the compiler\nversion.\n\nChange from v1: Simplify unreachable() for non-GCC 4.5 case.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b2a35132ad0a70902dcd2844c27ed64cda0ce9b",
      "tree": "f800a7d536d7850ac5cfeca5eb576f9af568751d",
      "parents": [
        "c4b8ac2c1aee1398b9378b8730bac56294b3410b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Nov 02 08:50:52 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 02 15:47:54 2009 +0100"
      },
      "message": "compiler: Introduce __always_unused\n\nI wrote some code which is used as compile-time checker, and the\ncode should be elided after compile.\n\nSo I need to annotate the code as \"always unused\", compared to\n\"maybe unused\".\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c4AEE2CEC.8040206@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "63312b6a6faae3f2e5577f2b001e3b504f10a2aa",
      "tree": "5ef6f8449d844652c7046c2659409ef8297f3e0b",
      "parents": [
        "4a3127693001c61a21d1ce680db6340623f52e93"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Fri Oct 02 07:50:50 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 02 19:01:42 2009 +0200"
      },
      "message": "x86: Add a Kconfig option to turn the copy_from_user warnings into errors\n\nFor automated testing it is useful to have the option to turn\nthe warnings on copy_from_user() etc checks into errors:\n\n In function ‘copy_from_user’,\n     inlined from ‘fd_copyin’ at drivers/block/floppy.c:3080,\n     inlined from ‘fd_ioctl’ at drivers/block/floppy.c:3503:\n   linux/arch/x86/include/asm/uaccess_32.h:213:\n  error: call to ‘copy_from_user_overflow’ declared with attribute error:\n  copy_from_user buffer size is not provably correct\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c20091002075050.4e9f7641@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4a3127693001c61a21d1ce680db6340623f52e93",
      "tree": "380f5f64098926e8b3f64785580cfdac1b8b3b96",
      "parents": [
        "ff60fab71bb3b4fdbf8caf57ff3739ffd0887396"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Wed Sep 30 13:05:23 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 01 11:31:04 2009 +0200"
      },
      "message": "x86: Turn the copy_from_user check into an (optional) compile time warning\n\nA previous patch added the buffer size check to copy_from_user().\n\nOne of the things learned from analyzing the result of the previous\npatch is that in general, gcc is really good at proving that the\ncode contains sufficient security checks to not need to do a\nruntime check. But that for those cases where gcc could not prove\nthis, there was a relatively high percentage of real security\nissues.\n\nThis patch turns the case of \"gcc cannot prove\" into a compile time\nwarning, as long as a sufficiently new gcc is in use that supports\nthis. The objective is that these warnings will trigger developers\nchecking new cases out before a security hole enters a linux kernel\nrelease.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nLKML-Reference: \u003c20090930130523.348ae6c4@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f0cf4adb6aa0bfccf675c938124e68f7f06349d",
      "tree": "2045a8fa0b207a8adb288eb144c593db7d1f2f0b",
      "parents": [
        "704daf55c7297e727021063cb5d8ba1c55b84426"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Sep 26 14:33:01 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 26 16:25:41 2009 +0200"
      },
      "message": "x86: Use __builtin_object_size() to validate the buffer size for copy_from_user()\n\ngcc (4.x) supports the __builtin_object_size() builtin, which\nreports the size of an object that a pointer point to, when known\nat compile time. If the buffer size is not known at compile time, a\nconstant -1 is returned.\n\nThis patch uses this feature to add a sanity check to\ncopy_from_user(); if the target buffer is known to be smaller than\nthe copy size, the copy is aborted and a WARNing is emitted in\nmemory debug mode.\n\nThese extra checks compile away when the object size is not known,\nor if both the buffer size and the copy length are constants.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nLKML-Reference: \u003c20090926143301.2c396b94@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d2c123c27db841c6c11a63de9c144823d2b1ba76",
      "tree": "ee9de1ca10681c1f632020783e8a31ec61f35c4e",
      "parents": [
        "45fcc70c0b6ee0c508e1fdb5fef735c3546803f4"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 21:46:56 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jun 12 21:46:57 2009 +0930"
      },
      "message": "module_param: add __same_type convenience wrapper for __builtin_types_compatible_p\n\nImpact: new API\n\n__builtin_types_compatible_p() is a little awkward to use: it takes two\ntypes rather than types or variables, and it\u0027s just damn long.\n\n(typeof(type) \u003d\u003d type, so this works on types as well as vars).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ab3c9c686e22ab264269337ce7b75d9760211198",
      "tree": "613445ecfef2b6a0dc2e4300ff8b463f7968f84f",
      "parents": [
        "d9ad8bc0ca823705413f75b50c442a88cc518b35"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 07:59:41 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 17:07:41 2009 +0200"
      },
      "message": "branch tracer, intel-iommu: fix build with CONFIG_BRANCH_TRACER\u003dy\n\nFix the branch tracer barfing on comma statements within if ()\nstatements.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d9ad8bc0ca823705413f75b50c442a88cc518b35",
      "tree": "183a754f2c4f6259cd13ccbb83747d11daf046f2",
      "parents": [
        "1bbe2a83ab68e5cf8c66c372c7cb3b51910c2cfe"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bart.vanassche@gmail.com",
        "time": "Sun Apr 05 16:20:02 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 07 17:07:40 2009 +0200"
      },
      "message": "branch tracer: Fix for enabling branch profiling makes sparse unusable\n\nOne of the changes between kernels 2.6.28 and 2.6.29 is that a branch profiler\nhas been added for if() statements. Unfortunately this patch makes the sparse\noutput unusable with CONFIG_TRACE_BRANCH_PROFILING\u003dy: when branch profiling is\nenabled, sparse prints so much false positives that the real issues are no\nlonger visible. This behavior can be reproduced as follows:\n* enable CONFIG_TRACE_BRANCH_PROFILING, e.g. by running make allyesconfig or\n  make allmodconfig.\n* run make C\u003d2\n\nResult: a huge number of the following sparse warnings.\n...\ninclude/linux/cpumask.h:547:2: warning: symbol \u0027______r\u0027 shadows an earlier one\ninclude/linux/cpumask.h:547:2: originally declared here\n...\n\nThe patch below fixes this by disabling branch profiling while analyzing the\nkernel code with sparse.\n\nSee also:\n* http://lkml.org/lkml/2008/11/21/18\n* http://bugzilla.kernel.org/show_bug.cgi?id\u003d12925\n\nSigned-off-by: Bart Van Assche \u003cbart.vanassche@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nLKML-Reference: \u003c200904051620.02311.bart.vanassche@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "97e7e4f391cac2b00417b581b432533d245d4fd0",
      "tree": "d51d4776962f5838f4cb4cc804d2c94db185527d",
      "parents": [
        "af4617bdba34aa556272b34c3986b0a4d588f568"
      ],
      "author": {
        "name": "Witold Baryluk",
        "email": "baryluk@smp.if.uj.edu.pl",
        "time": "Tue Mar 17 21:15:44 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 17 23:10:43 2009 -0400"
      },
      "message": "tracing: optimization of branch tracer\n\nImpact: better performance for if branch tracer\n\nUse an array to count the hit and misses of a conditional instead\nof using another conditional. This cuts down on saturation of branch\npredictions and increases performance of modern pipelined architectures.\n\nSigned-off-by: Witold Baryluk \u003cbaryluk@smp.if.uj.edu.pl\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "f153b82121b0366fe0e5f9553545cce237335175",
      "tree": "cba4b60e9129fbcdfc254386954f0f17dba0c15d",
      "parents": [
        "b58602a4bac012b5f4fc12fe6b46ab237b610d5d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 09:23:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 09:23:03 2009 -0800"
      },
      "message": "Sanitize gcc version header includes\n\n - include the gcc version-dependent header files from the generic gcc\n   header file, rather than the other way around (iow: don\u0027t make the\n   non-gcc header file have to know about gcc versions)\n\n - don\u0027t include compiler-gcc4.h for gcc 5 (for whenever it gets\n   released).  That\u0027s just confusing and made us do odd things in the\n   gcc4 header file (testing that we really had version 4!)\n\n - generate the name from the __GNUC__ version directly, rather than\n   having a mess of #if conditionals.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2bcd521a684cc94befbe2ce7d5b613c841b0d304",
      "tree": "63bc4dbc52defa27c8cac9e46dddadfcb36c1c7a",
      "parents": [
        "bac28bfe42ba98ee67503f78984d1d5e1ebbbb78"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 21 01:30:54 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 11:41:01 2008 +0100"
      },
      "message": "trace: profile all if conditionals\n\nImpact: feature to profile if statements\n\nThis patch adds a branch profiler for all if () statements.\nThe results will be found in:\n\n  /debugfs/tracing/profile_branch\n\nFor example:\n\n   miss      hit    %        Function                  File              Line\n ------- ---------  -        --------                  ----              ----\n       0        1 100 x86_64_start_reservations      head64.c             127\n       0        1 100 copy_bootdata                  head64.c             69\n       1        0   0 x86_64_start_kernel            head64.c             111\n      32        0   0 set_intr_gate                  desc.h               319\n       1        0   0 reserve_ebda_region            head.c               51\n       1        0   0 reserve_ebda_region            head.c               47\n       0        1 100 reserve_ebda_region            head.c               42\n       0        0   X maxcpus                        main.c               165\n\nMiss means the branch was not taken. Hit means the branch was taken.\nThe percent is the percentage the branch was taken.\n\nThis adds a significant amount of overhead and should only be used\nby those analyzing their system.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "45b797492a0758e64dff74e9db70e1f65e0603a5",
      "tree": "75db13ee888a6c7f90c92c17a743bff8ce42d86a",
      "parents": [
        "42f565e116e0408b5ddc21a33c4a4d41fd572420"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 21 00:40:40 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 11:39:56 2008 +0100"
      },
      "message": "trace: consolidate unlikely and likely profiler\n\nImpact: clean up to make one profiler of like and unlikely tracer\n\nThe likely and unlikely profiler prints out the file and line numbers\nof the annotated branches that it is profiling. It shows the number\nof times it was correct or incorrect in its guess. Having two\ndifferent files or sections for that matter to tell us if it was a\nlikely or unlikely is pretty pointless. We really only care if\nit was correct or not.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "42f565e116e0408b5ddc21a33c4a4d41fd572420",
      "tree": "d4599c10d5771c91615e5ec9f6cdf4315b6e4091",
      "parents": [
        "a0a70c735ef714fe1b6777b571630c3d50c7b008"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 20 23:57:47 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 11:39:28 2008 +0100"
      },
      "message": "trace: remove extra assign in branch check\n\nImpact: clean up of branch check\n\nThe unlikely/likely profiler does an extra assign of the f.line.\nThis is not needed since it is already calculated at compile time.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2ed84eeb8808cf3c9f039213ca137ffd7d753f0e",
      "tree": "3aa22269a1fd5ed0b66826120ca9b572400962b5",
      "parents": [
        "68d119f0a66f7e3663304343b072e56a2693446b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 12 15:24:24 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 22:27:58 2008 +0100"
      },
      "message": "trace: rename unlikely profiler to branch profiler\n\nImpact: name change of unlikely tracer and profiler\n\nIngo Molnar suggested changing the config from UNLIKELY_PROFILE\nto BRANCH_PROFILING. I never did like the \"unlikely\" name so I\nwent one step farther, and renamed all the unlikely configurations\nto a \"BRANCH\" variant.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b7d0390a6d6d595f43ea3806639664afe5b9ebe",
      "tree": "661cd33467685dd268e35d7e4dc1dbf2aa83d994",
      "parents": [
        "f88c4ae9f8c3939bee4337c75c7a673b5de7a8a7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 13:17:38 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 13:26:38 2008 +0100"
      },
      "message": "tracing: branch tracer, fix vdso crash\n\nImpact: fix bootup crash\n\nthe branch tracer missed arch/x86/vdso/vclock_gettime.c from\ndisabling tracing, which caused such bootup crashes:\n\n  [  201.840097] init[1]: segfault at 7fffed3fe7c0 ip 00007fffed3fea2e sp 000077\n\nalso clean up the ugly ifdefs in arch/x86/kernel/vsyscall_64.c by\ncreating DISABLE_UNLIKELY_PROFILE facility for code to turn off\ninstrumentation on a per file basis.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1f0d69a9fc815db82f15722bf05227190b1d714d",
      "tree": "21e0a9664fd47827d9168938a965b39b85b6e287",
      "parents": [
        "cb9382e5a94e54d0356d730954396c746ae66d6e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 00:14:39 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 11:52:02 2008 +0100"
      },
      "message": "tracing: profile likely and unlikely annotations\n\nImpact: new unlikely/likely profiler\n\nAndrew Morton recently suggested having an in-kernel way to profile\nlikely and unlikely macros. This patch achieves that goal.\n\nWhen configured, every(*) likely and unlikely macro gets a counter attached\nto it. When the condition is hit, the hit and misses of that condition\nare recorded. These numbers can later be retrieved by:\n\n  /debugfs/tracing/profile_likely    - All likely markers\n  /debugfs/tracing/profile_unlikely  - All unlikely markers.\n\n# cat /debug/tracing/profile_unlikely | head\n correct incorrect  %        Function                  File              Line\n ------- ---------  -        --------                  ----              ----\n    2167        0   0 do_arch_prctl                  process_64.c         832\n       0        0   0 do_arch_prctl                  process_64.c         804\n    2670        0   0 IS_ERR                         err.h                34\n   71230     5693   7 __switch_to                    process_64.c         673\n   76919        0   0 __switch_to                    process_64.c         639\n   43184    33743  43 __switch_to                    process_64.c         624\n   12740    64181  83 __switch_to                    process_64.c         594\n   12740    64174  83 __switch_to                    process_64.c         590\n\n# cat /debug/tracing/profile_unlikely | \\\n  awk \u0027{ if ($3 \u003e 25) print $0; }\u0027 |head -20\n   44963    35259  43 __switch_to                    process_64.c         624\n   12762    67454  84 __switch_to                    process_64.c         594\n   12762    67447  84 __switch_to                    process_64.c         590\n    1478      595  28 syscall_get_error              syscall.h            51\n       0     2821 100 syscall_trace_leave            ptrace.c             1567\n       0        1 100 native_smp_prepare_cpus        smpboot.c            1237\n   86338   265881  75 calc_delta_fair                sched_fair.c         408\n  210410   108540  34 calc_delta_mine                sched.c              1267\n       0    54550 100 sched_info_queued              sched_stats.h        222\n   51899    66435  56 pick_next_task_fair            sched_fair.c         1422\n       6       10  62 yield_task_fair                sched_fair.c         982\n    7325     2692  26 rt_policy                      sched.c              144\n       0     1270 100 pre_schedule_rt                sched_rt.c           1261\n    1268    48073  97 pick_next_task_rt              sched_rt.c           884\n       0    45181 100 sched_info_dequeued            sched_stats.h        177\n       0       15 100 sched_move_task                sched.c              8700\n       0       15 100 sched_move_task                sched.c              8690\n   53167    33217  38 schedule                       sched.c              4457\n       0    80208 100 sched_info_switch              sched_stats.h        270\n   30585    49631  61 context_switch                 sched.c              2619\n\n# cat /debug/tracing/profile_likely | awk \u0027{ if ($3 \u003e 25) print $0; }\u0027\n   39900    36577  47 pick_next_task                 sched.c              4397\n   20824    15233  42 switch_mm                      mmu_context_64.h     18\n       0        7 100 __cancel_work_timer            workqueue.c          560\n     617    66484  99 clocksource_adjust             timekeeping.c        456\n       0   346340 100 audit_syscall_exit             auditsc.c            1570\n      38   347350  99 audit_get_context              auditsc.c            732\n       0   345244 100 audit_syscall_entry            auditsc.c            1541\n      38     1017  96 audit_free                     auditsc.c            1446\n       0     1090 100 audit_alloc                    auditsc.c            862\n    2618     1090  29 audit_alloc                    auditsc.c            858\n       0        6 100 move_masked_irq                migration.c          9\n       1      198  99 probe_sched_wakeup             trace_sched_switch.c 58\n       2        2  50 probe_wakeup                   trace_sched_wakeup.c 227\n       0        2 100 probe_wakeup_sched_switch      trace_sched_wakeup.c 144\n    4514     2090  31 __grab_cache_page              filemap.c            2149\n   12882   228786  94 mapping_unevictable            pagemap.h            50\n       4       11  73 __flush_cpu_slab               slub.c               1466\n  627757   330451  34 slab_free                      slub.c               1731\n    2959    61245  95 dentry_lru_del_init            dcache.c             153\n     946     1217  56 load_elf_binary                binfmt_elf.c         904\n     102       82  44 disk_put_part                  genhd.h              206\n       1        1  50 dst_gc_task                    dst.c                82\n       0       19 100 tcp_mss_split_point            tcp_output.c         1126\n\nAs you can see by the above, there\u0027s a bit of work to do in rethinking\nthe use of some unlikelys and likelys. Note: the unlikely case had 71 hits\nthat were more than 25%.\n\nNote:  After submitting my first version of this patch, Andrew Morton\n  showed me a version written by Daniel Walker, where I picked up\n  the following ideas from:\n\n  1)  Using __builtin_constant_p to avoid profiling fixed values.\n  2)  Using __FILE__ instead of instruction pointers.\n  3)  Using the preprocessor to stop all profiling of likely\n       annotations from vsyscall_64.c.\n\nThanks to Andrew Morton, Arjan van de Ven, Theodore Tso and Ingo Molnar\nfor their feed back on this patch.\n\n(*) Not ever unlikely is recorded, those that are used by vsyscalls\n (a few of them) had to have profiling disabled.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "28614889bcb2558a47d02d52394b7fd9795a9547",
      "tree": "1b9e3b91c6db5927a6e53f5f1175aa25b27c4a9f",
      "parents": [
        "a9fdda33cd7c7519b082e37538fe790f9ff684bb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 14 22:47:18 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:35:08 2008 +0200"
      },
      "message": "ftrace: move notrace to compiler.h\n\nThe notrace define belongs in compiler.h so that it can be used in\ninit.h\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ded00a56e99555c3f4000ef3eebfd5fe0d574565",
      "tree": "384e81f0780de2fb89a82dd341cb24ce2f4364cf",
      "parents": [
        "cd95851785bcfe95fdf73689e8ecb5a1c5959231"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Aug 17 12:50:36 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 18 09:45:22 2008 +0200"
      },
      "message": "rcu: remove redundant ACCESS_ONCE definition from rcupreempt.c\n\nRemove the redundant definition of ACCESS_ONCE() from rcupreempt.c in\nfavor of the one in compiler.h.  Also merge the comment header from\nrcupreempt.c\u0027s definition into that in compiler.h.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c3cdc1f83a6e07092392ff4aba6466517dbd1d0",
      "tree": "4dc890f607da4f85ca3a66770e4bce109879e69b",
      "parents": [
        "3ed43c745d2ce0c4ca15ad406285d1cc7e8ceec3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 19:51:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 19:51:16 2008 -0700"
      },
      "message": "Move ACCESS_ONCE() to \u003clinux/compiler.h\u003e\n\nIt actually makes much more sense there, and we do tend to need it for\nnon-RCU usage too.  Moving it to \u003clinux/compiler.h\u003e will allow some\nother cases that have open-coded the same logic to use the same helper\nfunction that RCU has used.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "735c4fb916e9f83a9350aeb2680d77d01ea75094",
      "tree": "1e6a80c0aca5982af0ba96f8ab87e5512ad3c9dc",
      "parents": [
        "e8ed857c64e3ae62e27606ae58bc7371b5daccb1"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Mar 04 14:28:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:12 2008 -0800"
      },
      "message": "add noinline_for_stack\n\nPeople are adding `noinline\u0027 in various places to prevent excess stack\nconsumption due to gcc inlining.  But once this is done, it is quite unobvious\nwhy the `noinline\u0027 is present in the code.  We can comment each and every\nsite, or we can use noinline_for_stack.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ff6eecca4e5c49a5d1dd8b58ea0e20102ce08f0",
      "tree": "9af53a5ce0054520be6d572f988a76f3ab4ef0c0",
      "parents": [
        "bc395add945659e04cc7cf250755ba0edc1a9fdc"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Jan 24 22:16:20 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Jan 28 23:21:18 2008 +0100"
      },
      "message": "remove __attribute_used__\n\nRemove the deprecated __attribute_used__.\n\n[Introduce __section in a few places to silence checkpatch /sam]\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "f3fe866d59d707c7a2bba0b23add078e19edb3dc",
      "tree": "e255f81f9401adcaffc101af20ecf54bba033479",
      "parents": [
        "01ba2bdc6b639764745ff678caf3fb9e5bcd745a"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sun Jan 20 18:54:48 2008 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon Jan 28 23:21:17 2008 +0100"
      },
      "message": "compiler.h: introduce __section()\n\nAdd a new helper: __section() that makes a section definition\nmuch shorter and more readable.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "de48844398f81cfdf087d56e12c920d620dae8d5",
      "tree": "b5fa6f7def2bcd53f5b044fc8d632b79654f5d08",
      "parents": [
        "c67c36e4b86872ac875716d502748b84b2541de5"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Oct 25 04:06:13 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 25 15:10:17 2007 -0700"
      },
      "message": "Permit silencing of __deprecated warnings.\n\nThe __deprecated marker is quite useful in highlighting the remnants of\nold APIs that want removing.\n\nHowever, it is quite normal for one or more years to pass, before the\n(usually ancient, bitrotten) code in question is either updated or\ndeleted.\n\nThus, like __must_check, add a Kconfig option that permits the silencing\nof this compiler warning.\n\nThis change mimics the ifdef-ery and Kconfig defaults of MUST_CHECK as\nclosely as possible.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8c44319c691dfb4a0b039b095204c040df9b01a",
      "tree": "66e9262f8a2659afc9b88c570fe6980b32974177",
      "parents": [
        "c80544dc0b87bb65038355e7aafdc30be16b26ab"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Oct 18 03:07:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:32 2007 -0700"
      },
      "message": "Replace __attribute_pure__ with __pure\n\nTo be consistent with the use of attributes in the rest of the kernel\nreplace all use of __attribute_pure__ with __pure and delete the definition\nof __attribute_pure__.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c47ffe3d3d841986108a8316f6e01792cb45d0d2",
      "tree": "2b1e76c2c0309dac0b1051a66ced83178f90bc23",
      "parents": [
        "1f41bb3a5a24c82900b33071edcedec679b99de7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Jul 26 17:35:29 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:11:57 2007 -0700"
      },
      "message": "make __chk_{user,io}_ptr() accept pointers to volatile\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a586df067afe0580bb02b7a6312ca2afe49bba03",
      "tree": "7806fef0876a2fd3da2f4c16919cfc551a65ff72",
      "parents": [
        "b520b85a963bf7b14b9614579aff14558d7ee264"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Jul 21 17:10:00 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 18:37:08 2007 -0700"
      },
      "message": "x86: Support __attribute__((__cold__)) in gcc 4.3\n\ngcc 4.3 supports a new __attribute__((__cold__)) to mark functions cold. Any\npath directly leading to a call of this function will be unlikely. And gcc\nwill try to generate smaller code for the function itself.\n\nPlease use with care. The code generation advantage isn\u0027t large and in most\ncases it is not worth uglifying code with this.\n\nThis patch marks some common error functions like panic(), printk()\nas cold.  This will longer term make many unlikely()s unnecessary, although\nwe can keep them for now for older compilers.\n\nBUG is not marked cold because there is currently no way to tell\ngcc to mark a inline function told.\n\nAlso all __init and __exit functions are marked cold. With a non -Os\nbuild this will tell the compiler to generate slightly smaller code\nfor them. I think it currently only uses less alignments for labels,\nbut that might change in the future.\n\nOne disadvantage over *likely() is that they cannot be easily instrumented\nto verify them.\n\nAnother drawback is that only the latest gcc 4.3 snapshots support this.\nUnfortunately we cannot detect this using the preprocessor. This means older\nsnapshots will fail now. I don\u0027t think that\u0027s a problem because they are\nunreleased compilers that nobody should be using.\n\ngcc also has a __hot__ attribute, but I don\u0027t see any sense in using\nthis in the kernel right now. But someday I hope gcc will be able\nto use more aggressive optimizing for hot functions even in -Os,\nif that happens it should be added.\n\nIncludes compile fix from Thomas Gleixner.\n\nCc: Jan Hubicka \u003cjh@suse.cz\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "21124a82bb82e100369846ff2044dd5ea65fc934",
      "tree": "24375f6b94a644e970aaac1e1a7f6cea1efe20ce",
      "parents": [
        "6c977aad03a18019015035958c65b6729cd0574c"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Mon May 21 14:31:46 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 09:56:57 2007 -0700"
      },
      "message": "x86_64: Support gcc 5 properly\n\nThe ifdef tests were broken.  Assume it acts like gcc 4\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d7ebbbc6eaa5539f78ab20ed6ff1725a4e332ef",
      "tree": "ddef8183ac6440e96678fd4d1159ee86619e2a97",
      "parents": [
        "f7e4217b007d1f73e7e3cf10ba4fea4a608c603f"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed May 09 02:35:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "compiler: introduce __used and __maybe_unused\n\n__used is defined to be __attribute__((unused)) for all pre-3.3 gcc\ncompilers to suppress warnings for unused functions because perhaps they\nare referenced only in inline assembly.  It is defined to be\n__attribute__((used)) for gcc 3.3 and later so that the code is still\nemitted for such functions.\n\n__maybe_unused is defined to be __attribute__((unused)) for both function\nand variable use if it could possibly be unreferenced due to the evaluation\nof preprocessor macros.  Function prototypes shall be marked with\n__maybe_unused if the actual definition of the function is dependant on\npreprocessor macros.\n\nNo update to compiler-intel.h is necessary because ICC supports both\n__attribute__((used)) and __attribute__((unused)) as specified by the gcc\nmanual.\n\n__attribute_used__ is deprecated and will be removed once all current\ncode is converted to using __used.\n\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04a395233089ed160ef87a6c2155e5dedc6f7d15",
      "tree": "bef0b7fc8d245c9cb5299aaa151beb66f74c75b3",
      "parents": [
        "00db779bfe66b9039a6f34b77fe6184820958362"
      ],
      "author": {
        "name": "Russ Cox",
        "email": "rsc@swtch.com",
        "time": "Mon Mar 26 11:23:56 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 26 14:23:52 2007 -0700"
      },
      "message": "[PATCH] Add const to pointer qualifiers for __chk_user_ptr and __chk_io_ptr.\n\nChange prototypes for __chk_user_ptr and __chk_io_ptr to take const\nvoid* instead of void*, so that code can pass \"const void *\" to them.\n\n(Right now sparse does not warn about passing const void* to void*\nfunctions, but that is a separate bug that I believe Josh is working on,\nand once sparse does check this, the changed prototypes will be\nnecessary.)\n\nSigned-off-by: Russ Cox \u003crsc@swtch.com\u003e\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nAcked-by: Christopher Li \u003csparse@chrisli.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53569ab7851fd564427f7529b17162cba9a28407",
      "tree": "b62783b40395572e6d71af71963b961e12edd8d3",
      "parents": [
        "979c6a1e49875e9277b5113295a48d5641f02465"
      ],
      "author": {
        "name": "Alistair John Strachan",
        "email": "s0348365@sms.ed.ac.uk",
        "time": "Tue Dec 12 19:28:50 2006 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Dec 12 19:28:50 2006 +0100"
      },
      "message": "include/linux/compiler.h: reject gcc 3 \u003c gcc 3.2\n\nThe kernel doesn\u0027t compile with GCC \u003c3.2, do not allow it to succeed if GCC\n3.0.x or 3.1.x are used.\n\nSigned-off-by: Alistair John Strachan \u003cs0348365@sms.ed.ac.uk\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "c902e0a0102f1095eec4b3511c13c84ca2bc4577",
      "tree": "d0b276420263d02436a2f10d323407615f48b94f",
      "parents": [
        "df3fe8defedc52745526914e12eb4ba0b8a9f6ca"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Sat Sep 30 23:28:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:26 2006 -0700"
      },
      "message": "[PATCH] Pass sparse the lock expression given to lock annotations\n\nThe lock annotation macros __acquires, __releases, __acquire, and __release\nall currently throw away the lock expression passed as an argument.  Now\nthat sparse can parse __context__ and __attribute__((context)) with a\ncontext expression, pass the lock expression down to sparse as the context\nexpression.  This requires a version of sparse from GIT commit\n37475a6c1c3e66219e68d912d5eb833f4098fd72 or later.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dcc8e559ee5ae03fa6bdb8611d76d86d0083e793",
      "tree": "8847aba4ed68074ec9ab0ef28ee2cdd7937f51d9",
      "parents": [
        "7d2c502f141042f6e5d145aa40107685d751e5a3"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Fri Sep 29 02:01:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:20 2006 -0700"
      },
      "message": "[PATCH] Pass a lock expression to __cond_lock, like __acquire and __release\n\nCurrently, __acquire and __release take a lock expression, but __cond_lock\ntakes only a condition, not the lock acquired if the expression evaluates\nto true.  Change __cond_lock to accept a lock expression, and change all\nthe callers to pass in a lock expression.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cebc04ba9aeb3a646cc746300421fc0e5aa4f253",
      "tree": "a2f47e375960efefd06fd4c3790184f34bd18b6f",
      "parents": [
        "4a7fb6363f2d1a6c09a10253937f672f3c7929e1"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Aug 14 22:43:18 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:39 2006 -0700"
      },
      "message": "add CONFIG_ENABLE_MUST_CHECK\n\nThose 1500 warnings can be a bit of a pain.  Add a config option to shut them\nup.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "423bc7b22bdeb73efeabfcf91d8a459ac33088f1",
      "tree": "511017422848fd9b6164379b10c44f020d5a51a2",
      "parents": [
        "4f79c3ffc6e04623711e86cf9a0e09e4aad8cb36"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 04 00:41:02 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 04 00:41:02 2006 +0100"
      },
      "message": "Restore __attribute_const__ to user-visibility in linux/compiler.h...for now\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "4f79c3ffc6e04623711e86cf9a0e09e4aad8cb36",
      "tree": "cbb828ab47b9350ea57726b7be8d98fe21f23de7",
      "parents": [
        "2683e88413977a7f382106f8e8b3b684a597c761"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue May 02 10:41:25 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue May 02 10:41:25 2006 +0100"
      },
      "message": "Guard some of linux/compiler.h with #ifdef __KERNEL__\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "fd285bb54d8a3e99810090ae88cfe8ed77d1da25",
      "tree": "e6ac6d5dc2cd4c197b7f428df726b9ecfe74d2e9",
      "parents": [
        "fe7d37d1fbf8ffe78abd72728b24fb0c64f7af55"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jan 08 01:04:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:02 2006 -0800"
      },
      "message": "[PATCH] Abandon gcc-2.95.x\n\nThere\u0027s one scsi driver which doesn\u0027t compile due to weird __VA_ARGS__ tricks\nand the rather useful scsi/sd.c is currently getting an ICE.  None of the new\nSAS code compiles, due to extensive use of anonymous unions.  The V4L guys are\nvery good at exploiting the gcc-2.95.x macro expansion bug (_why_ does each\ndriver need to implement its own debug macros?) and various people keep on\nsneaking in anonymous unions, which are rather nice.\n\nPlus anonymous unions are rather useful.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "512345be2549308b8ae8e85a3ff7f6d56a38e5f6",
      "tree": "d3611cf26dff40c5dacfc3ccadf06436442cde8e",
      "parents": [
        "66cf8f1443301a1d5bc9c21709e4264e6919a3e1"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Sun May 01 08:59:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:03 2005 -0700"
      },
      "message": "[PATCH] Add deprecated_for_modules\n\nAdd a deprecated_for_modules macro that allows symbols to be deprecated only\nwhen used by modules, as suggested by Andrew Morton some months back.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
