)]}'
{
  "log": [
    {
      "commit": "bcb5ba8b4e8a5ae14b27351bdf499dd4c3bcc944",
      "tree": "0eaccca57b57868046afbbd52b33101359b01daf",
      "parents": [
        "ede890c2c069d611ece0e184103a6b9236ce416a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 20 19:44:17 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:42 2010 +0200"
      },
      "message": "PM / Runtime: Use alloc_workqueue() for creating the PM workqueue\n\nAlthough we need the PM workqueue to be freezable, we don\u0027t need it\nto be singlethread.  Also, the number of concurrent work items\nrunning on a single CPU need not be constrained.  For these reasons\nuse alloc_workqueue() directly, with suitable arguments, instead of\ncreate_freezeable_workqueue(), to create the runtime PM workqueue.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "ede890c2c069d611ece0e184103a6b9236ce416a",
      "tree": "60c54446878e60d898f233cba2946aeaa7b582b2",
      "parents": [
        "f996fc9671d088bd5f52a70f18c64bfe3d0e418f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Sep 12 21:40:01 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:42 2010 +0200"
      },
      "message": "PM: Fix unmet dependency warning from kconfig\n\nFix the following build warning:\n\nwarning: (PM_SLEEP_SMP \u0026\u0026 SMP \u0026\u0026 (ARCH_SUSPEND_POSSIBLE || \\\nARCH_HIBERNATION_POSSIBLE) \u0026\u0026 PM_SLEEP) selects HOTPLUG_CPU which \\\nhas unmet direct dependencies (SMP \u0026\u0026 HOTPLUG)\n\nby selecting HOTPLUG along with CPU_HOTPLUG.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "f996fc9671d088bd5f52a70f18c64bfe3d0e418f",
      "tree": "3d88b5adfa21fc71cbabb9a891d37b0c1ce1c692",
      "parents": [
        "05aa55dddb9ee4045c320661068bea78dad6a6e5"
      ],
      "author": {
        "name": "Bojan Smojver",
        "email": "bojan@rexursive.com",
        "time": "Thu Sep 09 23:06:23 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:42 2010 +0200"
      },
      "message": "PM / Hibernate: Compress hibernation image with LZO\n\nCompress hibernation image with LZO in order to save on I/O and\ntherefore time to hibernate/thaw.\n\n[rjw: Added hibernate\u003dnocompress command line option instead of just\n nocompress which would be confusing, fixed a couple of compiler\n warnings, fixed kerneldoc comments, minor cleanups.]\n\nSigned-off-by: Bojan Smojver \u003cbojan@rexursive.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "a9febbb4bd1302b6f01aa1203b0a804e4e5c9e25",
      "tree": "7367bee631d0a050e0d392102dd652ec48a57a08",
      "parents": [
        "5a2b3ef4559f3d0ef58cbfb723f528f1c6b2e601"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 15 14:34:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 15 14:42:24 2010 -0700"
      },
      "message": "sysctl: min/max bounds are optional\n\nsysctl check complains with a WARN() when proc_doulongvec_minmax() or\nproc_doulongvec_ms_jiffies_minmax() are used by a vector of longs (with\nmore than one element), with no min or max value specified.\n\nThis is unexpected, given we had a bug on this min/max handling :)\n\nReported-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f13d4f979c518119bba5439dd2364d76d31dcd3f",
      "tree": "952be8d19f13a3f0942c67c1f0d400d8dab472ea",
      "parents": [
        "53eeb64e808971207350386121f4bab12fa2f45f"
      ],
      "author": {
        "name": "Salman Qazi",
        "email": "sqazi@google.com",
        "time": "Tue Oct 12 07:25:19 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 14 13:29:59 2010 +0200"
      },
      "message": "hrtimer: Preserve timer state in remove_hrtimer()\n\nThe race is described as follows:\n\nCPU X                                 CPU Y\nremove_hrtimer\n// state \u0026 QUEUED \u003d\u003d 0\ntimer-\u003estate \u003d CALLBACK\nunlock timer base\ntimer-\u003ef(n) //very long\n                                  hrtimer_start\n                                    lock timer base\n                                    remove_hrtimer // no effect\n                                    hrtimer_enqueue\n                                    timer-\u003estate \u003d CALLBACK |\n                                                   QUEUED\n                                    unlock timer base\n                                  hrtimer_start\n                                    lock timer base\n                                    remove_hrtimer\n                                        mode \u003d INACTIVE\n                                        // CALLBACK bit lost!\n                                    switch_hrtimer_base\n                                            CALLBACK bit not set:\n                                                    timer-\u003ebase\n                                                    changes to a\n                                                    different CPU.\nlock this CPU\u0027s timer base\n\nThe bug was introduced with commit ca109491f (hrtimer: removing all ur\ncallback modes) in 2.6.29\n\n[ tglx: Feed new state via local variable and add a comment. ]\n\nSigned-off-by: Salman Qazi \u003csqazi@google.com\u003e\nCc: akpm@linux-foundation.org\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20101012142351.8485.21823.stgit@dungbeetle.mtv.corp.google.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "d01343244abdedd18303d0323b518ed9cdcb1988",
      "tree": "ec3dff2c73f7fb5a728c4b2271028da3a51cdcd7",
      "parents": [
        "c1e028ef40b8d6943b767028ba17d4f2ba020edb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Oct 12 12:06:43 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Oct 12 12:06:43 2010 -0400"
      },
      "message": "ring-buffer: Fix typo of time extends per page\n\nTime stamps for the ring buffer are created by the difference between\ntwo events. Each page of the ring buffer holds a full 64 bit timestamp.\nEach event has a 27 bit delta stamp from the last event. The unit of time\nis nanoseconds, so 27 bits can hold ~134 milliseconds. If two events\nhappen more than 134 milliseconds apart, a time extend is inserted\nto add more bits for the delta. The time extend has 59 bits, which\nis good for ~18 years.\n\nCurrently the time extend is committed separately from the event.\nIf an event is discarded before it is committed, due to filtering,\nthe time extend still exists. If all events are being filtered, then\nafter ~134 milliseconds a new time extend will be added to the buffer.\n\nThis can only happen till the end of the page. Since each page holds\na full timestamp, there is no reason to add a time extend to the\nbeginning of a page. Time extends can only fill a page that has actual\ndata at the beginning, so there is no fear that time extends will fill\nmore than a page without any data.\n\nWhen reading an event, a loop is made to skip over time extends\nsince they are only used to maintain the time stamp and are never\ngiven to the caller. As a paranoid check to prevent the loop running\nforever, with the knowledge that time extends may only fill a page,\na check is made that tests the iteration of the loop, and if the\niteration is more than the number of time extends that can fit in a page\na warning is printed and the ring buffer is disabled (all of ftrace\nis also disabled with it).\n\nThere is another event type that is called a TIMESTAMP which can\nhold 64 bits of data in the theoretical case that two events happen\n18 years apart. This code has not been implemented, but the name\nof this event exists, as well as the structure for it. The\nsize of a TIMESTAMP is 16 bytes, where as a time extend is only\n8 bytes. The macro used to calculate how many time extends can fit on\na page used the TIMESTAMP size instead of the time extend size\ncutting the amount in half.\n\nThe following test case can easily trigger the warning since we only\nneed to have half the page filled with time extends to trigger the\nwarning:\n\n # cd /sys/kernel/debug/tracing/\n # echo function \u003e current_tracer\n # echo \u0027common_pid \u003c 0\u0027 \u003e events/ftrace/function/filter\n # echo \u003e trace\n # echo 1 \u003e trace_marker\n # sleep 120\n # cat trace\n\nEnabling the function tracer and then setting the filter to only trace\nfunctions where the process id is negative (no events), then clearing\nthe trace buffer to ensure that we have nothing in the buffer,\nthen write to trace_marker to add an event to the beginning of a page,\nsleep for 2 minutes (only 35 seconds is probably needed, but this\nguarantees the bug), and then finally reading the trace which will\ntrigger the bug.\n\nThis patch fixes the typo and prevents the false positive of that warning.\n\nReported-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nTested-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Stable Kernel \u003cstable@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ad0cf3478de8677f720ee06393b3147819568d6a",
      "tree": "cd007170b0f20f724924ff53897bf534847e14c4",
      "parents": [
        "29979aa8bd69becd94cbad59093807a417ce2a9e"
      ],
      "author": {
        "name": "John Blackwood",
        "email": "john.blackwood@ccur.com",
        "time": "Tue Sep 28 18:03:11 2010 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 12 11:45:01 2010 +0200"
      },
      "message": "perf: Fix incorrect copy_from_user() usage\n\nperf events: repair incorrect use of copy_from_user\n\nThis makes the perf_event_period() return 0 instead of\n-EFAULT on success.\n\nSigned-off-by: John Blackwood\u003cjohn.blackwood@ccur.com\u003e\nSigned-off-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20100928220311.GA18145@tsunami.ccur.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6b0cd00bc396daf5c2dcf17a8d82055335341f46",
      "tree": "a63db9ea2871bcd05f3cb95fc152be33ea929a1a",
      "parents": [
        "c8d86d8ac439ef6c9364bf0ba3a05a3f9a8e0dea",
        "47f43e7efadacc627f325aba64c6a547de0926db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 07 13:59:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 07 13:59:32 2010 -0700"
      },
      "message": "Merge branch \u0027hwpoison-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6\n\n* \u0027hwpoison-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6:\n  HWPOISON: Stop shrinking at right page count\n  HWPOISON: Report correct address granuality for AO huge page errors\n  HWPOISON: Copy si_addr_lsb to user\n  page-types.c: fix name of unpoison interface\n"
    },
    {
      "commit": "27b3d80a7b6adcf069b5e869e4efcc3a79f88a91",
      "tree": "aa2c9db5131dee90a0aa8155ac3dfa1ddb07619b",
      "parents": [
        "aaac7d9e0a0630e79069341a37978b39e4bca704"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 07 12:59:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 07 13:31:21 2010 -0700"
      },
      "message": "sysctl: fix min/max handling in __do_proc_doulongvec_minmax()\n\nWhen proc_doulongvec_minmax() is used with an array of longs, and no\nmin/max check requested (.extra1 or .extra2 being NULL), we dereference a\nNULL pointer for the second element of the array.\n\nNoticed while doing some changes in network stack for the \"16TB problem\"\n\nFix is to not change min \u0026 max pointers in __do_proc_doulongvec_minmax(),\nso that all elements of the vector share an unique min/max limit, like\nproc_dointvec_minmax().\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a337fdac7a5622d1e6547f4b476c14dfe5a2c892",
      "tree": "2c4072b1188235f348f4ee58e18a027ec61ea4dc",
      "parents": [
        "67159813127309c1a65d86e40fa0368241fa668c"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Mon Sep 27 20:32:19 2010 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Thu Oct 07 09:41:25 2010 +0200"
      },
      "message": "HWPOISON: Copy si_addr_lsb to user\n\nThe original hwpoison code added a new siginfo field si_addr_lsb to\npass the granuality of the fault address to user space. Unfortunately\nthis field was never copied to user space. Fix this here.\n\nI added explicit checks for the MCEERR codes to avoid having\nto patch all potential callers to initialize the field.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "e1d9694cae722d00a94fb58f901aa69c9c324a16",
      "tree": "19a7f36292adbc178ba4fac6f2f9e1acadb1b3f1",
      "parents": [
        "39c12be86aaedd2f81bfb2236aca5333a2334dea",
        "b3a084b9b684622b149e8dcf03855bf0d5fb588b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 05 13:07:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 05 13:07:43 2010 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: rcu_read_lock_bh_held(): disabling irqs also disables bh\n  generic-ipi: Fix deadlock in __smp_call_function_single\n"
    },
    {
      "commit": "5336377d6225959624146629ce3fc88ee8ecda3d",
      "tree": "571b9db75d1ba50faa1e399509563f367fd5694f",
      "parents": [
        "2f6b3aa7a563d05453c4d73ccf88191aee84333f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 05 11:29:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 05 11:29:27 2010 -0700"
      },
      "message": "modules: Fix module_bug_list list corruption race\n\nWith all the recent module loading cleanups, we\u0027ve minimized the code\nthat sits under module_mutex, fixing various deadlocks and making it\npossible to do most of the module loading in parallel.\n\nHowever, that whole conversion totally missed the rather obscure code\nthat adds a new module to the list for BUG() handling.  That code was\ndoubly obscure because (a) the code itself lives in lib/bugs.c (for\ndubious reasons) and (b) it gets called from the architecture-specific\n\"module_finalize()\" rather than from generic code.\n\nCalling it from arch-specific code makes no sense what-so-ever to begin\nwith, and is now actively wrong since that code isn\u0027t protected by the\nmodule loading lock any more.\n\nSo this commit moves the \"module_bug_{finalize,cleanup}()\" calls away\nfrom the arch-specific code, and into the generic code - and in the\nprocess protects it with the module_mutex so that the list operations\nare now safe.\n\nFuture fixups:\n - move the module list handling code into kernel/module.c where it\n   belongs.\n - get rid of \u0027module_bug_list\u0027 and just use the regular list of modules\n   (called \u0027modules\u0027 - imagine that) that we already create and maintain\n   for other reasons.\n\nReported-and-tested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "399f1e30ac17b77d383444aff480c7390f5adf2a",
      "tree": "da24eab64af0bef6fa4f8fba1c3fedb435a65418",
      "parents": [
        "87400e5406e215e9a1b43cf67794fbb34c15c342"
      ],
      "author": {
        "name": "Ira W. Snyder",
        "email": "iws@ovro.caltech.edu",
        "time": "Thu Sep 30 15:15:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 01 10:50:58 2010 -0700"
      },
      "message": "kfifo: fix scatterlist usage\n\nThe kfifo_dma family of functions use sg_mark_end() on the last element in\ntheir scatterlist.  This forces use of a fresh scatterlist for each DMA\noperation, which makes recycling a single scatterlist impossible.\n\nChange the behavior of the kfifo_dma functions to match the usage of the\ndma_map_sg function.  This means that users must respect the returned\nnents value.  The sample code is updated to reflect the change.\n\nThis bug is trivial to cause: call kfifo_dma_in_prepare() such that it\nprepares a scatterlist with a single entry comprising the whole fifo.\nThis is the case when you map the entirety of a newly created empty fifo.\nThis causes the setup_sgl() function to mark the first scatterlist entry\nas the end of the chain, no matter what comes after it.\n\nAfterwards, add and remove some data from the fifo such that another call\nto kfifo_dma_in_prepare() will create two scatterlist entries.  It returns\nnents\u003d2.  However, due to the previous sg_mark_end() call, sg_is_last()\nwill now return true for the first scatterlist element.  This causes the\nsample code to print a single scatterlist element when it should print\ntwo.\n\nBy removing the call to sg_mark_end(), we make the API as similar as\npossible to the DMA mapping API.  All users are required to respect the\nreturned nents.\n\nSigned-off-by: Ira W. Snyder \u003ciws@ovro.caltech.edu\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a247c3a97a0216b18a46243eda26081f1928ec37",
      "tree": "ecf6996b252e9cc818d170eba4b8eb25aac3d596",
      "parents": [
        "df08cdc7ef606509debe7677c439be0ca48790e4"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Wed Sep 22 13:05:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 22 17:22:39 2010 -0700"
      },
      "message": "rmap: fix walk during fork\n\nThe below bug in fork led to the rmap walk finding the parent huge-pmd\ntwice instead of just once, because the anon_vma_chain objects of the\nchild vma still point to the vma-\u003evm_mm of the parent.\n\nThe patch fixes it by making the rmap walk accurate during fork.  It\u0027s not\na big deal normally but it worth being accurate considering the cost is\nthe same.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Hugh Dickins \u003chughd@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": "1ce1e41c1b61a992077bd1c45c6c3fd6a8b10c02",
      "tree": "33d958f957e77c93612b027deb91f2e81b08d372",
      "parents": [
        "87ac6fa26e0e7ea49e1c8030e962effc05e1c5eb",
        "f6c3f1686e7ec1dd8725a9a3dcb857dfd0c7a5bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 21 13:22:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 21 13:22:10 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix nohz balance kick\n  sched: Fix user time incorrectly accounted as system time on 32-bit\n"
    },
    {
      "commit": "87ac6fa26e0e7ea49e1c8030e962effc05e1c5eb",
      "tree": "a5fffa16fc3131f057cf2791fd17d4959136323d",
      "parents": [
        "19746cad00a00a7a2e3eb0640d317d6e7c2e8cc0",
        "068e35eee9ef98eb4cab55181977e24995d273be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 21 13:21:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 21 13:21:42 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hw breakpoints: Fix pid namespace bug\n  x86: Fix instruction breakpoint encoding\n  oprofile: Add Support for Intel CPU Family 6 / Model 22 (Intel Celeron 540)\n  kprobes: Fix Kconfig dependency\n"
    },
    {
      "commit": "f6c3f1686e7ec1dd8725a9a3dcb857dfd0c7a5bf",
      "tree": "fb0179d1f071dbb857e0ab7f2aace4579deb62c1",
      "parents": [
        "e75e863dd5c7d96b91ebbd241da5328fc38a78cc"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Sep 13 11:02:21 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 21 13:50:50 2010 +0200"
      },
      "message": "sched: Fix nohz balance kick\n\nThere\u0027s a situation where the nohz balancer will try to wake itself:\n\ncpu-x is idle which is also ilb_cpu\ngot a scheduler tick during idle\nand the nohz_kick_needed() in trigger_load_balance() checks for\nrq_x-\u003enr_running which might not be zero (because of someone waking a\ntask on this rq etc) and this leads to the situation of the cpu-x\nsending a kick to itself.\n\nAnd this can cause a lockup.\n\nAvoid this by not marking ourself eligible for kicking.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1284400941.2684.19.camel@sbsiddha-MOBL3.sc.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "068e35eee9ef98eb4cab55181977e24995d273be",
      "tree": "f0ff9a1c1558218c6de222b58ea8f88a679151a0",
      "parents": [
        "89e45aac42d40426c97e6901811309bf49c4993f"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Mon Sep 13 13:01:18 2010 -0700"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Sep 17 04:42:59 2010 +0200"
      },
      "message": "hw breakpoints: Fix pid namespace bug\n\nHardware breakpoints can\u0027t be registered within pid namespaces\nbecause tsk-\u003epid is passed rather than the pid in the current\nnamespace.\n\n(See https://bugzilla.kernel.org/show_bug.cgi?id\u003d17281 )\n\nThis is a quick fix demonstrating the problem but is not the\nbest method of solving the problem since passing pids internally\nis not the best way to avoid pid namespace bugs. Subsequent patches\nwill show a better solution.\n\nMuch thanks to Frederic Weisbecker \u003cfweisbec@gmail.com\u003e for doing\nthe bulk of the work finding this bug.\n\nReported-by: Robin Green \u003cgreenrd@greenrd.org\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Mahesh Salgaonkar \u003cmahesh@linux.vnet.ibm.com\u003e\nCc: 2.6.33-2.6.35 \u003cstable@kernel.org\u003e\nLKML-Reference: \u003cf63454af09fb1915717251570423eb9ddd338340.1284407762.git.matthltc@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "94ca9d669a1308fefe476fde750c5297b6f86f3f",
      "tree": "0e6ffa86be5d133669755929a1bf60a9bb170826",
      "parents": [
        "2c35cd019fc4a0e29db8ef29afba9f91a3cd4d23",
        "c54fce6eff197d9c57c97afbf6c9722ce434fc8f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 16 12:50:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 16 12:50:31 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: add documentation\n"
    },
    {
      "commit": "e75e863dd5c7d96b91ebbd241da5328fc38a78cc",
      "tree": "b7b67512b6b610c8ee90149c9b48dbaeeb1e4910",
      "parents": [
        "9c03f1622af051004416dd3e24d8a0fa31e34178"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Tue Sep 14 16:35:14 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:41:36 2010 +0200"
      },
      "message": "sched: Fix user time incorrectly accounted as system time on 32-bit\n\nWe have 32-bit variable overflow possibility when multiply in\ntask_times() and thread_group_times() functions. When the\noverflow happens then the scaled utime value becomes erroneously\nsmall and the scaled stime becomes i erroneously big.\n\nReported here:\n\n https://bugzilla.redhat.com/show_bug.cgi?id\u003d633037\n https://bugzilla.kernel.org/show_bug.cgi?id\u003d16559\n\nReported-by: Michael Chapman \u003credhat-bugzilla@very.puzzling.org\u003e\nReported-by: Ciriaco Garcia de Celis \u003csysman@etherpilot.com\u003e\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e  # 2.6.32.19+ (partially) and 2.6.33+\nLKML-Reference: \u003c20100914143513.GB8415@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c41d68a513c71e35a14f66d71782d27a79a81ea6",
      "tree": "2729377678b4f0fa516404eec6c3a87a4fd7c823",
      "parents": [
        "bfa88ea7ee9e6b4fd673e45a8cc0a8e0b7ef4761"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue Sep 07 16:16:18 2010 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue Sep 14 16:08:45 2010 -0700"
      },
      "message": "compat: Make compat_alloc_user_space() incorporate the access_ok()\n\ncompat_alloc_user_space() expects the caller to independently call\naccess_ok() to verify the returned area.  A missing call could\nintroduce problems on some architectures.\n\nThis patch incorporates the access_ok() check into\ncompat_alloc_user_space() and also adds a sanity check on the length.\nThe existing compat_alloc_user_space() implementations are renamed\narch_compat_alloc_user_space() and are used as part of the\nimplementation of the new global function.\n\nThis patch assumes NULL will cause __get_user()/__put_user() to either\nfail or access userspace on all architectures.  This should be\nfollowed by checking the return value of compat_access_user_space()\nfor NULL in the callers, at which time the access_ok() in the callers\ncan also be removed.\n\nReported-by: Ben Hawkes \u003chawkes@sota.gen.nz\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nCc: James Bottomley \u003cjejb@parisc-linux.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "0bf377bbb0bea6130f35613491887cc622e42a8b",
      "tree": "1ecb56fb6195dcdb673ef3a08390b98e54f4f726",
      "parents": [
        "49553c2ef88749dd502687f4eb9c258bb10a4f44"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 12 08:14:52 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 13 20:17:11 2010 +0200"
      },
      "message": "sched: Improve latencies under load by decreasing minimum scheduling granularity\n\nMathieu reported bad latencies with make -j10 kind of kbuild\nworkloads - which is mostly caused by us scheduling with a\ntoo coarse granularity.\n\nReduce the minimum granularity some more, to make sure we\ncan meet the latency target.\n\nI got the following results (make -j10 kbuild load, average of 3\nruns):\n\n vanilla:\n\n  maximum latency: 38278.9 µs\n  average latency:  7730.1 µs\n\n patched:\n\n  maximum latency: 22702.1 µs\n  average latency:  6684.8 µs\n\nMathieu also measured it:\n\n|\n| * wakeup-latency.c (SIGEV_THREAD) with make -j10\n|\n| - Mainline 2.6.35.2 kernel\n|\n| maximum latency: 45762.1 µs\n| average latency: 7348.6 µs\n|\n| - With only Peter\u0027s smaller min_gran (shown below):\n|\n| maximum latency: 29100.6 µs\n| average latency: 6684.1 µs\n|\n\nReported-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSuggested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cAANLkTi\u003d8m4g01wZPacySoF7U0PevTNVgJoZZrHiUD-pN@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c54fce6eff197d9c57c97afbf6c9722ce434fc8f",
      "tree": "c40c9bf65638399b13c47688f20e761cdd0fa89c",
      "parents": [
        "84e1d836ef0759a152578a961894824bde89596f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Sep 10 16:51:36 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Sep 13 10:26:52 2010 +0200"
      },
      "message": "workqueue: add documentation\n\nUpdate copyright notice and add Documentation/workqueue.txt.\n\nRandy Dunlap, Dave Chinner: misc fixes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-By: Florian Mickler \u003cflorian@mickler.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "84e1d836ef0759a152578a961894824bde89596f",
      "tree": "47c439bfdc9e5ea91f9a71235d336257555fad78",
      "parents": [
        "20f4cad6b247160055915db4f4aaeda82e6c50ed",
        "6715045ddc7472a22be5e49d4047d2d89b391f45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 11 15:50:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 11 15:50:53 2010 -0700"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM / Hibernate: Avoid hitting OOM during preallocation of memory\n  PM QoS: Correct pr_debug() misuse and improve parameter checks\n  PM: Prevent waiting forever on asynchronous resume after failing suspend\n"
    },
    {
      "commit": "6715045ddc7472a22be5e49d4047d2d89b391f45",
      "tree": "d9a48095e915407f6d54db29cfce44c201ae9cef",
      "parents": [
        "0109c2c48d062a04685638926a35ed20153fedc8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Sep 11 20:58:27 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Sep 11 21:03:53 2010 +0200"
      },
      "message": "PM / Hibernate: Avoid hitting OOM during preallocation of memory\n\nThere is a problem in hibernate_preallocate_memory() that it calls\npreallocate_image_memory() with an argument that may be greater than\nthe total number of available non-highmem memory pages.  If that\u0027s\nthe case, the OOM condition is guaranteed to trigger, which in turn\ncan cause significant slowdown to occur during hibernation.\n\nTo avoid that, make preallocate_image_memory() adjust its argument\nbefore calling preallocate_image_pages(), so that the total number of\nsaveable non-highem pages left is not less than the minimum size of\na hibernation image.  Change hibernate_preallocate_memory() to try to\nallocate from highmem if the number of pages allocated by\npreallocate_image_memory() is too low.\n\nModify free_unnecessary_pages() to take all possible memory\nallocation patterns into account.\n\nReported-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-by: M. Vefa Bicakci \u003cbicave@superonline.com\u003e\n"
    },
    {
      "commit": "aad1830e6b978f5d90e5d81d071e1752f526f732",
      "tree": "af5ba1a5ce1574201e4b4da0366a19a4149e0f8c",
      "parents": [
        "3e6dce76d99b328716b43929b9195adfee1de00c",
        "55496c896b8a695140045099d4e0175cf09d4eae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 11 07:59:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 11 07:59:49 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, tsc: Fix a preemption leak in restore_sched_clock_state()\n  sched: Move sched_avg_update() to update_cpu_load()\n"
    },
    {
      "commit": "0109c2c48d062a04685638926a35ed20153fedc8",
      "tree": "8e86dfb97b555845e99d379af6d716d5fb0ecb10",
      "parents": [
        "152e1d592071c8b312bb898bc1118b64e4aea535"
      ],
      "author": {
        "name": "mark gross",
        "email": "markgross@thegnar.org",
        "time": "Thu Sep 09 23:20:09 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Sep 11 00:53:05 2010 +0200"
      },
      "message": "PM QoS: Correct pr_debug() misuse and improve parameter checks\n\nCorrect some pr_debug() misuse and add a stronger parameter check to\npm_qos_write() for the ASCII hex value case.  Thanks to Dan Carpenter\nfor pointing out the problem!\n\nSigned-off-by: mark gross \u003cmarkgross@thegnar.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "27c379f7f89a4d558c685b5d89b5ba2fe79ae701",
      "tree": "206a00ef1cddaa7f5307b0394f24858f3be5f493",
      "parents": [
        "df423dc7f2a801b9a45d7c501a8eb5c529455ea1"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Sep 10 13:47:29 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 10 16:48:40 2010 +0200"
      },
      "message": "generic-ipi: Fix deadlock in __smp_call_function_single\n\nJust got my 6 way machine to a state where cpu 0 is in an\nendless loop within __smp_call_function_single.\nAll other cpus are idle.\n\nThe call trace on cpu 0 looks like this:\n\n __smp_call_function_single\n scheduler_tick\n update_process_times\n tick_sched_timer\n __run_hrtimer\n hrtimer_interrupt\n clock_comparator_work\n do_extint\n ext_int_handler\n ----\u003e timer irq\n cpu_idle\n\n__smp_call_function_single() got called from nohz_balancer_kick()\n(inlined) with the remote cpu being 1, wait being 0 and the per\ncpu variable remote_sched_softirq_cb (call_single_data) of the\ncurrent cpu (0).\n\nThen it loops forever when it tries to grab the lock of the\ncall_single_data, since it is already locked and enqueued on cpu 0.\n\nMy theory how this could have happened: for some reason the\nscheduler decided to call __smp_call_function_single() on it\u0027s own\ncpu, and sends an IPI to itself. The interrupt stays pending\nsince IRQs are disabled. If then the hypervisor schedules the\ncpu away it might happen that upon rescheduling both the IPI and\nthe timer IRQ are pending. If then interrupts are enabled again\nit depends which one gets scheduled first.\nIf the timer interrupt gets delivered first we end up with the\nlocal deadlock as seen in the calltrace above.\n\nLet\u0027s make __smp_call_function_single() check if the target cpu is\nthe current cpu and execute the function immediately just like\nsmp_call_function_single does. That should prevent at least the\nscenario described here.\n\nIt might also be that the scheduler is not supposed to call\n__smp_call_function_single with the remote cpu being the current\ncpu, but that is a different issue.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLKML-Reference: \u003c20100910114729.GB2827@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f2955b490b249ca56e465fd32cc355f84aedf8bd",
      "tree": "401faf98c61f4a0a65703644277521a10da98eec",
      "parents": [
        "3d96406c7da1ed5811ea52a3b0905f4f0e295376",
        "9efdda310cb26bdc28429cb831c3ec5fa270feb7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 10 07:31:24 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 10 07:31:24 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: t_start: reset FTRACE_ITER_HASH in case of seek/pread\n  perf symbols: Fix multiple initialization of symbol system\n  perf: Fix CPU hotplug\n  perf, trace: Fix module leak\n  tracing/kprobe: Fix handling of C-unlike argument names\n  tracing/kprobes: Fix handling of argument names\n  perf probe: Fix handling of arguments names\n  perf probe: Fix return probe support\n  tracing/kprobe: Fix a memory leak in error case\n  tracing: Do not allow llseek to set_ftrace_filter\n"
    },
    {
      "commit": "df09162550fbb53354f0c88e85b5d0e6129ee9cc",
      "tree": "e8ba6014c442cf72d587948733f8c29e0d330925",
      "parents": [
        "5e11637e2c929e34dcc0fbbfb48bdb638937701a"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Thu Sep 09 16:34:59 2010 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Sep 09 22:43:49 2010 -0400"
      },
      "message": "tracing: t_start: reset FTRACE_ITER_HASH in case of seek/pread\n\nBe sure to avoid entering t_show() with FTRACE_ITER_HASH set without\nhaving properly started the iterator to iterate the hash.  This case is\ndegenerate and, as discovered by Robert Swiecki, can cause t_hash_show()\nto misuse a pointer.  This causes a NULL ptr deref with possible security\nimplications.  Tracked as CVE-2010-3079.\n\nCc: Robert Swiecki \u003cswiecki@google.com\u003e\nCc: Eugene Teo \u003ceugene@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "910321ea817a202ff70fac666e37e2c8e2f88823",
      "tree": "aaead29e7797986e2b804746b565bb5d05117c54",
      "parents": [
        "ac8456d6f9a3011c824176bd6084d39e5f70a382"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Thu Sep 09 16:38:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 09 18:57:25 2010 -0700"
      },
      "message": "swap: revert special hibernation allocation\n\nPlease revert 2.6.36-rc commit d2997b1042ec150616c1963b5e5e919ffd0b0ebf\n\"hibernation: freeze swap at hibernation\".  It complicated matters by\nadding a second swap allocation path, just for hibernation; without in any\nway fixing the issue that it was intended to address - page reclaim after\nfixing the hibernation image might free swap from a page already imaged as\nswapcache, letting its swap be reallocated to store a different page of\nthe image: resulting in data corruption if the imaged page were freed as\nclean then swapped back in.  Pages freed to si-\u003eswap_map were still in\ndanger of being reallocated by the alternative allocation path.\n\nI guess it inadvertently fixed slow SSD swap allocation for hibernation,\nas reported by Nigel Cunningham: by missing out the discards that occur on\nthe usual swap allocation path; but that was unintentional, and needs a\nseparate fix.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nCc: Andrea Gelmini \u003candrea.gelmini@gmail.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1c24de60e50fb19b94d94225458da17c720f0729",
      "tree": "a225907a1b341f629037805f086add137e176f4a",
      "parents": [
        "94131e174fedd9f3f9bb148cee4be12f2d46d68e"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Thu Sep 09 16:37:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 09 18:57:24 2010 -0700"
      },
      "message": "kernel/groups.c: fix integer overflow in groups_search\n\ngid_t is a unsigned int.  If group_info contains a gid greater than\nMAX_INT, groups_search() function may look on the wrong side of the search\ntree.\n\nThis solves some unfair \"permission denied\" problems.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31583bb0cf6cc40f2a468a4d2f3b9cbefd24f891",
      "tree": "1c9ff4ff83ef80fe0b9b5d6fa7ec9af1ebbc2209",
      "parents": [
        "ed430fec756ad65f7cfba24f8ad17c3d5a403290"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Sep 09 16:37:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 09 18:57:23 2010 -0700"
      },
      "message": "cgroups: fix API thinko\n\nAdd cgroup_attach_task_all()\n\nThe existing cgroup_attach_task_current_cg() API is called by a thread to\nattach another thread to all of its cgroups; this is unsuitable for cases\nwhere a privileged task wants to attach itself to the cgroups of a less\nprivileged one, since the call must be made from the context of the target\ntask.\n\nThis patch adds a more generic cgroup_attach_task_all() API that allows\nboth the source task and to-be-moved task to be specified.\ncgroup_attach_task_current_cg() becomes a specialization of the more\ngeneric new function.\n\n[menage@google.com: rewrote changelog]\n[akpm@linux-foundation.org: address reviewer comments]\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nTested-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Ben Blum \u003cbblum@google.com\u003e\nCc: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85a0fdfd0f967507f3903e8419bc7e408f5a59de",
      "tree": "2b430fc9689701f8b6da8bd9fa83feda8b6d972c",
      "parents": [
        "2f327dad14aa8bc939a4f0a2d3fdcf64a2d8c09e"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "oberpar@linux.vnet.ibm.com",
        "time": "Thu Sep 09 16:37:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 09 18:57:23 2010 -0700"
      },
      "message": "gcov: fix null-pointer dereference for certain module types\n\nThe gcov-kernel infrastructure expects that each object file is loaded\nonly once.  This may not be true, e.g.  when loading multiple kernel\nmodules which are linked to the same object file.  As a result, loading\nsuch kernel modules will result in incorrect gcov results while unloading\nwill cause a null-pointer dereference.\n\nThis patch fixes these problems by changing the gcov-kernel infrastructure\nso that multiple profiling data sets can be associated with one debugfs\nentry.  It applies to 2.6.36-rc1.\n\nSigned-off-by: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nReported-by: Werner Spies \u003cwerner.spies@thalesgroup.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "da2b71edd8a7db44fe1746261410a981f3e03632",
      "tree": "4c84c8761590138cffb244eb54fb29263175a6cd",
      "parents": [
        "d56557af19867edb8c0e96f8e26399698a08857f"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Aug 23 13:42:51 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:39:33 2010 +0200"
      },
      "message": "sched: Move sched_avg_update() to update_cpu_load()\n\nCurrently sched_avg_update() (which updates rt_avg stats in the rq)\nis getting called from scale_rt_power() (in the load balance context)\nwhich doesn\u0027t take rq-\u003elock.\n\nFix it by moving the sched_avg_update() to more appropriate\nupdate_cpu_load() where the CFS load gets updated as well.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1282596171.2694.3.camel@sbsiddha-MOBL3\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5e11637e2c929e34dcc0fbbfb48bdb638937701a",
      "tree": "ed782662362ee0ea5ac888588664aeb97e6f1312",
      "parents": [
        "9cb627d5f38830ca19aa0dca52d1d3a633018bf7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 11 13:35:08 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:38:52 2010 +0200"
      },
      "message": "perf: Fix CPU hotplug\n\nSince we have UP_PREPARE, we should also have UP_CANCELED.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9cb627d5f38830ca19aa0dca52d1d3a633018bf7",
      "tree": "38138b59d5b54c09314a01172586aa653cc3b528",
      "parents": [
        "da34634fd39958725310d2c30c9b4543945f968b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Sep 01 12:58:43 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:38:51 2010 +0200"
      },
      "message": "perf, trace: Fix module leak\n\nCommit 1c024eca (perf, trace: Optimize tracepoints by using\nper-tracepoint-per-cpu hlist to track events) caused a module\nrefcount leak.\n\nReported-And-Tested-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4C7E1F12.8030304@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "79637a41e466bbe7dfe394bac3c9d86a92fd55b1",
      "tree": "0ee720d20572a3e1f901f78331b57612984f1e2e",
      "parents": [
        "899edae615c806f78880077bd46f04d7f23ae6e6",
        "b3bd3de66f60df4c9a2076e2886a622458929056"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 08 11:13:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 08 11:13:42 2010 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  gcc-4.6: kernel/*: Fix unused but set warnings\n  mutex: Fix annotations to include it in kernel-locking docbook\n  pid: make setpgid() system call use RCU read-side critical section\n  MAINTAINERS: Add RCU\u0027s public git tree\n"
    },
    {
      "commit": "899edae615c806f78880077bd46f04d7f23ae6e6",
      "tree": "ae3918d9947a8c4811e86217fc77b3927784492d",
      "parents": [
        "c8c727db413e18414dc6ebc2cc4f18f390763e17",
        "4177c42a6301a34c20038ec2771a33dcc30bb338"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 08 11:13:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 08 11:13:16 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf, x86: Try to handle unknown nmis with an enabled PMU\n  perf, x86: Fix handle_irq return values\n  perf, x86: Fix accidentally ack\u0027ing a second event on intel perf counter\n  oprofile, x86: fix init_sysfs() function stub\n  lockup_detector: Sync touch_*_watchdog back to old semantics\n  tracing: Fix a race in function profile\n  oprofile, x86: fix init_sysfs error handling\n  perf_events: Fix time tracking for events with pid !\u003d -1 and cpu !\u003d -1\n  perf: Initialize callchains roots\u0027s childen hits\n  oprofile: fix crash when accessing freed task structs\n"
    },
    {
      "commit": "da34634fd39958725310d2c30c9b4543945f968b",
      "tree": "034fa85a0f8ca36fe0e3caa8803b4a6fbe3b9319",
      "parents": [
        "aba91595cfcebd193425e20aabc407531526a1c5"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Aug 27 20:39:12 2010 +0900"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Sep 08 11:47:19 2010 -0300"
      },
      "message": "tracing/kprobe: Fix handling of C-unlike argument names\n\nCheck the argument name whether it is invalid (not C-like symbol name). This\nmakes event format simple.\n\nReported-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nLKML-Reference: \u003c20100827113912.22882.62313.stgit@ltc236.sdl.hitachi.co.jp\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "aba91595cfcebd193425e20aabc407531526a1c5",
      "tree": "5473ed5aebc93bb0aea03a17d7ed968ca0e95dce",
      "parents": [
        "367e94c10092469c896a226a77ef13cf6da757e4"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Aug 27 20:39:06 2010 +0900"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Sep 08 11:47:19 2010 -0300"
      },
      "message": "tracing/kprobes: Fix handling of argument names\n\nSet \"argN\" name for each argument automatically if it has no specified name.\nSince dynamic trace event(kprobe_events) accepts special characters for its\nargument, its format can show those special characters (e.g. \u0027$\u0027, \u0027%\u0027, \u0027+\u0027).\nHowever, perf can\u0027t parse those format because of the character (especially\n\u0027%\u0027) mess up the format.  This sets \"argX\" name for those arguments if user\nomitted the argument names.\n\nE.g.\n # echo \u0027p do_fork %ax IP\u003d%ip $stack\u0027 \u003e tracing/kprobe_events\n # cat tracing/kprobe_events\n p:kprobes/p_do_fork_0 do_fork arg1\u003d%ax IP\u003d%ip arg3\u003d$stack\n\nReported-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nLKML-Reference: \u003c20100827113906.22882.59312.stgit@ltc236.sdl.hitachi.co.jp\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "61a527362234ac3352a91ac67c50c6f7cd248eb1",
      "tree": "6d3ed6390f61d7819c11b459d86d5dac76ca7f0c",
      "parents": [
        "9c55cb12c1c172e2d51e85fbb5a4796ca86b77e7"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Fri Aug 27 20:38:46 2010 +0900"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Sep 08 11:47:18 2010 -0300"
      },
      "message": "tracing/kprobe: Fix a memory leak in error case\n\nFix a memory leak which happens when a field name conflicts with others. In\nerror case, free_trace_probe() will free all arguments until nr_args, so this\nincrements nr_args the begining of the loop instead of the end.\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nLKML-Reference: \u003c20100827113846.22882.12670.stgit@ltc236.sdl.hitachi.co.jp\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "9c55cb12c1c172e2d51e85fbb5a4796ca86b77e7",
      "tree": "0f86d1e27fbfc31cba108e71643d686315468db9",
      "parents": [
        "4177c42a6301a34c20038ec2771a33dcc30bb338"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Sep 08 11:20:37 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Sep 08 12:08:01 2010 -0400"
      },
      "message": "tracing: Do not allow llseek to set_ftrace_filter\n\nReading the file set_ftrace_filter does three things.\n\n1) shows whether or not filters are set for the function tracer\n2) shows what functions are set for the function tracer\n3) shows what triggers are set on any functions\n\n3 is independent from 1 and 2.\n\nThe way this file currently works is that it is a state machine,\nand as you read it, it may change state. But this assumption breaks\nwhen you use lseek() on the file. The state machine gets out of sync\nand the t_show() may use the wrong pointer and cause a kernel oops.\n\nLuckily, this will only kill the app that does the lseek, but the app\ndies while holding a mutex. This prevents anyone else from using the\nset_ftrace_filter file (or any other function tracing file for that matter).\n\nA real fix for this is to rewrite the code, but that is too much for\na -rc release or stable. This patch simply disables llseek on the\nset_ftrace_filter() file for now, and we can do the proper fix for the\nnext major release.\n\nReported-by: Robert Swiecki \u003cswiecki@google.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Tavis Ormandy \u003ctaviso@google.com\u003e\nCc: Eugene Teo \u003ceugene@redhat.com\u003e\nCc: vendor-sec@lst.de\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cd4d4fc4137502f88ee871fc015a934dc28535e3",
      "tree": "09dfa0627996ca80d0fcc936b6fbd5080ee6e9d7",
      "parents": [
        "608307e6de2631e37f55f106a7cbbc560cb12751",
        "9c37547ab62f88aac3e1e3c2065b611f811de9b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:08:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 07 14:08:17 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: use zalloc_cpumask_var() for gcwq-\u003emayday_mask\n  workqueue: fix GCWQ_DISASSOCIATED initialization\n  workqueue: Add a workqueue chapter to the tracepoint docbook\n  workqueue: fix cwq-\u003enr_active underflow\n  workqueue: improve destroy_workqueue() debuggability\n  workqueue: mark lock acquisition on worker_maybe_bind_and_lock()\n  workqueue: annotate lock context change\n  workqueue: free rescuer on destroy_workqueue\n"
    },
    {
      "commit": "b3bd3de66f60df4c9a2076e2886a622458929056",
      "tree": "d0b1fa885acfa96536cf74f487acb28d63442b83",
      "parents": [
        "ef5dc121d5a0bb1fa477c5395277259f07d318a3"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Aug 10 14:17:51 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 05 14:36:58 2010 +0200"
      },
      "message": "gcc-4.6: kernel/*: Fix unused but set warnings\n\nNo real bugs I believe, just some dead code.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: andi@firstfloor.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef5dc121d5a0bb1fa477c5395277259f07d318a3",
      "tree": "5af1d24406aa014eed72f07097316ba6f7d0d04f",
      "parents": [
        "950eaaca681c44aab87a46225c9e44f902c080aa"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Sep 02 15:48:16 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 03 08:19:51 2010 +0200"
      },
      "message": "mutex: Fix annotations to include it in kernel-locking docbook\n\nFix kernel-doc notation in linux/mutex.h and kernel/mutex.c,\nthen add these 2 files to the kernel-locking docbook as the\nMutex API reference chapter.\n\nAdd one API function to mutex-design.txt and correct a typo in\nthat file.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nLKML-Reference: \u003c20100902154816.6cc2f9ad.randy.dunlap@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "68d3f1d810500e8b975bdf0b20dd83d060076b4b",
      "tree": "68d07e9d165aa9fde390dfa5694bb58aa63adb0d",
      "parents": [
        "3aaba20f26f58843e8f20611e5c0b1c06954310f"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Tue Aug 31 23:00:07 2010 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 01 10:02:28 2010 +0200"
      },
      "message": "lockup_detector: Sync touch_*_watchdog back to old semantics\n\nDuring my rewrite, the semantics of touch_nmi_watchdog and\ntouch_softlockup_watchdog changed enough to break some drivers\n(mostly over preemptable regions).\n\nThese are cases where long delays on one CPU (due to\nprint_delay for example) can cause long delays on other\nCPUs - so we must \u0027touch\u0027 the nmi_watchdog flag of those\nother CPUs as well.\n\nThis change brings those touch_*_watchdog() functions back in line\nwith to how they used to work.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nAcked-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: peterz@infradead.org\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c1283310009-22168-2-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "950eaaca681c44aab87a46225c9e44f902c080aa",
      "tree": "5f0290db3f84b7f2929ae53729d74a59dc5bb5e9",
      "parents": [
        "6cb6cbeaa9d6573c674842b9471c0467967aae99"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Aug 31 17:00:18 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Aug 31 17:00:18 2010 -0700"
      },
      "message": "pid: make setpgid() system call use RCU read-side critical section\n\n[   23.584719]\n[   23.584720] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[   23.585059] [ INFO: suspicious rcu_dereference_check() usage. ]\n[   23.585176] ---------------------------------------------------\n[   23.585176] kernel/pid.c:419 invoked rcu_dereference_check() without protection!\n[   23.585176]\n[   23.585176] other info that might help us debug this:\n[   23.585176]\n[   23.585176]\n[   23.585176] rcu_scheduler_active \u003d 1, debug_locks \u003d 1\n[   23.585176] 1 lock held by rc.sysinit/728:\n[   23.585176]  #0:  (tasklist_lock){.+.+..}, at: [\u003cffffffff8104771f\u003e] sys_setpgid+0x5f/0x193\n[   23.585176]\n[   23.585176] stack backtrace:\n[   23.585176] Pid: 728, comm: rc.sysinit Not tainted 2.6.36-rc2 #2\n[   23.585176] Call Trace:\n[   23.585176]  [\u003cffffffff8105b436\u003e] lockdep_rcu_dereference+0x99/0xa2\n[   23.585176]  [\u003cffffffff8104c324\u003e] find_task_by_pid_ns+0x50/0x6a\n[   23.585176]  [\u003cffffffff8104c35b\u003e] find_task_by_vpid+0x1d/0x1f\n[   23.585176]  [\u003cffffffff81047727\u003e] sys_setpgid+0x67/0x193\n[   23.585176]  [\u003cffffffff810029eb\u003e] system_call_fastpath+0x16/0x1b\n[   24.959669] type\u003d1400 audit(1282938522.956:4): avc:  denied  { module_request } for  pid\u003d766 comm\u003d\"hwclock\" kmod\u003d\"char-major-10-135\" scontext\u003dsystem_u:system_r:hwclock_t:s0 tcontext\u003dsystem_u:system_r:kernel_t:s0 tclas\n\nIt turns out that the setpgid() system call fails to enter an RCU\nread-side critical section before doing a PID-to-task_struct translation.\nThis commit therefore does rcu_read_lock() before the translation, and\nalso does rcu_read_unlock() after the last use of the returned pointer.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "3aaba20f26f58843e8f20611e5c0b1c06954310f",
      "tree": "ad15d7aa21af465ddf6091eb490d84312089f245",
      "parents": [
        "fa66f07aa1f0950e1dc78b7ab39728b3f8aa77a1"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Aug 23 16:50:12 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 31 16:46:23 2010 -0400"
      },
      "message": "tracing: Fix a race in function profile\n\nWhile we are reading trace_stat/functionX and someone just\ndisabled function_profile at that time, we can trigger this:\n\n\tdivide error: 0000 [#1] PREEMPT SMP\n\t...\n\tEIP is at function_stat_show+0x90/0x230\n\t...\n\nThis fix just takes the ftrace_profile_lock and checks if\nrec-\u003ecounter is 0. If it\u0027s 0, we know the profile buffer\nhas been reset.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c4C723644.4040708@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9c37547ab62f88aac3e1e3c2065b611f811de9b5",
      "tree": "2a9c3655e25c93b4c3ce49c575d5d908045ebdd4",
      "parents": [
        "477a3c33d1efa0342a74bd02da2e049191993e2c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Aug 31 11:18:34 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Aug 31 11:18:34 2010 +0200"
      },
      "message": "workqueue: use zalloc_cpumask_var() for gcwq-\u003emayday_mask\n\nalloc_mayday_mask() was using alloc_cpumask_var() making\ngcwq-\u003emayday_mask contain garbage after initialization on\nCONFIG_CPUMASK_OFFSTACK\u003dy configurations.  This combined with the\npreviously fixed GCWQ_DISASSOCIATED initialization bug could make\nrescuers fall into infinite loop trying to bind to an offline cpu.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: CAI Qian \u003ccaiqian@redhat.com\u003e\n"
    },
    {
      "commit": "477a3c33d1efa0342a74bd02da2e049191993e2c",
      "tree": "03d4ae1338f47016fbad6ff131007e009959b4a8",
      "parents": [
        "7c38875a0d0a9b90eee66be79e36995c86acc70c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Aug 31 10:54:35 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Aug 31 10:54:35 2010 +0200"
      },
      "message": "workqueue: fix GCWQ_DISASSOCIATED initialization\n\ninit_workqueues() incorrectly marks workqueues for all possible CPUs\nassociated.  Combined with mayday_mask initialization bug, this can\nmake rescuers keep trying to bind to an offline gcwq indefinitely.\nFix init_workqueues() such that only online CPUs have their gcwqs have\nGCWQ_DISASSOCIATED cleared.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: CAI Qian \u003ccaiqian@redhat.com\u003e\n"
    },
    {
      "commit": "fa66f07aa1f0950e1dc78b7ab39728b3f8aa77a1",
      "tree": "4ad4612c2fc07f159e192fae9145f9d87a697592",
      "parents": [
        "5225c45899e872383ca39f5533d28ec63c54b39e"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Aug 26 16:40:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 30 12:16:55 2010 +0200"
      },
      "message": "perf_events: Fix time tracking for events with pid !\u003d -1 and cpu !\u003d -1\n\nPer-thread events with a cpu filter, i.e., cpu !\u003d -1, were not\nreporting correct timings when the thread never ran on the\nmonitored cpu. The time enabled was reported as a negative\nvalue.\n\nThis patch fixes the problem by updating tstamp_stopped,\ntstamp_running in event_sched_out() for events with filters and\nwhich are marked as INACTIVE.\n\nThe function group_sched_out() is modified to systematically\ncall into event_sched_out() to avoid duplicating the timing\nadjustment code twice.\n\nWith the patch, I now get:\n\n$ task_cpu -i -e unhalted_core_cycles,unhalted_core_cycles\nnoploop 2 noploop for 2 seconds\nCPU0 0\t\t   unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d0)\nCPU0 0\t\t   unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d0)\n\nCPU1 0\t\t   unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d0)\nCPU1 0\t\t   unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d0)\n\nCPU2 0\t\t   unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d0)\nCPU2 0\t\t   unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d0)\n\nCPU3 4,747,990,931 unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d1,991,136,594)\nCPU3 4,747,990,931 unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d1,991,136,594)\n\nSigned-off-by: Stephane Eranian \u003ceranian@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus@samba.org\nCc: davem@davemloft.net\nCc: fweisbec@gmail.com\nCc: perfmon2-devel@lists.sf.net\nCc: eranian@google.com\nLKML-Reference: \u003c4c76802d.aae9d80a.115d.70fe@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f4dbeca1a5bac4552d49d9e7b774da9f6625e74",
      "tree": "15d1997a50a971b83c9c577299cbbd414fe512c4",
      "parents": [
        "2547d1d20f3a252567f974de8ce1c572a0815d5a",
        "25cc69ec34a563e943e85b3b68a79a8aac7f076d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 14:06:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 14:06:19 2010 -0700"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM QoS: Fix inline documentation.\n  PM QoS: Fix kzalloc() parameters swapped in pm_qos_power_open()\n"
    },
    {
      "commit": "2637d139fb9a1bd428a003b7671fda40a034854f",
      "tree": "7983e0776c95990a545f83275682614e16a71167",
      "parents": [
        "494e2fbe1f8bee22ab2070bd6f4d1a24f7d5fd8b",
        "288933c02b440621d9c8e7bb5f232cfb7bdef7df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 13:55:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 28 13:55:31 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: pxa27x_keypad - remove input_free_device() in pxa27x_keypad_remove()\n  Input: mousedev - fix regression of inverting axes\n  Input: uinput - add devname alias to allow module on-demand load\n  Input: hil_kbd - fix compile error\n  USB: drop tty argument from usb_serial_handle_sysrq_char()\n  Input: sysrq - drop tty argument form handle_sysrq()\n  Input: sysrq - drop tty argument from sysrq ops handlers\n"
    },
    {
      "commit": "25cc69ec34a563e943e85b3b68a79a8aac7f076d",
      "tree": "57b2a6b2fe5e4df3461bf6335d7b575e283178ca",
      "parents": [
        "bac1e74dba9755128748b872a0f304dad4d198c6"
      ],
      "author": {
        "name": "Saravana Kannan",
        "email": "skannan@codeaurora.org",
        "time": "Thu Aug 26 20:18:43 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 26 20:18:43 2010 +0200"
      },
      "message": "PM QoS: Fix inline documentation.\n\nFix the pm_qos_add_request() kerneldoc comment that doesn\u0027t reflect\nthe behavior of the function after the last PM QoS update.\n\nSigned-off-by: Saravana Kannan \u003cskannan@codeaurora.org\u003e\nAcked-by: mark gross \u003cmarkgross@thegnar.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d4348c678977c7093438bbbf2067c49396ae941b",
      "tree": "c60752bc177c3297e28e62f759ddd5816fa52e19",
      "parents": [
        "37822188ef7bb41ae47b84ae283e6ac93cdafb9c",
        "8d330919927ea31fa083b5a80084dc991da813a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 25 10:50:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 25 10:50:07 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf, x86, Pentium4: Clear the P4_CCCR_FORCE_OVF flag\n  tracing/trace_stack: Fix stack trace on ppc64\n"
    },
    {
      "commit": "5e686019df425a4fd8003ce7f6eaccbe537331d8",
      "tree": "cc78762bc0fb471562ca1b5f745834a983020623",
      "parents": [
        "e09b4e9a8d15dce04bedf1b860abeec00de31aad",
        "cd7240c0b900eb6d690ccee088a6c9b46dae815a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 25 08:40:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 25 08:40:56 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, tsc, sched: Recompute cyc2ns_offset\u0027s during resume from sleep states\n  sched: Fix rq-\u003eclock synchronization when migrating tasks\n"
    },
    {
      "commit": "151772dbfad4dbe81721e40f9b3d588ea77bb7aa",
      "tree": "fea47f977d73063843d0e91e2a139c4f3fb71d6c",
      "parents": [
        "502adf5778f4151dcba3f64dd6ed322151f3712c"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Aug 25 11:32:38 2010 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 25 13:08:48 2010 +0200"
      },
      "message": "tracing/trace_stack: Fix stack trace on ppc64\n\nsave_stack_trace() stores the instruction pointer, not the\nfunction descriptor. On ppc64 the trace stack code currently\ndereferences the instruction pointer and shows 8 bytes of\ninstructions in our backtraces:\n\n # cat /sys/kernel/debug/tracing/stack_trace\n        Depth    Size   Location    (26 entries)\n        -----    ----   --------\n  0)     5424     112   0x6000000048000004\n  1)     5312     160   0x60000000ebad01b0\n  2)     5152     160   0x2c23000041c20030\n  3)     4992     240   0x600000007c781b79\n  4)     4752     160   0xe84100284800000c\n  5)     4592     192   0x600000002fa30000\n  6)     4400     256   0x7f1800347b7407e0\n  7)     4144     208   0xe89f0108f87f0070\n  8)     3936     272   0xe84100282fa30000\n\nSince we aren\u0027t dealing with function descriptors, use %pS\ninstead of %pF to fix it:\n\n # cat /sys/kernel/debug/tracing/stack_trace\n        Depth    Size   Location    (26 entries)\n        -----    ----   --------\n  0)     5424     112   ftrace_call+0x4/0x8\n  1)     5312     160   .current_io_context+0x28/0x74\n  2)     5152     160   .get_io_context+0x48/0xa0\n  3)     4992     240   .cfq_set_request+0x94/0x4c4\n  4)     4752     160   .elv_set_request+0x60/0x84\n  5)     4592     192   .get_request+0x2d4/0x468\n  6)     4400     256   .get_request_wait+0x7c/0x258\n  7)     4144     208   .__make_request+0x49c/0x610\n  8)     3936     272   .generic_make_request+0x390/0x434\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: rostedt@goodmis.org\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c20100825013238.GE28360@kryten\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8a2e8e5dec7e29c56a46ba176c664ab6a3d04118",
      "tree": "57da96451bead4986dfcd82aadf47ba2c05745ac",
      "parents": [
        "e41e704bc4f49057fc68b643108366e6e6781aa3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Aug 25 10:33:56 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Aug 25 10:33:56 2010 +0200"
      },
      "message": "workqueue: fix cwq-\u003enr_active underflow\n\ncwq-\u003enr_active is used to keep track of how many work items are active\nfor the cpu workqueue, where \u0027active\u0027 is defined as either pending on\nglobal worklist or executing.  This is used to implement the\nmax_active limit and workqueue freezing.  If a work item is queued\nafter nr_active has already reached max_active, the work item doesn\u0027t\nincrement nr_active and is put on the delayed queue and gets activated\nlater as previous active work items retire.\n\ntry_to_grab_pending() which is used in the cancellation path\nunconditionally decremented nr_active whether the work item being\ncancelled is currently active or delayed, so cancelling a delayed work\nitem makes nr_active underflow.  This breaks max_active enforcement\nand triggers BUG_ON() in destroy_workqueue() later on.\n\nThis patch fixes this bug by adding a flag WORK_STRUCT_DELAYED, which\nis set while a work item in on the delayed list and making\ntry_to_grab_pending() decrement nr_active iff the work item is\ncurrently active.\n\nThe addition of the flag enlarges cwq alignment to 256 bytes which is\ngetting a bit too large.  It\u0027s scheduled to be reduced back to 128\nbytes by merging WORK_STRUCT_PENDING and WORK_STRUCT_CWQ in the next\ndevel cycle.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n"
    },
    {
      "commit": "502adf5778f4151dcba3f64dd6ed322151f3712c",
      "tree": "ad14adb37dedaefabdaf93b08ab9d32bc140ed81",
      "parents": [
        "3b6c5507a69861e80c26f21d04601c674cbeec3d",
        "c6db67cda735d8ace5f19c3831240e1408679790"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 24 12:21:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 24 12:21:49 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  watchdog: Don\u0027t throttle the watchdog\n  tracing: Fix timer tracing\n"
    },
    {
      "commit": "3b6c5507a69861e80c26f21d04601c674cbeec3d",
      "tree": "339c0761121f5a20d0573c3af3177af87e00e09f",
      "parents": [
        "8ca3eb08097f6839b2206e2242db4179aee3cfb3",
        "9d0f4dcc5c4d1c5dd01172172684a45b5f49d740"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 24 12:21:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 24 12:21:02 2010 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  mutex: Improve the scalability of optimistic spinning\n"
    },
    {
      "commit": "bac1e74dba9755128748b872a0f304dad4d198c6",
      "tree": "68ffa67da67b1d7f06b4ff1cc7a705d3a5842386",
      "parents": [
        "f4e385ccfc10f44364101b126d1ac52b4c806f1d"
      ],
      "author": {
        "name": "David Alan Gilbert",
        "email": "linux@treblig.org",
        "time": "Tue Aug 24 20:22:18 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Aug 24 20:22:18 2010 +0200"
      },
      "message": "PM QoS: Fix kzalloc() parameters swapped in pm_qos_power_open()\n\nsparse spotted that the kzalloc() in pm_qos_power_open() in the\ncurrent Linus\u0027 git tree had its parameters swapped.  Fix this.\n\nSigned-off-by: David Alan Gilbert \u003clinux@treblig.org\u003e\nAcked-by: mark gross \u003cmarkgross@thegnar.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e41e704bc4f49057fc68b643108366e6e6781aa3",
      "tree": "8cc85208970ba0c9adf533903243e28c506f23ae",
      "parents": [
        "972fa1c5316d18c8297123e08e9b6930ca34f888"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Aug 24 14:22:47 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Aug 24 18:01:32 2010 +0200"
      },
      "message": "workqueue: improve destroy_workqueue() debuggability\n\nNow that the worklist is global, having works pending after wq\ndestruction can easily lead to oops and destroy_workqueue() have\nseveral BUG_ON()s to catch these cases.  Unfortunately, BUG_ON()\ndoesn\u0027t tell much about how the work became pending after the final\nflush_workqueue().\n\nThis patch adds WQ_DYING which is set before the final flush begins.\nIf a work is requested to be queued on a dying workqueue,\nWARN_ON_ONCE() is triggered and the request is ignored.  This clearly\nindicates which caller is trying to queue a work on a dying workqueue\nand keeps the system working in most cases.\n\nLocking rule comment is updated such that the \u0027I\u0027 rule includes\nmodifying the field from destruction path.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "972fa1c5316d18c8297123e08e9b6930ca34f888",
      "tree": "b96c34cb7ac493a80d959db6b361d2e87e854e06",
      "parents": [
        "06bd6ebffae36d3b105677598c48e8bd0a10b205"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Sun Aug 22 23:19:43 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 23 11:37:49 2010 +0200"
      },
      "message": "workqueue: mark lock acquisition on worker_maybe_bind_and_lock()\n\nworker_maybe_bind_and_lock() actually grabs gcwq-\u003elock but was missing proper\nannotation. Add it. So this patch will remove following sparse warnings:\n\n kernel/workqueue.c:1214:13: warning: context imbalance in \u0027worker_maybe_bind_and_lock\u0027 - wrong count at exit\n arch/x86/include/asm/irqflags.h:44:9: warning: context imbalance in \u0027worker_rebind_fn\u0027 - unexpected unlock\n kernel/workqueue.c:1991:17: warning: context imbalance in \u0027rescuer_thread\u0027 - unexpected unlock\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "06bd6ebffae36d3b105677598c48e8bd0a10b205",
      "tree": "d75a38a50378a3365bf57383297e0fe0372e916a",
      "parents": [
        "8d9df9f0844ed87541453a3ef91bfc9f487053b7"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Sun Aug 22 23:19:42 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 23 11:37:49 2010 +0200"
      },
      "message": "workqueue: annotate lock context change\n\nSome of internal functions called within gcwq-\u003elock context releases and\nregrabs the lock but were missing proper annotations. Add it.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "9d0f4dcc5c4d1c5dd01172172684a45b5f49d740",
      "tree": "e24eb28059f983284c29851e0598667cd428e2a1",
      "parents": [
        "763008c4357b73c8d18396dfd8d79dc58fa3f99d"
      ],
      "author": {
        "name": "Tim Chen",
        "email": "tim.c.chen@linux.intel.com",
        "time": "Wed Aug 18 15:00:27 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 23 10:56:27 2010 +0200"
      },
      "message": "mutex: Improve the scalability of optimistic spinning\n\nThere is a scalability issue for current implementation of optimistic\nmutex spin in the kernel.  It is found on a 8 node 64 core Nehalem-EX\nsystem (HT mode).\n\nThe intention of the optimistic mutex spin is to busy wait and spin on a\nmutex if the owner of the mutex is running, in the hope that the mutex\nwill be released soon and be acquired, without the thread trying to\nacquire mutex going to sleep. However, when we have a large number of\nthreads, contending for the mutex, we could have the mutex grabbed by\nother thread, and then another ……, and we will keep spinning, wasting cpu\ncycles and adding to the contention.  One possible fix is to quit\nspinning and put the current thread on wait-list if mutex lock switch to\na new owner while we spin, indicating heavy contention (see the patch\nincluded).\n\nI did some testing on a 8 socket Nehalem-EX system with a total of 64\ncores. Using Ingo\u0027s test-mutex program that creates/delete files with 256\nthreads (http://lkml.org/lkml/2006/1/8/50) , I see the following speed up\nafter putting in the mutex spin fix:\n\n ./mutex-test V 256 10\n                 Ops/sec\n 2.6.34          62864\n With fix        197200\n\nRepeating the test with Aim7 fserver workload, again there is a speed up\nwith the fix:\n\n                 Jobs/min\n 2.6.34          91657\n With fix        149325\n\nTo look at the impact on the distribution of mutex acquisition time, I\ncollected the mutex acquisition time on Aim7 fserver workload with some\ninstrumentation.  The average acquisition time is reduced by 48% and\nnumber of contentions reduced by 32%.\n\n                 #contentions    Time to acquire mutex (cycles)\n 2.6.34          72973           44765791\n With fix        49210           23067129\n\nThe histogram of mutex acquisition time is listed below.  The acquisition\ntime is in 2^bin cycles.  We see that without the fix, the acquisition\ntime is mostly around 2^26 cycles.  With the fix, we the distribution get\nspread out a lot more towards the lower cycles, starting from 2^13.\nHowever, there is an increase of the tail distribution with the fix at\n2^28 and 2^29 cycles.  It seems a small price to pay for the reduced\naverage acquisition time and also getting the cpu to do useful work.\n\n Mutex acquisition time distribution (acq time \u003d 2^bin cycles):\n         2.6.34                  With Fix\n bin     #occurrence     %       #occurrence     %\n 11      2               0.00%   120             0.24%\n 12      10              0.01%   790             1.61%\n 13      14              0.02%   2058            4.18%\n 14      86              0.12%   3378            6.86%\n 15      393             0.54%   4831            9.82%\n 16      710             0.97%   4893            9.94%\n 17      815             1.12%   4667            9.48%\n 18      790             1.08%   5147            10.46%\n 19      580             0.80%   6250            12.70%\n 20      429             0.59%   6870            13.96%\n 21      311             0.43%   1809            3.68%\n 22      255             0.35%   2305            4.68%\n 23      317             0.44%   916             1.86%\n 24      610             0.84%   233             0.47%\n 25      3128            4.29%   95              0.19%\n 26      63902           87.69%  122             0.25%\n 27      619             0.85%   286             0.58%\n 28      0               0.00%   3536            7.19%\n 29      0               0.00%   903             1.83%\n 30      0               0.00%   0               0.00%\n\nI\u0027ve done similar experiments with 2.6.35 kernel on smaller boxes as\nwell.  One is on a dual-socket Westmere box (12 cores total, with HT).\nAnother experiment is on an old dual-socket Core 2 box (4 cores total, no\nHT)\n\nOn the 12-core Westmere box, I see a 250% increase for Ingo\u0027s mutex-test\nprogram with my mutex patch but no significant difference in aim7\u0027s\nfserver workload.\n\nOn the 4-core Core 2 box, I see the difference with the patch for both\nmutex-test and aim7 fserver are negligible.\n\nSo far, it seems like the patch has not caused regression on smaller\nsystems.\n\nSigned-off-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e # .35.x\nLKML-Reference: \u003c1282168827.9542.72.camel@schen9-DESK\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6db67cda735d8ace5f19c3831240e1408679790",
      "tree": "8512efd772cb3d3f30b49001890c93a22f2db50f",
      "parents": [
        "ede1b4290781ae82ccf0f2ecc6dada8d3dd35779"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Aug 20 11:49:15 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 23 10:48:05 2010 +0200"
      },
      "message": "watchdog: Don\u0027t throttle the watchdog\n\nStephane reported that when the machine locks up, the regular ticks,\nwhich are responsible to resetting the throttle count, stop too.\n\nHence the NMI watchdog can end up being throttled before it reports on\nthe locked up state, and we end up being sad..\n\nCure this by having the watchdog overflow reset its own throttle count.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nTested-by: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1282215916.1926.4696.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e36c886a0f9d624377977fa6cae309cfd7f362fa",
      "tree": "f75e7c3e50a48c671ed4dff33103f601a2204af9",
      "parents": [
        "69b26c7ad00fd5b6129400725e2ffb95134a0e1b"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Aug 21 13:07:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 21 13:19:37 2010 -0700"
      },
      "message": "workqueue: Add basic tracepoints to track workqueue execution\n\nWith the introduction of the new unified work queue thread pools,\nwe lost one feature: It\u0027s no longer possible to know which worker\nis causing the CPU to wake out of idle. The result is that PowerTOP\nnow reports a lot of \"kworker/a:b\" instead of more readable results.\n\nThis patch adds a pair of tracepoints to the new workqueue code,\nsimilar in style to the timer/hrtimer tracepoints.\n\nWith this pair of tracepoints, the next PowerTOP can correctly\nreport which work item caused the wakeup (and how long it took):\n\nInterrupt (43)            i915      time   3.51ms    wakeups 141\nWork      ieee80211_iface_work      time   0.81ms    wakeups  29\nWork              do_dbs_timer      time   0.55ms    wakeups  24\nProcess                   Xorg      time  21.36ms    wakeups   4\nTimer    sched_rt_period_timer      time   0.01ms    wakeups   1\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "297c5eee372478fc32fec5fe8eed711eedb13f3d",
      "tree": "18415eae0833ff4767943f985900524d6b1d73f1",
      "parents": [
        "36423a5ed5e4ea95ceedb68fad52965033e11639"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 16:24:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 21 08:49:21 2010 -0700"
      },
      "message": "mm: make the vma list be doubly linked\n\nIt\u0027s a really simple list, and several of the users want to go backwards\nin it to find the previous vma.  So rather than have to look up the\nprevious entry with \u0027find_vma_prev()\u0027 or something similar, just make it\ndoubly linked instead.\n\nTested-by: Ian Campbell \u003cijc@hellion.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f335397d177c906256ee1bba28e8c49e8ec63817",
      "tree": "b6911d0b40940cbec9083769856e7744d5461e22",
      "parents": [
        "1495cc9df4e81f5a8fa9b0b8f1034b14d24b7d8c"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 17 21:15:47 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Sat Aug 21 00:34:45 2010 -0700"
      },
      "message": "Input: sysrq - drop tty argument form handle_sysrq()\n\nSysrq operations do not accept tty argument anymore so no need to pass\nit to us.\n\n[Stephen Rothwell \u003csfr@canb.auug.org.au\u003e: fix build breakage in drm code\n caused by sysrq using bool but not including linux/types.h]\n\n[Sachin Sant \u003csachinp@in.ibm.com\u003e: fix build breakage in s390 keyboadr\n driver]\n\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "b35de43b31040828f83046f40fd34ba33146409d",
      "tree": "693ffff84f463da3a7d81d8bd7bb26e144d7d499",
      "parents": [
        "c81476df1b4241aefba4ff83a7701b3a926bd7ce"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "arighi@develer.com",
        "time": "Thu Aug 19 14:13:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 20 09:34:54 2010 -0700"
      },
      "message": "kfifo: implement missing __kfifo_skip_r()\n\nkfifo_skip() is currently broken, due to the missing of the internal\nhelper function.  Add it.\n\nSigned-off-by: Andrea Righi \u003carighi@develer.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nAcked-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "861d034ee814917a83bd5de4b26e3b8336ddeeb8",
      "tree": "6514cb3ebbb58fb0a638e267dfd6da510a5c8a00",
      "parents": [
        "763008c4357b73c8d18396dfd8d79dc58fa3f99d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Aug 19 13:31:43 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 20 14:59:01 2010 +0200"
      },
      "message": "sched: Fix rq-\u003eclock synchronization when migrating tasks\n\nsched_fork() -- we do task placement in -\u003etask_fork_fair() ensure we\n  update_rq_clock() so we work with current time. We leave the vruntime\n  in relative state, so the time delay until wake_up_new_task() doesn\u0027t\n  matter.\n\nwake_up_new_task() -- Since task_fork_fair() left p-\u003evruntime in\n  relative state we can safely migrate, the activate_task() on the\n  remote rq will call update_rq_clock() and causes the clock to be\n  synced (enough).\n\nTested-by: Jack Daniel \u003cwanders.thirst@gmail.com\u003e\nTested-by: Philby John \u003cpjohn@mvista.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1281002322.1923.1708.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1495cc9df4e81f5a8fa9b0b8f1034b14d24b7d8c",
      "tree": "7a08852f9fb0cb3073367ef84c0218af0b5479f7",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Aug 17 21:15:46 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Aug 19 22:07:06 2010 -0700"
      },
      "message": "Input: sysrq - drop tty argument from sysrq ops handlers\n\nNoone is using tty argument so let\u0027s get rid of it.\n\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "145c3ae46b37993b0debb0b3da6256daea4a6ec5",
      "tree": "0dbff382ce36b23b3d2dbff87d3eaab73a07a2a4",
      "parents": [
        "81ca03a0e2ea0207b2df80e0edcf4c775c07a505",
        "99b7db7b8ffd6bb755eb0a175596421a0b581cb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:35:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:35:08 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  fs: brlock vfsmount_lock\n  fs: scale files_lock\n  lglock: introduce special lglock and brlock spin locks\n  tty: fix fu_list abuse\n  fs: cleanup files_lock locking\n  fs: remove extra lookup in __lookup_hash\n  fs: fs_struct rwlock to spinlock\n  apparmor: use task path helpers\n  fs: dentry allocation consolidation\n  fs: fix do_lookup false negative\n  mbcache: Limit the maximum number of cache entries\n  hostfs -\u003efollow_link() braino\n  hostfs: dumb (and usually harmless) tpyo - strncpy instead of strlcpy\n  remove SWRITE* I/O types\n  kill BH_Ordered flag\n  vfs: update ctime when changing the file\u0027s permission by setfacl\n  cramfs: only unlock new inodes\n  fix reiserfs_evict_inode end_writeback second call\n"
    },
    {
      "commit": "1ca72feb9343d10a620c3076b0aa6e80d613fcf7",
      "tree": "911ddec19e97d06877f3f00ee90f51389e030549",
      "parents": [
        "7dfb2d4069cc698da925327e8c2106852a0c77a2",
        "9d5f3714e4705a66b6be693f7202192f756f498e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:32:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 18 09:32:13 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tools: Fix build on POSIX shells\n  latencytop: Fix kconfig dependency warnings\n  perf annotate tui: Fix exit and RIGHT keys handling\n  tracing: Sanitize value returned from write(trace_marker, \"...\", len)\n  tracing/events: Convert format output to seq_file\n  tracing: Extend recordmcount to better support Blackfin mcount\n  tracing: Fix ring_buffer_read_page reading out of page boundary\n  tracing: Fix an unallocated memory access in function_graph\n"
    },
    {
      "commit": "2a4419b5b2a77f3f4537c14f7ad7df95770655dd",
      "tree": "ad66519a92b995920ecada788e4a08e265747545",
      "parents": [
        "44672e4fbd40e2dda8bbce7d0f71d24dbfc7e00e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:33 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:46 2010 -0400"
      },
      "message": "fs: fs_struct rwlock to spinlock\n\nfs: fs_struct rwlock to spinlock\n\nstruct fs_struct.lock is an rwlock with the read-side used to protect root and\npwd members while taking references to them. Taking a reference to a path\ntypically requires just 2 atomic ops, so the critical section is very small.\nParallel read-side operations would have cacheline contention on the lock, the\ndentry, and the vfsmount cachelines, so the rwlock is unlikely to ever give a\nreal parallelism increase.\n\nReplace it with a spinlock to avoid one or two atomic operations in typical\npath lookup fastpath.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "392abeea52db4dc870c0ea41912df8ca60b27d44",
      "tree": "a2683db754940ea8fb5e4aa78aedbfe2b786b3a4",
      "parents": [
        "472db19ff5729cc9d054d6f87ba5147b21ec0787",
        "beed5336eba6a5a70c97e9f4bfff525915a25003"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 17 18:36:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 17 18:36:19 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  vt,console,kdb: preserve console_blanked while in kdb\n  vt: fix regression warnings from KMS merge\n  arm,kgdb: fix GDB_MAX_REGS no longer used\n  kgdb: add missing __percpu markup in arch/x86/kernel/kgdb.c\n  kdb: fix compile error without CONFIG_KALLSYMS\n"
    },
    {
      "commit": "f362b73244fb16ea4ae127ced1467dd8adaa7733",
      "tree": "6aa3e767b527157b532c0620f2e9ef4c8f131c45",
      "parents": [
        "d7627467b7a8dd6944885290a03a07ceb28c10eb"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Tue Aug 17 23:56:55 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 17 18:07:43 2010 -0700"
      },
      "message": "Fix unprotected access to task credentials in waitid()\n\nUsing a program like the following:\n\n\t#include \u003cstdlib.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csys/types.h\u003e\n\t#include \u003csys/wait.h\u003e\n\n\tint main() {\n\t\tid_t id;\n\t\tsiginfo_t infop;\n\t\tpid_t res;\n\n\t\tid \u003d fork();\n\t\tif (id \u003d\u003d 0) { sleep(1); exit(0); }\n\t\tkill(id, SIGSTOP);\n\t\talarm(1);\n\t\twaitid(P_PID, id, \u0026infop, WCONTINUED);\n\t\treturn 0;\n\t}\n\nto call waitid() on a stopped process results in access to the child task\u0027s\ncredentials without the RCU read lock being held - which may be replaced in the\nmeantime - eliciting the following warning:\n\n\t\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\t[ INFO: suspicious rcu_dereference_check() usage. ]\n\t---------------------------------------------------\n\tkernel/exit.c:1460 invoked rcu_dereference_check() without protection!\n\n\tother info that might help us debug this:\n\n\trcu_scheduler_active \u003d 1, debug_locks \u003d 1\n\t2 locks held by waitid02/22252:\n\t #0:  (tasklist_lock){.?.?..}, at: [\u003cffffffff81061ce5\u003e] do_wait+0xc5/0x310\n\t #1:  (\u0026(\u0026sighand-\u003esiglock)-\u003erlock){-.-...}, at: [\u003cffffffff810611da\u003e]\n\twait_consider_task+0x19a/0xbe0\n\n\tstack backtrace:\n\tPid: 22252, comm: waitid02 Not tainted 2.6.35-323cd+ #3\n\tCall Trace:\n\t [\u003cffffffff81095da4\u003e] lockdep_rcu_dereference+0xa4/0xc0\n\t [\u003cffffffff81061b31\u003e] wait_consider_task+0xaf1/0xbe0\n\t [\u003cffffffff81061d15\u003e] do_wait+0xf5/0x310\n\t [\u003cffffffff810620b6\u003e] sys_waitid+0x86/0x1f0\n\t [\u003cffffffff8105fce0\u003e] ? child_wait_callback+0x0/0x70\n\t [\u003cffffffff81003282\u003e] system_call_fastpath+0x16/0x1b\n\nThis is fixed by holding the RCU read lock in wait_task_continued() to ensure\nthat the task\u0027s current credentials aren\u0027t destroyed between us reading the\ncred pointer and us reading the UID from those credentials.\n\nFurthermore, protect wait_task_stopped() in the same way.\n\nWe don\u0027t need to keep holding the RCU read lock once we\u0027ve read the UID from\nthe credentials as holding the RCU read lock doesn\u0027t stop the target task from\nchanging its creds under us - so the credentials may be outdated immediately\nafter we\u0027ve read the pointer, lock or no lock.\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7627467b7a8dd6944885290a03a07ceb28c10eb",
      "tree": "a18c83468418e878cfb2d44e4310d81b8db84ad7",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 17 23:52:56 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 17 18:07:43 2010 -0700"
      },
      "message": "Make do_execve() take a const filename pointer\n\nMake do_execve() take a const filename pointer so that kernel_execve() compiles\ncorrectly on ARM:\n\narch/arm/kernel/sys_arm.c:88: warning: passing argument 1 of \u0027do_execve\u0027 discards qualifiers from pointer target type\n\nThis also requires the argv and envp arguments to be consted twice, once for\nthe pointer array and once for the strings the array points to.  This is\nbecause do_execve() passes a pointer to the filename (now const) to\ncopy_strings_kernel().  A simpler alternative would be to cast the filename\npointer in do_execve() when it\u0027s passed to copy_strings_kernel().\n\ndo_execve() may not change any of the strings it is passed as part of the argv\nor envp lists as they are some of them in .rodata, so marking these strings as\nconst should be fine.\n\nFurther kernel_execve() and sys_execve() need to be changed to match.\n\nThis has been test built on x86_64, frv, arm and mips.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b590cddfa6f40447158323b43a13cdae01d9a051",
      "tree": "c844374c791d69930b57173d34b2cef917281a02",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 16 15:58:29 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 16 15:58:29 2010 -0500"
      },
      "message": "kdb: fix compile error without CONFIG_KALLSYMS\n\nIf CONFIG_KGDB_KDB is set and CONFIG_KALLSYMS is not set the kernel\nwill fail to build with the error:\n\nkernel/built-in.o: In function `kallsyms_symbol_next\u0027:\nkernel/debug/kdb/kdb_support.c:237: undefined reference to `kdb_walk_kallsyms\u0027\nkernel/built-in.o: In function `kallsyms_symbol_complete\u0027:\nkernel/debug/kdb/kdb_support.c:193: undefined reference to `kdb_walk_kallsyms\u0027\n\nThe kdb_walk_kallsyms needs a #ifdef proper header to match the C\nimplementation.  This patch also fixes the compiler warnings in\nkdb_support.c when compiling without CONFIG_KALLSYMS set.  The\ncompiler warnings are a result of the kallsyms_lookup() macro not\ninitializing the two of the pass by reference variables.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nReported-by: Michal Simek \u003cmonstr@monstr.eu\u003e\n"
    },
    {
      "commit": "d244b6bd41e09ecbb09c738cc2c108be227398c8",
      "tree": "848c6a8a0d6f83929daf43d63e241dc8072066ac",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73",
        "1aa54bca6ee0d07ebcafb8ca8074b624d80724aa"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Aug 16 11:17:30 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Aug 16 11:17:30 2010 -0400"
      },
      "message": "Merge branch \u0027tip/perf/urgent-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into trace/tip/perf/urgent-4\n\nConflicts:\n\tkernel/trace/trace_events.c\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8d9df9f0844ed87541453a3ef91bfc9f487053b7",
      "tree": "b9779092c34a47de0cb268f4a631bc1e0024a01a",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Mon Aug 16 09:54:28 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 16 09:55:01 2010 +0200"
      },
      "message": "workqueue: free rescuer on destroy_workqueue\n\nwq-\u003erescuer is not freed when wq is destroyed, leads a memory leak\nthen. This patch also remove a redundant line.\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "1aa54bca6ee0d07ebcafb8ca8074b624d80724aa",
      "tree": "815f3c1d184b61958ee48eb868ed28b1e5aab278",
      "parents": [
        "2a37a3df57c44e947271758a1aa4bea7bff9feab"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Wed Jul 28 01:18:01 2010 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 13 15:23:16 2010 -0400"
      },
      "message": "tracing: Sanitize value returned from write(trace_marker, \"...\", len)\n\nWhen userspace code writes non-new-line-terminated string to trace_marker\nfile, write handler appends new-line and returns number of bytes written\nto trace buffer, so\nwrite(fd, \"abc\", 3) will return 4\n\nThat\u0027s unexpected and unfortunately it confuses glibc\u0027s fprintf function.\n\nExample:\nint main() {\n  fprintf(stderr, \"abc\");\n  return 0;\n}\n\n$ gcc test.c -o test\n$ echo mmiotrace \u003e /sys/kernel/debug/tracing/current_tracer\n$ ./test 2\u003e/sys/kernel/debug/tracing/trace_marker\n\nresults in infinite loop:\nwrite(fd, \"abc\", 3) \u003d 4\nwrite(fd, \"\", 1) \u003d 0\nwrite(fd, \"\", 1) \u003d 0\nwrite(fd, \"\", 1) \u003d 0\nwrite(fd, \"\", 1) \u003d 0\nwrite(fd, \"\", 1) \u003d 0\nwrite(fd, \"\", 1) \u003d 0\nwrite(fd, \"\", 1) \u003d 0\n(...)\n\n...and kernel trace buffer full of empty markers.\n\nFix it by sanitizing write return value.\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nLKML-Reference: \u003c20100727231801.GB2826@joi.lan\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c7dcf87a6881bf796faee83003163eb3de41a309",
      "tree": "1e4333e588ad6e8e69e310d8ae71798af1c0bdb5",
      "parents": [
        "2be1f3a73dd02e38e181cf5abacb3d45a6a2d6b8"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri Aug 13 11:30:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 12:03:24 2010 -0700"
      },
      "message": "time: Workaround gcc loop optimization that causes 64bit div errors\n\nEarly 4.3 versions of gcc apparently aggressively optimize the raw\ntime accumulation loop, replacing it with a divide.\n\nOn 32bit systems, this causes the following link errors:\n\tundefined reference to `__umoddi3\u0027\n\tundefined reference to `__udivdi3\u0027\n\nThe gcc issue has been fixed in 4.4 and greater.\n\nThis patch replaces the accumulation loop with a do_div, as suggested\nby Linus.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCC: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCC: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2069601b3f0ea38170d4b509b89f3ca0a373bdc1",
      "tree": "647002d4c3814bd3d95d16ef7edef1757de8554f",
      "parents": [
        "ad41a1e0cab07c5125456e8d38e5b1ab148d04aa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 14:23:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 14:23:04 2010 -0700"
      },
      "message": "Revert \"fsnotify: store struct file not struct path\"\n\nThis reverts commit 3bcf3860a4ff9bbc522820b4b765e65e4deceb3e (and the\naccompanying commit c1e5c954020e \"vfs/fsnotify: fsnotify_close can delay\nthe final work in fput\" that was a horribly ugly hack to make it work at\nall).\n\nThe \u0027struct file\u0027 approach not only causes that disgusting hack, it\nsomehow breaks pulseaudio, probably due to some other subtlety with\nf_count handling.\n\nFix up various conflicts due to later fsnotify work.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a37a3df57c44e947271758a1aa4bea7bff9feab",
      "tree": "89d3e35a1c29f021d7ca0c468a391ec35f0db34b",
      "parents": [
        "465c6cca2668a2db2a4ffce3dca5714017873f2b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jun 03 15:21:34 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 12 16:59:29 2010 -0400"
      },
      "message": "tracing/events: Convert format output to seq_file\n\nTwo new events were added that broke the current format output.\n\nBoth from the SCSI system: scsi_dispatch_cmd_done and scsi_dispatch_cmd_timeout\n\nThe reason is that their print_fmt exceeded a page size. Since the output\nof the format used simple_read_from_buffer and trace_seq, it was limited\nto a page size in output.\n\nThis patch converts the printing of the format of an event into seq_file,\nwhich allows greater than a page size to be shown.\n\nI diffed all event formats comparing the output with and without this\npatch. All matched except for the above two, which showed just:\n\n  FORMAT TOO BIG\n\nwithout this patch, but now properly displays the output with this patch.\n\nv2: Remove updating *pos in seq start function.\n   [ Thanks to Li Zefan for pointing that out ]\n\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nCc: Kei Tokunaga \u003ctokunaga.keiich@jp.fujitsu.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nCc: Tomohiro Kusumi \u003ckusumi.tomohiro@jp.fujitsu.com\u003e\nCc: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "26df0766a73a859bb93dc58e747c5028557a23fd",
      "tree": "4776de567425a7fb66ca9a87228309f9c84de633",
      "parents": [
        "580287628cdd99366b10c9050c4479b387283be8",
        "a6de51b2787012ba3ab62c7d50df1b749b83d5f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 10:01:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 10:01:59 2010 -0700"
      },
      "message": "Merge branch \u0027params\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* \u0027params\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (22 commits)\n  param: don\u0027t deref arg in __same_type() checks\n  param: update drivers/acpi/debug.c to new scheme\n  param: use module_param in drivers/message/fusion/mptbase.c\n  ide: use module_param_named rather than module_param_call\n  param: update drivers/char/ipmi/ipmi_watchdog.c to new scheme\n  param: lock if_sdio\u0027s lbs_helper_name and lbs_fw_name against sysfs changes.\n  param: lock myri10ge_fw_name against sysfs changes.\n  param: simple locking for sysfs-writable charp parameters\n  param: remove unnecessary writable charp\n  param: add kerneldoc to moduleparam.h\n  param: locking for kernel parameters\n  param: make param sections const.\n  param: use free hook for charp (fix leak of charp parameters)\n  param: add a free hook to kernel_param_ops.\n  param: silence .init.text references from param ops\n  Add param ops struct for hvc_iucv driver.\n  nfs: update for module_param_named API change\n  AppArmor: update for module_param_named API change\n  param: use ops in struct kernel_param, rather than get and set fns directly\n  param: move the EXPORT_SYMBOL to after the definitions.\n  ...\n"
    },
    {
      "commit": "deda2e81961e96be4f2c09328baca4710a2fd1a0",
      "tree": "da1968f7e6791cb96735e8f2c602aa55e76fec21",
      "parents": [
        "95f4572737da469b66ebfd1badd69d9adc340409"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 09 14:20:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 09:53:39 2010 -0700"
      },
      "message": "timekeeping: Fix overflow in rawtime tv_nsec on 32 bit archs\n\nThe tv_nsec is a long and when added to the shifted interval it can wrap\nand become negative which later causes looping problems in the\ngetrawmonotonic().  The edge case occurs when the system has slept for\na short period of time of ~2 seconds.\n\nA trace printk of the values in this patch illustrate the problem:\n\nftrace time stamp: log\n43.716079: logarithmic_accumulation: raw: 3d0913 tv_nsec d687faa\n43.718513: logarithmic_accumulation: raw: 3d0913 tv_nsec da588bd\n43.722161: logarithmic_accumulation: raw: 3d0913 tv_nsec de291d0\n46.349925: logarithmic_accumulation: raw: 7a122600 tv_nsec e1f9ae3\n46.349930: logarithmic_accumulation: raw: 1e848980 tv_nsec 8831c0e3\n\nThe kernel starts looping at 46.349925 in the getrawmonotonic() due to\nthe negative value from adding the raw value to tv_nsec.\n\nA simple solution is to accumulate into a u64, and then normalize it\nto a timespec_t.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n [ Reworked variable names and simplified some of the code. - John ]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12fdff3fc2483f906ae6404a6e8dcf2550310b6f",
      "tree": "a79fb1365fce7c7529655a8802d6d6bf8509b374",
      "parents": [
        "1490cf5f0cb07dd49cdab4bceb769d7f711d7ca6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Aug 12 16:54:57 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 09:51:35 2010 -0700"
      },
      "message": "Add a dummy printk function for the maintenance of unused printks\n\nAdd a dummy printk function for the maintenance of unused printks through gcc\nformat checking, and also so that side-effect checking is maintained too.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d57a98ccd0b4489003473979da8f5a1363ba7a3",
      "tree": "2982997ce66bb6a92c020b7189966c3097095fd7",
      "parents": [
        "93caf8e69eac763f6a20cf253ace8e7fc1ab7953"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Wed Aug 11 14:17:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 08:43:30 2010 -0700"
      },
      "message": "block: add secure discard\n\nSecure discard is the same as discard except that all copies of the\ndiscarded sectors (perhaps created by garbage collection) must also be\nerased.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Kyungmin Park \u003ckmpark@infradead.org\u003e\nCc: Madhusudhan Chikkature \u003cmadhu.cr@ti.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d78a3eda6985e74bc21a23362f27526f73e71649",
      "tree": "fe395ab0372893e66c8f1375ca8b11a33020d11f",
      "parents": [
        "5af568cbd55f60b5a1d174f621b273e4f585dc35"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Wed Aug 11 14:17:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 08:43:29 2010 -0700"
      },
      "message": "kernel/kfifo.c: add handling of chained scatterlists\n\nThe current kfifo scatterlist implementation will not work with chained\nscatterlists.  It assumes that struct scatterlist arrays are allocated\ncontiguously, which is not the case when chained scatterlists (struct\nsg_table) are in use.\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5af568cbd55f60b5a1d174f621b273e4f585dc35",
      "tree": "7cdc1afeb267519133a29ac595df21278c556c8c",
      "parents": [
        "062e27ec1b49d12bdb1ecc94d74b5fee5a5775db",
        "66a362a2aa8ffa72670259fa15e2a77a01cc2217"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:23:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:23:32 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  isofs: Fix lseek() to position beyond 4 GB\n  vfs: remove unused MNT_STRICTATIME\n  vfs: show unreachable paths in getcwd and proc\n  vfs: only add \" (deleted)\" where necessary\n  vfs: add prepend_path() helper\n  vfs: __d_path: dont prepend the name of the root dentry\n  ia64: perfmon: add d_dname method\n  vfs: add helpers to get root and pwd\n  cachefiles: use path_get instead of lone dget\n  fs/sysv/super.c: add support for non-PDP11 v7 filesystems\n  V7: Adjust sanity checks for some volumes\n  Add v7 alias\n  v9fs: fixup for inode_setattr being removed\n\nManual merge to take Al\u0027s version of the fs/sysv/super.c file: it merged\ncleanly, but Al had removed an unnecessary header include, so his side\nwas better.\n"
    },
    {
      "commit": "2e956fb320568cc70861761483e2f0e2db75fd66",
      "tree": "737c21d0eb1981f26de6d4830ef6fa8162888c89",
      "parents": [
        "4201d9a8e86b51dd40aa8a0dabd093376c859985"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Tue Aug 10 18:03:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:23 2010 -0700"
      },
      "message": "kfifo: replace the old non generic API\n\nSimply replace the whole kfifo.c and kfifo.h files with the new generic\nversion and fix the kerneldoc API template file.\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4201d9a8e86b51dd40aa8a0dabd093376c859985",
      "tree": "6c5351812aab1e027056139c95982642890797ec",
      "parents": [
        "4457d9845927b3c62b6e833be243d21d6ca7df47"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Tue Aug 10 18:03:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:23 2010 -0700"
      },
      "message": "kfifo: add the new generic kfifo API\n\nAdd the new version of the kfifo API files kfifo.c and kfifo.h.\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f65a03f6ab6f53a6f2847dbac232dcb38b3b3642",
      "tree": "b6412bfc2ec6dd1cc061e11e60cad1949ca6cf8d",
      "parents": [
        "832ccf6f44969b616b2aeea25276684cf104fa3b"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Aug 10 18:03:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "kexec: return -EFAULT on copy_to_user() failures\n\ncopy_to/from_user() returns the number of bytes remaining to be copied.\nIt never returns a negative value.  The correct return code is -EFAULT and\nnot -EIO.\n\nAll the callers check for non-zero returns so that\u0027s Ok, but the return\ncode is passed to the user so we should fix this.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "863a6049202412a6d655d052eb1c45ca7dd74a83",
      "tree": "9550c1f6c484460cb646f4472558512ac8a9f149",
      "parents": [
        "e2e7e093259d4c6b73b432122974393d6fcdfc2a"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Tue Aug 10 18:03:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "lib/bug.c: add oops end marker to WARN implementation\n\nWe are missing the oops end marker for the exception based WARN implementation\nin lib/bug.c. This is useful for logfile analysis tools.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c7ff0d9c92435e836e13aaa8d0e56d4000424bcc",
      "tree": "96f56d15b5dd96c44fb183ce00152608df50dc5c",
      "parents": [
        "bebf8cfaea1df1a104b993b995bb385e998a4dc8"
      ],
      "author": {
        "name": "TAMUKI Shoichi",
        "email": "tamuki@linet.gr.jp",
        "time": "Tue Aug 10 18:03:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "panic: keep blinking in spite of long spin timer mode\n\nTo keep panic_timeout accuracy when running under a hypervisor, the\ncurrent implementation only spins on long time (1 second) calls to mdelay.\n That brings a good effect, but the problem is the keyboard LEDs don\u0027t\nblink at all on that situation.\n\nThis patch changes to call to panic_blink_enter() between every mdelay and\nkeeps blinking in spite of long spin timer mode.\n\nThe time to call to mdelay is now 100ms.  Even this change will keep\npanic_timeout accuracy enough when running under a hypervisor.\n\nSigned-off-by: TAMUKI Shoichi \u003ctamuki@linet.gr.jp\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nAcked-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c52b0b91ba1f4b7ea90e20385c0a6df0ba54aed4",
      "tree": "6d92439150a3218da5807610991da4d70af56bf8",
      "parents": [
        "5fdee8c4a5e1800489ce61963208f8cc55e42ea1"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Aug 10 18:03:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "pids: alloc_pidmap: remove the unnecessary boundary checks\n\nalloc_pidmap() calculates max_scan so that if the initial offset !\u003d 0 we\ninspect the first map-\u003epage twice.  This is correct, we want to find the\nunused bits \u003c offset in this bitmap block.  Add the comment.\n\nBut it doesn\u0027t make any sense to stop the find_next_offset() loop when we\nare looking into this map-\u003epage for the second time.  We have already\nalready checked the bits \u003e\u003d offset during the first attempt, it is fine to\ndo this again, no matter if we succeed this time or not.\n\nRemove this hard-to-understand code.  It optimizes the very unlikely case\nwhen we are going to fail, but slows down the more likely case.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Salman Qazi \u003csqazi@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5fdee8c4a5e1800489ce61963208f8cc55e42ea1",
      "tree": "9e675416ab1085e9ce4822cd5e6c5705cb62204b",
      "parents": [
        "9c867fbe06458a8957024236b574733fae0cefed"
      ],
      "author": {
        "name": "Salman",
        "email": "sqazi@google.com",
        "time": "Tue Aug 10 18:03:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "pids: fix a race in pid generation that causes pids to be reused immediately\n\nA program that repeatedly forks and waits is susceptible to having the\nsame pid repeated, especially when it competes with another instance of\nthe same program.  This is really bad for bash implementation.\nFurthermore, many shell scripts assume that pid numbers will not be used\nfor some length of time.\n\nRace Description:\n\nA                                    B\n\n// pid \u003d\u003d offset \u003d\u003d n                // pid \u003d\u003d offset \u003d\u003d n + 1\ntest_and_set_bit(offset, map-\u003epage)\n                                     test_and_set_bit(offset, map-\u003epage);\n                                     pid_ns-\u003elast_pid \u003d pid;\npid_ns-\u003elast_pid \u003d pid;\n                                     // pid \u003d\u003d n + 1 is freed (wait())\n\n                                     // Next fork()...\n                                     last \u003d pid_ns-\u003elast_pid; // \u003d\u003d n\n                                     pid \u003d last + 1;\n\nCode to reproduce it (Running multiple instances is more effective):\n\n#include \u003cerrno.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003csys/wait.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n\n// The distance mod 32768 between two pids, where the first pid is expected\n// to be smaller than the second.\nint PidDistance(pid_t first, pid_t second) {\n  return (second + 32768 - first) % 32768;\n}\n\nint main(int argc, char* argv[]) {\n  int failed \u003d 0;\n  pid_t last_pid \u003d 0;\n  int i;\n  printf(\"%d\\n\", sizeof(pid_t));\n  for (i \u003d 0; i \u003c 10000000; ++i) {\n    if (i % 32786 \u003d\u003d 0)\n      printf(\"Iter: %d\\n\", i/32768);\n    int child_exit_code \u003d i % 256;\n    pid_t pid \u003d fork();\n    if (pid \u003d\u003d -1) {\n      fprintf(stderr, \"fork failed, iteration %d, errno\u003d%d\", i, errno);\n      exit(1);\n    }\n    if (pid \u003d\u003d 0) {\n      // Child\n      exit(child_exit_code);\n    } else {\n      // Parent\n      if (i \u003e 0) {\n        int distance \u003d PidDistance(last_pid, pid);\n        if (distance \u003d\u003d 0 || distance \u003e 30000) {\n          fprintf(stderr,\n                  \"Unexpected pid sequence: previous fork: pid\u003d%d, \"\n                  \"current fork: pid\u003d%d for iteration\u003d%d.\\n\",\n                  last_pid, pid, i);\n          failed \u003d 1;\n        }\n      }\n      last_pid \u003d pid;\n      int status;\n      int reaped \u003d wait(\u0026status);\n      if (reaped !\u003d pid) {\n        fprintf(stderr,\n                \"Wait return value: expected pid\u003d%d, \"\n                \"got %d, iteration %d\\n\",\n                pid, reaped, i);\n        failed \u003d 1;\n      } else if (WEXITSTATUS(status) !\u003d child_exit_code) {\n        fprintf(stderr,\n                \"Unexpected exit status %x, iteration %d\\n\",\n                WEXITSTATUS(status), i);\n        failed \u003d 1;\n      }\n    }\n  }\n  exit(failed);\n}\n\nThanks to Ted Tso for the key ideas of this implementation.\n\nSigned-off-by: Salman Qazi \u003csqazi@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c7e49c1488ab20342eaaf38f1ca35a207f4c051d",
      "tree": "43876a69cafbb49ce86f71ba5db88018ca7cc036",
      "parents": [
        "13d7e3a2dba6a79589ed34dc0b9114d7b5ff9eab"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Aug 10 18:03:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:19 2010 -0700"
      },
      "message": "ptrace: optimize exit_ptrace() for the likely case\n\nexit_ptrace() takes tasklist_lock unconditionally.  We need this lock to\navoid the race with ptrace_traceme(), it acts as a barrier.\n\nChange its caller, forget_original_parent(), to call exit_ptrace() under\ntasklist_lock.  Change exit_ptrace() to drop and reacquire this lock if\nneeded.\n\nThis allows us to add the fastpath list_empty(ptraced) check.  In the\nlikely no-tracees case exit_ptrace() just returns and we avoid the lock()\n+ unlock() sequence.\n\n\"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e suggested to add this\ncheck, and he reports that this change adds about 11% improvement in some\ntests.\n\nSuggested-and-tested-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "e400c28524af2d344b1663b27bf28984fa959a0e"
}
