)]}'
{
  "log": [
    {
      "commit": "d5d2bc0dd0379deddb9ede66fec90a3083eaec57",
      "tree": "de84b06f86ebab60c11ba231b9f68bfe8887ee79",
      "parents": [
        "7595d63b3a9ce65d14c4fbd0e7de448a343d7215"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Mar 30 19:07:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:40 2009 +0200"
      },
      "message": "perf_counter: make it possible for hw_perf_counter_init to return error codes\n\nImpact: better error reporting\n\nAt present, if hw_perf_counter_init encounters an error, all it can do\nis return NULL, which causes sys_perf_counter_open to return an EINVAL\nerror to userspace.  This isn\u0027t very informative for userspace; it means\nthat userspace can\u0027t tell the difference between \"sorry, oprofile is\nalready using the PMU\" and \"we don\u0027t support this CPU\" and \"this CPU\ndoesn\u0027t support the requested generic hardware event\".\n\nThis commit uses the PTR_ERR/ERR_PTR/IS_ERR set of macros to let\nhw_perf_counter_init return an error code on error rather than just NULL\nif it wishes.  If it does so, that error code will be returned from\nsys_perf_counter_open to userspace.  If it returns NULL, an EINVAL\nerror will be returned to userspace, as before.\n\nThis also adapts the powerpc hw_perf_counter_init to make use of this\nto return ENXIO, EINVAL, EBUSY, or EOPNOTSUPP as appropriate.  It would\nbe good to add extra error numbers in future to allow userspace to\ndistinguish the various errors that are currently reported as EINVAL,\ni.e. irq_period \u003c 0, too many events in a group, conflict between\nexclude_* settings in a group, and PMU resource conflict in a group.\n\n[ v2: fix a bug pointed out by Corey Ashford where error returns from\n      hw_perf_counter_init were not handled correctly in the case of\n      raw hardware events.]\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nOrig-LKML-Reference: \u003c20090330171023.682428180@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7595d63b3a9ce65d14c4fbd0e7de448a343d7215",
      "tree": "09d9c4defe8805fc3c5cd645c045f6bdab90f748",
      "parents": [
        "3c1ba6fafecaed295017881f8863a18602f32c1d"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Mar 30 19:07:07 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:39 2009 +0200"
      },
      "message": "perf_counter: powerpc: only reserve PMU hardware when we need it\n\nImpact: cooperate with oprofile\n\nAt present, on PowerPC, if you have perf_counters compiled in, oprofile\ndoesn\u0027t work.  There is code to allow the PMU to be shared between\ncompeting subsystems, such as perf_counters and oprofile, but currently\nthe perf_counter subsystem reserves the PMU for itself at boot time,\nand never releases it.\n\nThis makes perf_counter play nicely with oprofile.  Now we keep a count\nof how many perf_counter instances are counting hardware events, and\nreserve the PMU when that count becomes non-zero, and release the PMU\nwhen that count becomes zero.  This means that it is possible to have\nperf_counters compiled in and still use oprofile, as long as there are\nno hardware perf_counters active.  This also means that if oprofile is\nactive, sys_perf_counter_open will fail if the hw_event specifies a\nhardware event.\n\nTo avoid races with other tasks creating and destroying perf_counters,\nwe use a mutex.  We use atomic_inc_not_zero and atomic_add_unless to\navoid having to take the mutex unless there is a possibility of the\ncount going between 0 and 1.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nOrig-LKML-Reference: \u003c20090330171023.627912475@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3c1ba6fafecaed295017881f8863a18602f32c1d",
      "tree": "753956bf0f2919c6a20e4982335fe5599ca1a74c",
      "parents": [
        "0a4a93919bdc5cee48fe4367591e8e0449c1086c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 30 19:07:06 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:39 2009 +0200"
      },
      "message": "perf_counter: kerneltop: parse the mmap data stream\n\nfrob the kerneltop code to print the mmap data in the stream\n\nBetter use would be collecting the IPs per PID and mapping them onto\nthe provided userspace code.. TODO\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nOrig-LKML-Reference: \u003c20090330171023.501902515@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0a4a93919bdc5cee48fe4367591e8e0449c1086c",
      "tree": "0f0d7ac3ee4f61c1e7e53f0ba4e3b01e0e4ac728",
      "parents": [
        "195564390210977954fe4ef45b39cdee34f41b59"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 30 19:07:05 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:38 2009 +0200"
      },
      "message": "perf_counter: executable mmap() information\n\nCurrently the profiling information returns userspace IPs but no way\nto correlate them to userspace code. Userspace could look into\n/proc/$pid/maps but that might not be current or even present anymore\nat the time of analyzing the IPs.\n\nTherefore provide means to track the mmap information and provide it\nin the output stream.\n\nXXX: only covers mmap()/munmap(), mremap() and mprotect() are missing.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nOrig-LKML-Reference: \u003c20090330171023.417259499@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "195564390210977954fe4ef45b39cdee34f41b59",
      "tree": "4587f60a6c5ca5f7f70b299f3ed6cc234299c089",
      "parents": [
        "38ff667b321b00f5e6830e93fb4ab11a653a2920"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 30 19:07:04 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:37 2009 +0200"
      },
      "message": "perf_counter: kerneltop: simplify data_head read\n\nNow that the kernel side changed, match up again.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nOrig-LKML-Reference: \u003c20090330171023.327144324@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "38ff667b321b00f5e6830e93fb4ab11a653a2920",
      "tree": "37c24148228d978824a014899f4984072da4e077",
      "parents": [
        "925d519ab82b6dd7aca9420d809ee83819c08db2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 30 19:07:03 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:37 2009 +0200"
      },
      "message": "perf_counter: fix update_userpage()\n\nIt just occured to me it is possible to have multiple contending\nupdates of the userpage (mmap information vs overflow vs counter).\nThis would break the seqlock logic.\n\nIt appear the arch code uses this from NMI context, so we cannot\npossibly serialize its use, therefore separate the data_head update\nfrom it and let it return to its original use.\n\nThe arch code needs to make sure there are no contending callers by\ndisabling the counter before using it -- powerpc appears to do this\nnicely.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nOrig-LKML-Reference: \u003c20090330171023.241410660@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "925d519ab82b6dd7aca9420d809ee83819c08db2",
      "tree": "aa05bd7eb607915aa691d5434ec74521b487b466",
      "parents": [
        "53cfbf593758916aac41db728f029986a62f1254"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 30 19:07:02 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:36 2009 +0200"
      },
      "message": "perf_counter: unify and fix delayed counter wakeup\n\nWhile going over the wakeup code I noticed delayed wakeups only work\nfor hardware counters but basically all software counters rely on\nthem.\n\nThis patch unifies and generalizes the delayed wakeup to fix this\nissue.\n\nSince we\u0027re dealing with NMI context bits here, use a cmpxchg() based\nsingle link list implementation to track counters that have pending\nwakeups.\n\n[ This should really be generic code for delayed wakeups, but since we\n  cannot use cmpxchg()/xchg() in generic code, I\u0027ve let it live in the\n  perf_counter code. -- Eric Dumazet could use it to aggregate the\n  network wakeups. ]\n\nFurthermore, the x86 method of using TIF flags was flawed in that its\nquite possible to end up setting the bit on the idle task, loosing the\nwakeup.\n\nThe powerpc method uses per-cpu storage and does appear to be\nsufficient.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nOrig-LKML-Reference: \u003c20090330171023.153932974@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "53cfbf593758916aac41db728f029986a62f1254",
      "tree": "c58a9c0f6e3cc050235e736e288e268bdb1f37eb",
      "parents": [
        "7730d8655880f41f2ea519aca2ca6a1413dfd2c9"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 25 22:46:58 2009 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:36 2009 +0200"
      },
      "message": "perf_counter: record time running and time enabled for each counter\n\nImpact: new functionality\n\nCurrently, if there are more counters enabled than can fit on the CPU,\nthe kernel will multiplex the counters on to the hardware using\nround-robin scheduling.  That isn\u0027t too bad for sampling counters, but\nfor counting counters it means that the value read from a counter\nrepresents some unknown fraction of the true count of events that\noccurred while the counter was enabled.\n\nThis remedies the situation by keeping track of how long each counter\nis enabled for, and how long it is actually on the cpu and counting\nevents.  These times are recorded in nanoseconds using the task clock\nfor per-task counters and the cpu clock for per-cpu counters.\n\nThese values can be supplied to userspace on a read from the counter.\nUserspace requests that they be supplied after the counter value by\nsetting the PERF_FORMAT_TOTAL_TIME_ENABLED and/or\nPERF_FORMAT_TOTAL_TIME_RUNNING bits in the hw_event.read_format field\nwhen creating the counter.  (There is no way to change the read format\nafter the counter is created, though it would be possible to add some\nway to do that.)\n\nUsing this information it is possible for userspace to scale the count\nit reads from the counter to get an estimate of the true count:\n\ntrue_count_estimate \u003d count * total_time_enabled / total_time_running\n\nThis also lets userspace detect the situation where the counter never\ngot to go on the cpu: total_time_running \u003d\u003d 0.\n\nThis functionality has been requested by the PAPI developers, and will\nbe generally needed for interpreting the count values from counting\ncounters correctly.\n\nIn the implementation, this keeps 5 time values (in nanoseconds) for\neach counter: total_time_enabled and total_time_running are used when\nthe counter is in state OFF or ERROR and for reporting back to\nuserspace.  When the counter is in state INACTIVE or ACTIVE, it is the\ntstamp_enabled, tstamp_running and tstamp_stopped values that are\nrelevant, and total_time_enabled and total_time_running are determined\nfrom them.  (tstamp_stopped is only used in INACTIVE state.)  The\nreason for doing it like this is that it means that only counters\nbeing enabled or disabled at sched-in and sched-out time need to be\nupdated.  There are no new loops that iterate over all counters to\nupdate total_time_enabled or total_time_running.\n\nThis also keeps separate child_total_time_running and\nchild_total_time_enabled fields that get added in when reporting the\ntotals to userspace.  They are separate fields so that they can be\natomic.  We don\u0027t want to use atomics for total_time_running,\ntotal_time_enabled etc., because then we would have to use atomic\nsequences to update them, which are slower than regular arithmetic and\nmemory accesses.\n\nIt is possible to measure total_time_running by adding a task_clock\ncounter to each group of counters, and total_time_enabled can be\nmeasured approximately with a top-level task_clock counter (though\ninaccuracies will creep in if you need to disable and enable groups\nsince it is not possible in general to disable/enable the top-level\ntask_clock counter simultaneously with another group).  However, that\nadds extra overhead - I measured around 15% increase in the context\nswitch latency reported by lat_ctx (from lmbench) when a task_clock\ncounter was added to each of 2 groups, and around 25% increase when a\ntask_clock counter was added to each of 4 groups.  (In both cases a\ntop-level task-clock counter was also added.)\n\nIn contrast, the code added in this commit gives better information\nwith no overhead that I could measure (in fact in some cases I\nmeasured lower times with this code, but the differences were all less\nthan one standard deviation).\n\n[ v2: address review comments by Andrew Morton. ]\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nOrig-LKML-Reference: \u003c18890.6578.728637.139402@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7730d8655880f41f2ea519aca2ca6a1413dfd2c9",
      "tree": "2115b531fcc45d22f79828e21cc3f15dd95f01fd",
      "parents": [
        "00f0ad73ac90e3fba8b4cbe4cf21b2fb9a56cb72"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 25 12:48:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:35 2009 +0200"
      },
      "message": "perf_counter: allow and require one-page mmap on counting counters\n\nA brainfart stopped single page mmap()s working. The rest of the code\nshould be perfectly fine with not having any data pages.\n\nReported-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nOrig-LKML-Reference: \u003c1237981712.7972.812.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "00f0ad73ac90e3fba8b4cbe4cf21b2fb9a56cb72",
      "tree": "0d2eb8e299a2eb2362955820e3339090824dc05a",
      "parents": [
        "4c4ba21d2c3659e4c0421533939b58a8fd9f06c9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 25 12:30:27 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:35 2009 +0200"
      },
      "message": "perf_counter: kerneltop: output event support\n\nTeach kerneltop about the new output ABI.\n\nXXX: anybody fancy integrating the PID/TID data into the output?\n\nBump the mmap_data pages a little because we bloated the output and\nhave to be more careful about overruns with structured data.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nOrig-LKML-Reference: \u003c20090325113317.192910290@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4c4ba21d2c3659e4c0421533939b58a8fd9f06c9",
      "tree": "a981b39b5ed0adce1642e2236064d1d957a62a91",
      "parents": [
        "ea5d20cf99db5d26d43b6d322d3ace17e08a6552"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 25 12:30:26 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:34 2009 +0200"
      },
      "message": "perf_counter: kerneltop: mmap_pages argument\n\nprovide a knob to set the number of mmap data pages.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nOrig-LKML-Reference: \u003c20090325113317.104545398@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ea5d20cf99db5d26d43b6d322d3ace17e08a6552",
      "tree": "287bb37825294d4f3cd943d83b6fb7d4b7009630",
      "parents": [
        "63e35b25d6b5c3136d22ef249dbbf96716aa08bf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 25 12:30:25 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:34 2009 +0200"
      },
      "message": "perf_counter: optionally provide the pid/tid of the sampled task\n\nAllow cpu wide counters to profile userspace by providing what process\nthe sample belongs to.\n\nThis raises the first issue with the output type, lots of these\noptions: group, tid, callchain, etc.. are non-exclusive and could be\ncombined, suggesting a bitfield.\n\nHowever, things like the mmap() data stream doesn\u0027t fit in that.\n\nHow to split the type field...\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nOrig-LKML-Reference: \u003c20090325113317.013775235@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "63e35b25d6b5c3136d22ef249dbbf96716aa08bf",
      "tree": "213eaa8ffcbdd3efd0c8489a84658b9fc1b870c7",
      "parents": [
        "5c1481943250ab65fa5130e05ec479c93216e9f7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 25 12:30:24 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:33 2009 +0200"
      },
      "message": "perf_counter: sanity check on the output API\n\nEnsure we never write more than we said we would.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nOrig-LKML-Reference: \u003c20090325113316.921433024@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5c1481943250ab65fa5130e05ec479c93216e9f7",
      "tree": "8fa6bb7e95a91b03e54fc01af6f9192a4eb7d4a6",
      "parents": [
        "b9cacc7bf193df16532bfa7d7ca77fe50fc3c2e6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 25 12:30:23 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:33 2009 +0200"
      },
      "message": "perf_counter: output objects\n\nProvide a {type,size} header for each output entry.\n\nThis should provide extensible output, and the ability to mix multiple streams.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nOrig-LKML-Reference: \u003c20090325113316.831607932@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b9cacc7bf193df16532bfa7d7ca77fe50fc3c2e6",
      "tree": "4a8e4df2506876fe28e18c1e7b6e3ff21d0a9c6a",
      "parents": [
        "c7138f37f905bb7987b1f9f5a8ee73667db39f25"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 25 12:30:22 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:32 2009 +0200"
      },
      "message": "perf_counter: more elaborate write API\n\nProvide a begin, copy, end interface to the output buffer.\n\nbegin() reserves the space,\n copy() copies the data over, considering page boundaries,\n  end() finalizes the event and does the wakeup.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nOrig-LKML-Reference: \u003c20090325113316.740550870@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c7138f37f905bb7987b1f9f5a8ee73667db39f25",
      "tree": "8d1c2bf404f1179d35e8b35b0166c7bf0b39840e",
      "parents": [
        "f66c6b2066b44d4ab8e8ac1ee4cae543738fe2ac"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Mar 24 13:18:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:32 2009 +0200"
      },
      "message": "perf_counter: fix perf_poll()\n\nImpact: fix kerneltop 100% CPU usage\n\nOnly return a poll event when there\u0027s actually been one, poll_wait()\ndoesn\u0027t actually wait for the waitq you pass it, it only enqueues\nyou on it.\n\nOnly once all FDs have been iterated and none of thm returned a\npoll-event will it schedule().\n\nAlso make it return POLL_HUP when there\u0027s not mmap() area to read from.\n\nFurther, fix a silly bug in the write code.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nOrig-LKML-Reference: \u003c1237897096.24918.181.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f66c6b2066b44d4ab8e8ac1ee4cae543738fe2ac",
      "tree": "b860b3d957905978e641aee4cb36d1f67cf35351",
      "parents": [
        "0fd112e41cd6f6d4779cbe327c3632d087e31476"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Mar 23 10:29:36 2009 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:31 2009 +0200"
      },
      "message": "perf_counter: update documentation\n\nImpact: documentation fix\n\nThis updates the perfcounter documentation to reflect recent changes.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "0fd112e41cd6f6d4779cbe327c3632d087e31476",
      "tree": "8b332b15f1af8d660dc645bcefd795b0113c7d30",
      "parents": [
        "cbe46555dc4de6403cd757139d42289b5f21abb9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Mar 24 10:50:24 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:31 2009 +0200"
      },
      "message": "perf_counter tools: remove glib dependency and fix bugs in kerneltop.c, fix poll()\n\nPaul Mackerras wrote:\n\n\u003e I noticed the poll stuff is bogus - we have a 2D array of struct\n\u003e pollfds (MAX_NR_CPUS x MAX_COUNTERS), we fill in a sub-array (with the\n\u003e rest being uninitialized, since the array is on the stack) and then\n\u003e pass the first nr_cpus elements to poll.  Not what we really meant, I\n\u003e suspect. :)  Not even if we only have one counter, since it\u0027s the\n\u003e counter dimension that varies fastest.\n\nThis should fix the most obvious poll fubar.. not enough to fix the\nfull problem though..\n\nReported-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nOrig-LKML-Reference: \u003c18888.29986.340328.540512@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cbe46555dc4de6403cd757139d42289b5f21abb9",
      "tree": "1fd6d82af9a1dbe739d14e5440d81c5fad7ea946",
      "parents": [
        "81cdbe0509542324ad7d3282ab67c2b6716df663"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Mar 24 16:52:34 2009 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:30 2009 +0200"
      },
      "message": "perf_counter tools: remove glib dependency and fix bugs in kerneltop.c\n\nThe glib dependency in kerneltop.c is only for a little bit of list\nmanipulation, and I find it inconvenient.  This adds a \u0027next\u0027 field to\nstruct source_line, which lets us link them together into a list.  The\ncode to do the linking ourselves turns out to be no longer or more\ndifficult than using glib.\n\nThis also fixes a few other problems:\n\n- We need to #include \u003climits.h\u003e to get PATH_MAX on powerpc.\n\n- We need to #include \u003clinux/types.h\u003e rather than have our own\n  definitions of __u64 and __s64; on powerpc the installed headers\n  define them to be unsigned long and long respectively, and if we\n  have our own, different definition here that causes a compile error.\n\n- This takes out the x86 setting of errno from -ret in\n  sys_perf_counter_open.  My experiments on x86 indicate that the\n  glibc syscall() does this for us already.\n\n- We had two CPU migration counters in the default set, which seems\n  unnecessary; I changed one of them to a context switch counter.\n\n- In perfstat mode we were printing CPU cycles and instructions as\n  milliseconds, and the cpu clock and task clock counters as events.\n  This fixes that.\n\n- In perfstat mode we were still printing a blank line after the first\n  counter, which was a holdover from when a task clock counter was\n  automatically included as the first counter.  This removes the blank\n  line.\n\n- On a test machine here, parse_symbols() and parse_vmlinux() were\n  taking long enough (almost 0.5 seconds) for the mmap buffer to\n  overflow before we got to the first mmap_read() call, so this moves\n  them before we open all the counters.\n\n- The error message if sys_perf_counter_open fails needs to use errno,\n  not -fd[i][counter].\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nOrig-LKML-Reference: \u003c18888.29986.340328.540512@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "81cdbe0509542324ad7d3282ab67c2b6716df663",
      "tree": "13e214fe248d6dc9fcfee585649d7b24bf3cf468",
      "parents": [
        "193e8df1b465f206f8a286202680702e1c153367"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 23 22:29:50 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:30 2009 +0200"
      },
      "message": "perf_counter tools: increase cpu-cycles again\n\nCommit b7368fdd7d decreased the CPU cycles interval 100-fold, but\nthis is causig kerneltop failures on my Nehalem box:\n\n aldebaran:/home/mingo/linux/linux/Documentation/perf_counter\u003e\n ./kerneltop\n KernelTop refresh period: 2 seconds\n ERROR: failed to keep up with mmap data\n\n10,000 cycles is way too short.\n\nWhat we should do instead on mostly-idle systems is some sort of\nread/poll timeout, so that we display something every 2 seconds\nfor sure.\n\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "193e8df1b465f206f8a286202680702e1c153367",
      "tree": "b49a4477c536f070b58a3b2b08c1d065839dfa06",
      "parents": [
        "383c5f8cd7d253be0017d8d5a39cbb78aaf70206"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 23 22:23:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:29 2009 +0200"
      },
      "message": "perf_counter tools: fix build warning in kerneltop.c\n\nFix:\n\n kerneltop.c: In function ‘record_ip’:\n kerneltop.c:1005: warning: format ‘%016llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’\n\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nOrig-LKML-Reference: \u003c20090323172417.677932499@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "383c5f8cd7d253be0017d8d5a39cbb78aaf70206",
      "tree": "a93de6088c2748daf92cdc91426dd0ec47f25b29",
      "parents": [
        "bcbcb37cdb67d8100acfa66df40c4d636c28c4d1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 23 21:49:25 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:29 2009 +0200"
      },
      "message": "perf_counter tools: tidy up in-kernel dependencies\n\nRemove now unified perfstat.c and perf_counter.h, and link to the\nin-kernel perf_counter.h.\n\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nOrig-LKML-Reference: \u003c20090323172417.677932499@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bcbcb37cdb67d8100acfa66df40c4d636c28c4d1",
      "tree": "fbd624736ad77f079e531495f557953d4d875229",
      "parents": [
        "803d4f3980f6e220b27311a283aab0a4d68b6709"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 23 18:22:12 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:28 2009 +0200"
      },
      "message": "perf_counter tools: use mmap() output\n\nupdate kerneltop to use the mmap() output to gather overflow information\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nOrig-LKML-Reference: \u003c20090323172417.677932499@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "803d4f3980f6e220b27311a283aab0a4d68b6709",
      "tree": "a6ea52d3105e2816eda743c83f4acebce95318ff",
      "parents": [
        "7b732a75047738e4f85438ed2f9cd34bf5f2a19a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 23 18:22:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:28 2009 +0200"
      },
      "message": "perf_counter tools: update to new syscall ABI\n\nupdate the kerneltop userspace to work with the latest syscall ABI\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nOrig-LKML-Reference: \u003c20090323172417.559643732@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7b732a75047738e4f85438ed2f9cd34bf5f2a19a",
      "tree": "bae36de785ac819ceef6fa5e1b7884a4a421cc3c",
      "parents": [
        "b09d2501ed3d294619cbfbcf828ad39324d0e548"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 23 18:22:10 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:27 2009 +0200"
      },
      "message": "perf_counter: new output ABI - part 1\n\nImpact: Rework the perfcounter output ABI\n\nuse sys_read() only for instant data and provide mmap() output for all\nasync overflow data.\n\nThe first mmap() determines the size of the output buffer. The mmap()\nsize must be a PAGE_SIZE multiple of 1+pages, where pages must be a\npower of 2 or 0. Further mmap()s of the same fd must have the same\nsize. Once all maps are gone, you can again mmap() with a new size.\n\nIn case of 0 extra pages there is no data output and the first page\nonly contains meta data.\n\nWhen there are data pages, a poll() event will be generated for each\nfull page of data. Furthermore, the output is circular. This means\nthat although 1 page is a valid configuration, its useless, since\nwe\u0027ll start overwriting it the instant we report a full page.\n\nFuture work will focus on the output format (currently maintained)\nwhere we\u0027ll likey want each entry denoted by a header which includes a\ntype and length.\n\nFurther future work will allow to splice() the fd, also containing the\nasync overflow data -- splice() would be mutually exclusive with\nmmap() of the data.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nOrig-LKML-Reference: \u003c20090323172417.470536358@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b09d2501ed3d294619cbfbcf828ad39324d0e548",
      "tree": "96878faeb21e84933cd52e446ac121887e9051fe",
      "parents": [
        "9ab772cd535c4b256a577eae516f9c7462346b2d"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed Apr 01 17:21:56 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:27 2009 +0200"
      },
      "message": "mutex: drop \"inline\" from mutex_lock() inside kernel/mutex.c\n\nImpact: build fix\n\nmutex_lock() is was defined inline in kernel/mutex.c, but wasn\u0027t\ndeclared so not in \u003clinux/mutex.h\u003e.  This didn\u0027t cause a problem until\ncheckin 3a2d367d9aabac486ac4444c6c7ec7a1dab16267 added the\natomic_dec_and_mutex_lock() inline in between declaration and\ndefinion.\n\nThis broke building with CONFIG_ALLOW_WARNINGS\u003dn, e.g. make\nallnoconfig.\n\nEither from the source code nor the allnoconfig binary output I cannot\nfind any internal references to mutex_lock() in kernel/mutex.c, so\npresumably this \"inline\" is now-useless legacy.\n\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nOrig-LKML-Reference: \u003ctip-3a2d367d9aabac486ac4444c6c7ec7a1dab16267@git.kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n"
    },
    {
      "commit": "9ab772cd535c4b256a577eae516f9c7462346b2d",
      "tree": "55af69a2eaeaa952f447b74cce74eee9f82cfaf9",
      "parents": [
        "37d81828385f8ff823caaaf1a83e72d065b6cfa1"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Mar 23 18:22:09 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:26 2009 +0200"
      },
      "message": "mutex: add atomic_dec_and_mutex_lock()\n\nMuch like the atomic_dec_and_lock() function in which we take an hold a\nspin_lock if we drop the atomic to 0 this function takes and holds the\nmutex if we dec the atomic to 0.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nOrig-LKML-Reference: \u003c20090323172417.410913479@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "37d81828385f8ff823caaaf1a83e72d065b6cfa1",
      "tree": "972900a193a6a5ab1bdc14adcd7ab72bf0a51c13",
      "parents": [
        "96f6d4444302bb2ea2cf409529eef816462f6ce0"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Mar 23 18:22:08 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:26 2009 +0200"
      },
      "message": "perf_counter: add an mmap method to allow userspace to read hardware counters\n\nImpact: new feature giving performance improvement\n\nThis adds the ability for userspace to do an mmap on a hardware counter\nfd and get access to a read-only page that contains the information\nneeded to translate a hardware counter value to the full 64-bit\ncounter value that would be returned by a read on the fd.  This is\nuseful on architectures that allow user programs to read the hardware\ncounters, such as PowerPC.\n\nThe mmap will only succeed if the counter is a hardware counter\nmonitoring the current process.\n\nOn my quad 2.5GHz PowerPC 970MP machine, userspace can read a counter\nand translate it to the full 64-bit value in about 30ns using the\nmmapped page, compared to about 830ns for the read syscall on the\ncounter, so this does give a significant performance improvement.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nOrig-LKML-Reference: \u003c20090323172417.297057964@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96f6d4444302bb2ea2cf409529eef816462f6ce0",
      "tree": "34ae6944b4a8e6db89c50dba5a3a8b9da3315122",
      "parents": [
        "f4a2deb4860497f4332cf6a1acddab3dd628ddf0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 23 18:22:07 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:25 2009 +0200"
      },
      "message": "perf_counter: avoid recursion\n\nTracepoint events like lock_acquire and software counters like\npagefaults can recurse into the perf counter code again, avoid that.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nOrig-LKML-Reference: \u003c20090323172417.152096433@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f4a2deb4860497f4332cf6a1acddab3dd628ddf0",
      "tree": "1655c7c000edce20d2c5b54cf12f99c23340371e",
      "parents": [
        "af9522cf133e9be6da8525a46a9ed7e7659f0e1a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 23 18:22:06 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:25 2009 +0200"
      },
      "message": "perf_counter: remove the event config bitfields\n\nSince the bitfields turned into a bit of a mess, remove them and rely on\ngood old masks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nOrig-LKML-Reference: \u003c20090323172417.059499915@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af9522cf133e9be6da8525a46a9ed7e7659f0e1a",
      "tree": "51e40129c2eade735f224e7b9bcb6eb0fba529df",
      "parents": [
        "dda7c02f33833bfa9412ba6f0e410b0a18b42c88"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Mar 20 10:08:10 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:24 2009 +0200"
      },
      "message": "perf_counter tools: when no command is feed to perfstat, display help and exit\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dda7c02f33833bfa9412ba6f0e410b0a18b42c88",
      "tree": "0b4777dfc0c1b2c0791e8522d8441d90f2734b07",
      "parents": [
        "3ab8d792b1348eaabfe550ba60902d781d160dd4"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Mar 20 10:08:09 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:23 2009 +0200"
      },
      "message": "perf_counter tools: cut down default count for cpu-cycles\n\nIn my system, it takes kerneltop dozens of minutes to\nshow up usable numbers. Make the default count 100 times\nsmaller fixed this long startup latency.\n\nI\u0027m not sure if it\u0027s the right solution though.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ab8d792b1348eaabfe550ba60902d781d160dd4",
      "tree": "c828ea166e1ddce112ee9cc02cf991320bf89feb",
      "parents": [
        "ef45fa9e6c1694d3e8063f39749097a6e496b12c"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Mar 20 10:08:08 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:23 2009 +0200"
      },
      "message": "perf_counter tools: fix event_id type\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef45fa9e6c1694d3e8063f39749097a6e496b12c",
      "tree": "d9eae12434e41a267b8be318723ab6c1b97119d1",
      "parents": [
        "f7524bda8be8be98db356d6a83ac1da451ecdb2e"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Mar 20 10:08:07 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:22 2009 +0200"
      },
      "message": "perf_counter tools: fix comment for sym_weight()\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f7524bda8be8be98db356d6a83ac1da451ecdb2e",
      "tree": "bd2f1af0e84c63a04a08226ad5f6de6a2a066732",
      "parents": [
        "e3908612d93dff9d7746d85d37c42593254bf282"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Mar 20 10:08:06 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:22 2009 +0200"
      },
      "message": "perf_counter tools: move remaining code into kerneltop.c\n\n- perfstat.c can be safely removed now\n- perfstat: -s \u003d\u003e -a for system wide accounting\n- kerneltop: add -S/--stat for perfstat mode\n- minor adjustments to kerneltop --help, perfstat --help\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e3908612d93dff9d7746d85d37c42593254bf282",
      "tree": "16ad7e6d623c42711e9f5c4327df55ef3bc50333",
      "parents": [
        "95bb3be1b3ca4a71cc168787b675d5b7852fc6be"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Mar 20 10:08:05 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:21 2009 +0200"
      },
      "message": "perf_counter tools: Reuse event_name() in kerneltop\n\n- can handle sw counters now\n- the outputs will look slightly different\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "95bb3be1b3ca4a71cc168787b675d5b7852fc6be",
      "tree": "cee0056621c685a0eac79899325861e3c17fde58",
      "parents": [
        "f49012fad4ed2231c7380c0b1901122242b3eab0"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Mar 20 10:08:04 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:21 2009 +0200"
      },
      "message": "perf_counter tools: support symbolic event names in kerneltop\n\n- kerneltop: --event_id \u003d\u003e --event\n- kerneltop: can accept SW event types now\n- perfstat: it used to implicitly add event -2(task-clock),\n\t    the new code no longer does this. Shall we?\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f49012fad4ed2231c7380c0b1901122242b3eab0",
      "tree": "015db7f6d6adac377c814c8b6f23728e24cfc37e",
      "parents": [
        "cea92ce5b07078cd62c4712d51390b09a43dba2e"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Mar 20 10:08:03 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:20 2009 +0200"
      },
      "message": "perf_counter tools: Move perfstat supporting code into perfcounters.h\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cea92ce5b07078cd62c4712d51390b09a43dba2e",
      "tree": "e14c059faa150f0e01d7c9082041ddbc10efb94b",
      "parents": [
        "e0143bad9dbf2a8fad4c5430562bceba196b66ea"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Mar 20 10:08:02 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:20 2009 +0200"
      },
      "message": "perf_counter tools: Merge common code into perfcounters.h\n\nkerneltop\u0027s MAX_COUNTERS is increased from 8 to 64(the value used by perfstat).\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0143bad9dbf2a8fad4c5430562bceba196b66ea",
      "tree": "63be907aadc854617899a4dda0465831316a4073",
      "parents": [
        "6f9f791eb53b56097cd311a1a5517a8e89bdaf35"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 23 21:29:59 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:19 2009 +0200"
      },
      "message": "perf_counter: add sample user-space to Documentation/perf_counter/\n\nInitial version of kerneltop.c and perfstat.c.\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f9f791eb53b56097cd311a1a5517a8e89bdaf35",
      "tree": "5a1caf70cd0aa88bd5647962f0284f68258e7f21",
      "parents": [
        "9aaa131a279834dff75c290c91f0058f62d72d46"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 23 21:26:52 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:19 2009 +0200"
      },
      "message": "perf_counter: create Documentation/perf_counter/ and move perfcounters.txt there\n\nWe\u0027ll have more files in that directory, prepare for that.\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9aaa131a279834dff75c290c91f0058f62d72d46",
      "tree": "d996052d5cdc48b38e300d2b3d87f64cf97ede15",
      "parents": [
        "db4fb5acf20295063d1d5105e67724eb51440207"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sat Mar 21 15:31:47 2009 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:18 2009 +0200"
      },
      "message": "perf_counter: fix type/event_id layout on big-endian systems\n\nImpact: build fix for powerpc\n\nCommit db3a944aca35ae61 (\"perf_counter: revamp syscall input ABI\")\nexpanded the hw_event.type field into a union of structs containing\nbitfields.  In particular it introduced a type field and a raw_type\nfield, with the intention that the 1-bit raw_type field should\noverlay the most-significant bit of the 8-bit type field, and in fact\nperf_counter_alloc() now assumes that (or at least, assumes that\nraw_type doesn\u0027t overlay any of the bits that are 1 in the values of\nPERF_TYPE_{HARDWARE,SOFTWARE,TRACEPOINT}).\n\nUnfortunately this is not true on big-endian systems such as PowerPC,\nwhere bitfields are laid out from left to right, i.e. from most\nsignificant bit to least significant.  This means that setting\nhw_event.type \u003d PERF_TYPE_SOFTWARE will set hw_event.raw_type to 1.\n\nThis fixes it by making the layout depend on whether or not\n__BIG_ENDIAN_BITFIELD is defined.  It\u0027s a bit ugly, but that\u0027s what\nwe get for using bitfields in a user/kernel ABI.\n\nAlso, that commit didn\u0027t fix up some places in arch/powerpc/kernel/\nperf_counter.c where hw_event.raw and hw_event.event_id were used.\nThis fixes them too.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "db4fb5acf20295063d1d5105e67724eb51440207",
      "tree": "d5f762e4110e7230bac52ce9677277c7749f6922",
      "parents": [
        "0322cd6ec504b0bf08ca7b2c3d7f43bda37d79c9"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Mar 19 20:26:20 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:18 2009 +0200"
      },
      "message": "perf_counter: powerpc: clean up perc_counter_interrupt\n\nImpact: cleanup\n\nThis updates the powerpc perf_counter_interrupt following on from the\n\"perf_counter: unify irq output code\" patch.  Since we now use the\ngeneric perf_counter_output code, which sets the perf_counter_pending\nflag directly, we no longer need the need_wakeup variable.\n\nThis removes need_wakeup and makes perf_counter_interrupt use\nget_perf_counter_pending() instead.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nOrig-LKML-Reference: \u003c20090319194234.024464535@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0322cd6ec504b0bf08ca7b2c3d7f43bda37d79c9",
      "tree": "8e5487e1a6700eb865ec1f268d51e9d6d3d38a71",
      "parents": [
        "b8e83514b64577b48bfb794fe85fcde40a9343ca"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Mar 19 20:26:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:17 2009 +0200"
      },
      "message": "perf_counter: unify irq output code\n\nImpact: cleanup\n\nHaving 3 slightly different copies of the same code around does nobody\nany good. First step in revamping the output format.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nOrig-LKML-Reference: \u003c20090319194233.929962222@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b8e83514b64577b48bfb794fe85fcde40a9343ca",
      "tree": "3fd79b41c917f56fe5a5b1f779b892110e0ec909",
      "parents": [
        "e077df4f439681e43f0db8255b2d215b342ebdc6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Mar 19 20:26:18 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:17 2009 +0200"
      },
      "message": "perf_counter: revamp syscall input ABI\n\nImpact: modify ABI\n\nThe hardware/software classification in hw_event-\u003etype became a little\nstrained due to the addition of tracepoint tracing.\n\nInstead split up the field and provide a type field to explicitly specify\nthe counter type, while using the event_id field to specify which event to\nuse.\n\nRaw counters still work as before, only the raw config now goes into\nraw_event.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nOrig-LKML-Reference: \u003c20090319194233.836807573@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e077df4f439681e43f0db8255b2d215b342ebdc6",
      "tree": "2deebf630405b09cee8d43056ecd110f4bb0fb70",
      "parents": [
        "f16009527595ee562308653bc3d0039166d2ab15"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Mar 19 20:26:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:16 2009 +0200"
      },
      "message": "perf_counter: hook up the tracepoint events\n\nImpact: new perfcounters feature\n\nEnable usage of tracepoints as perf counter events.\n\ntracepoint event ids can be found in /debug/tracing/event/*/*/id\nand (for now) are represented as -65536+id in the type field.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nOrig-LKML-Reference: \u003c20090319194233.744044174@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f16009527595ee562308653bc3d0039166d2ab15",
      "tree": "1fc6f2e5632bd0b2c624ed106a047d6d2127e59c",
      "parents": [
        "4a0deca657f3dbb8a707b5dc8f173beec01e7ed2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Mar 19 20:26:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:16 2009 +0200"
      },
      "message": "perf_counter: fix up counter free paths\n\nImpact: fix crash during perfcounters use\n\nI found another counter free path, create a free_counter() call to\naccomodate generic tear-down.\n\nFixes an RCU bug.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nOrig-LKML-Reference: \u003c20090319194233.652078652@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4a0deca657f3dbb8a707b5dc8f173beec01e7ed2",
      "tree": "b52fb2d5fa3391f5eac37ca599413b4e8d187c0c",
      "parents": [
        "01ef09d9ffb5ce9f8d62d1e5206da3d5ca612acc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Mar 19 20:26:12 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:15 2009 +0200"
      },
      "message": "perf_counter: generic context switch event\n\nImpact: cleanup\n\nUse the generic software events for context switches.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nOrig-LKML-Reference: \u003c20090319194233.283522645@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "01ef09d9ffb5ce9f8d62d1e5206da3d5ca612acc",
      "tree": "7259d26f86fa93e7d50f9d886f62b2a3054aa4c3",
      "parents": [
        "b6c5a71da1477d261bc36254fe1f20d32b57598d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Mar 19 20:26:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:15 2009 +0200"
      },
      "message": "perf_counter: fix uninitialized usage of event_list\n\nImpact: fix boot crash\n\nWhen doing the generic context switch event I ran into some early\nboot hangs, which were caused by inf func recursion (event, fault,\nevent, fault).\n\nI eventually tracked it down to event_list not being initialized\nat the time of the first event. Fix this.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nOrig-LKML-Reference: \u003c20090319194233.195392657@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6c5a71da1477d261bc36254fe1f20d32b57598d",
      "tree": "02815fa0a0016eacd6203b1f496109f07bbd7be5",
      "parents": [
        "7bb497bd885eedd0f56dfe3cc1b5ff20710d33b9"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Mar 16 21:00:00 2009 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:14 2009 +0200"
      },
      "message": "perf_counter: abstract wakeup flag setting in core to fix powerpc build\n\nImpact: build fix for powerpc\n\nCommit bd753921015e7905 (\"perf_counter: software counter event\ninfrastructure\") introduced a use of TIF_PERF_COUNTERS into the core\nperfcounter code.  This breaks the build on powerpc because we use\na flag in a per-cpu area to signal wakeups on powerpc rather than\na thread_info flag, because the thread_info flags have to be\nmanipulated with atomic operations and are thus slower than per-cpu\nflags.\n\nThis fixes the by changing the core to use an abstracted\nset_perf_counter_pending() function, which is defined on x86 to set\nthe TIF_PERF_COUNTERS flag and on powerpc to set the per-cpu flag\n(paca-\u003eperf_counter_pending).  It changes the previous powerpc\ndefinition of set_perf_counter_pending to not take an argument and\nadds a clear_perf_counter_pending, so as to simplify the definition\non x86.\n\nOn x86, set_perf_counter_pending() is defined as a macro.  Defining\nit as a static inline in arch/x86/include/asm/perf_counters.h causes\ncompile failures because \u003casm/perf_counters.h\u003e gets included early in\n\u003clinux/sched.h\u003e, and the definitions of set_tsk_thread_flag etc. are\ntherefore not available in \u003casm/perf_counters.h\u003e.  (On powerpc this\nproblem is avoided by defining set_perf_counter_pending etc. in\n\u003casm/hw_irq.h\u003e.)\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "7bb497bd885eedd0f56dfe3cc1b5ff20710d33b9",
      "tree": "4f743d26a10f0a978ad2cfd0ef23c936c5ea0034",
      "parents": [
        "4e193bd4dfdc983d12969b51439b4a1fbaf2daad"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 18 08:59:21 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:14 2009 +0200"
      },
      "message": "perf_counter: fix crash on perfmon v1 systems\n\nImpact: fix boot crash on Intel Perfmon Version 1 systems\n\nIntel Perfmon v1 does not support the global MSRs, nor does\nit offer the generalized MSR ranges. So support v2 and later\nCPUs only.\n\nAlso mark pmc_ops as read-mostly - to avoid false cacheline\nsharing.\n\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4e193bd4dfdc983d12969b51439b4a1fbaf2daad",
      "tree": "ea62cfef7af7ec6d58b5beafb8de8bfc2ebd56a4",
      "parents": [
        "039fc91e064b81c2820ff16c304be5aba35fd126"
      ],
      "author": {
        "name": "Tim Blechmann",
        "email": "tim@klingt.org",
        "time": "Sat Mar 14 14:29:25 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:30:13 2009 +0200"
      },
      "message": "perf_counter: include missing header\n\nImpact: build fix\n\nIn order to compile a kernel with performance counter patches,\n\u003casm/irq_regs.h\u003e has to be included to provide the declaration of\nstruct pt_regs *get_irq_regs(void);\n\n[ This bug was masked by unrelated x86 header file changes in the\n  x86 tree, but occurs in the tip:perfcounters/core standalone\n  tree. ]\n\nSigned-off-by: Tim Blechmann \u003ctim@klingt.org\u003e\nOrig-LKML-Reference: \u003c20090314142925.49c29c17@thinkpad\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "039fc91e064b81c2820ff16c304be5aba35fd126",
      "tree": "2167c0dfeac53bb52dfb078f23de4896249b4118",
      "parents": [
        "592903cdcbf606a838056bae6d03fc557806c914"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 13 16:43:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:29:46 2009 +0200"
      },
      "message": "perf_counter: fix hrtimer sampling\n\nImpact: fix deadlock with perfstat\n\nFix for the perfstat fubar..\n\nWe cannot unconditionally call hrtimer_cancel() without ever having done\nhrtimer_init() on the thing.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nOrig-LKML-Reference: \u003c1236959027.22447.149.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "592903cdcbf606a838056bae6d03fc557806c914",
      "tree": "6851004446a405654ff3f1c39a70b313456544a5",
      "parents": [
        "d6d020e9957745c61285ef3da9f294c5e6801f0f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 13 12:21:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:29:43 2009 +0200"
      },
      "message": "perf_counter: add an event_list\n\nI noticed that the counter_list only includes top-level counters, thus\nperf_swcounter_event() will miss sw-counters in groups.\n\nSince perf_swcounter_event() also wants an RCU safe list, create a new\nevent_list that includes all counters and uses RCU list ops and use call_rcu\nto free the counter structure.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6d020e9957745c61285ef3da9f294c5e6801f0f",
      "tree": "efbd81871b58dbb026f19e812b224e1add2f3b76",
      "parents": [
        "ac17dc8e58f3069ea895cfff963adf98ff3cf6b2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 13 12:21:35 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:29:41 2009 +0200"
      },
      "message": "perf_counter: hrtimer based sampling for software time events\n\nUse hrtimers to profile timer based sampling for the software time\ncounters.\n\nThis allows platforms without hardware counter support to still\nperform sample based profiling.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac17dc8e58f3069ea895cfff963adf98ff3cf6b2",
      "tree": "fe07b13dd100fd1f650d8437296f5c6908e9adea",
      "parents": [
        "7dd1fcc258b65da718f01e4684a7b9244501a9fb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 13 12:21:34 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:29:40 2009 +0200"
      },
      "message": "perf_counter: provide major/minor page fault software events\n\nProvide separate sw counters for major and minor page faults.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7dd1fcc258b65da718f01e4684a7b9244501a9fb",
      "tree": "4fb864f493b9f1d47bedbc3c97b9de7df572d6ec",
      "parents": [
        "15dbf27cc18559a14e99609f78678aa86b9c6ff1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 13 12:21:33 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:29:37 2009 +0200"
      },
      "message": "perf_counter: provide pagefault software events\n\nWe use the generic software counter infrastructure to provide\npage fault events.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "15dbf27cc18559a14e99609f78678aa86b9c6ff1",
      "tree": "4b88cc01991cd994777c418c4420474588b5ce0d",
      "parents": [
        "82bae4f8c2fd64a2bb1e2e72c508853ed2b4a299"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 13 12:21:32 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:29:36 2009 +0200"
      },
      "message": "perf_counter: software counter event infrastructure\n\nProvide generic software counter infrastructure that supports\nsoftware events.\n\nThis will be used to allow sample based profiling based on software\nevents such as pagefaults. The current infrastructure can only\nprovide a count of such events, no place information.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "82bae4f8c2fd64a2bb1e2e72c508853ed2b4a299",
      "tree": "3558f8a9c6622bde42582292b8433ab3ea02b01d",
      "parents": [
        "60b3df9c1e24a18aabb412da9905208c5f04ebea"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 13 12:21:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:29:34 2009 +0200"
      },
      "message": "perf_counter: x86: use ULL postfix for 64bit constants\n\nFix a build warning on 32bit machines by explicitly marking the\nconstants as 64-bit.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60b3df9c1e24a18aabb412da9905208c5f04ebea",
      "tree": "2c132d1a82648b176f8662cea32f51c208517dd5",
      "parents": [
        "755642322aa66fbc5421a35fd3e1733f73e20083"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 13 12:21:30 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:29:32 2009 +0200"
      },
      "message": "perf_counter: add comment to barrier\n\nWe need to ensure the enabled\u003d0 write happens before we\nstart disabling the actual counters, so that a pcm_amd_enable()\nwill not enable one underneath us.\n\nI think the race is impossible anyway, we always balance the\nops within any one context and perform enable() with IRQs disabled.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "755642322aa66fbc5421a35fd3e1733f73e20083",
      "tree": "cfcdd495d14de3b78cdf7f1d064e8534ea8593e1",
      "parents": [
        "595258aaeac4cc6e187b98b1bf29bb176febe763"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 13 12:21:29 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:29:31 2009 +0200"
      },
      "message": "perf_counter: use list_move_tail()\n\nInstead of del/add use a move list-op.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "595258aaeac4cc6e187b98b1bf29bb176febe763",
      "tree": "8c385524820320312d0c3aae32f9f9b41eec9f4a",
      "parents": [
        "f541ae326fa120fa5c57433e4d9a133df212ce41"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 13 12:21:28 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:29:29 2009 +0200"
      },
      "message": "perf_counter: x86: fix 32-bit irq_period assumption\n\nNo need to assume the irq_period is 32bit.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f541ae326fa120fa5c57433e4d9a133df212ce41",
      "tree": "bdbd94ec72cfc601118051cb35e8617d55510177",
      "parents": [
        "e255357764f92afcafafbd4879b222b8c752065a",
        "0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:02:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 06 09:02:57 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perfcounters/core-v2\n\nMerge reason: we have gathered quite a few conflicts, need to merge upstream\n\nConflicts:\n\tarch/powerpc/kernel/Makefile\n\tarch/x86/ia32/ia32entry.S\n\tarch/x86/include/asm/hardirq.h\n\tarch/x86/include/asm/unistd_32.h\n\tarch/x86/include/asm/unistd_64.h\n\tarch/x86/kernel/cpu/common.c\n\tarch/x86/kernel/irq.c\n\tarch/x86/kernel/syscall_table_32.S\n\tarch/x86/mm/iomap_32.c\n\tinclude/linux/sched.h\n\tkernel/Makefile\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c",
      "tree": "fe96cf58638e23d123d43eab2f6c56d1af341d9c",
      "parents": [
        "48f286a28fe13fcbc510720fcffb872a184b51dd",
        "def57543418a5f47debae28a0a9dea2effc11692"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 12:36:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 12:36:11 2009 -0700"
      },
      "message": "Merge branch \u0027audit.b62\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b62\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  Audit: remove spaces from audit_log_d_path\n  audit: audit_set_auditable defined but not used\n  audit: incorrect ref counting in audit tree tag_chunk\n  audit: Fix possible return value truncation in audit_get_context()\n  audit: ignore terminating NUL in AUDIT_USER_TTY messages\n  Audit: fix handling of \u0027strings\u0027 with NULL characters\n  make the e-\u003erule.xxx shorter in kernel auditfilter.c\n  auditsc: fix kernel-doc notation\n  audit: EXECVE record - removed bogus newline\n"
    },
    {
      "commit": "48f286a28fe13fcbc510720fcffb872a184b51dd",
      "tree": "f50d868589138628c04dd5600a029ef80fa21da2",
      "parents": [
        "ea431793f198e26d1553f36ed8b5a830b531eee4",
        "fa15ce8ad59e9653d50b8596596cb02d3566d4aa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:38:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:38:37 2009 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.o-hand.com/linux-mfd\n\n* \u0027for-next\u0027 of git://git.o-hand.com/linux-mfd:\n  mfd: fix da903x warning\n  mfd: fix MAINTAINERS entry\n  mfd: Use the value of the final spin when reading the AUXADC\n  mfd: Storage class should be before const qualifier\n  mfd: PASIC3: supply clock_rate to DS1WM via driver_data\n  mfd: remove DS1WM clock handling\n  mfd: remove unused PASIC3 bus_shift field\n  pxa/magician: remove deprecated .bus_shift from PASIC3 platform_data\n  mfd: convert PASIC3 to use MFD core\n  mfd: convert DS1WM to use MFD core\n  mfd: Support active high IRQs on WM835x\n  mfd: Use bulk read to fill WM8350 register cache\n  mfd: remove duplicated #include from pcf50633\n"
    },
    {
      "commit": "ea431793f198e26d1553f36ed8b5a830b531eee4",
      "tree": "b97d79adee8cef49c65b0be96aa38d17f4005e18",
      "parents": [
        "32fb6c17566ec66de87324a834c7776f40e35e78",
        "276e79ee6b3ff670dc9c041178da4b61af456a27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:36:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:36:31 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://repo.or.cz/cris-mirror\n\n* \u0027for-linus\u0027 of git://repo.or.cz/cris-mirror:\n  CRISv32: Remove extraneous space between -I and the path.\n  cris: convert obsolete hw_interrupt_type to struct irq_chip\n  BUG to BUG_ON changes\n  cpumask: use mm_cpumask() wrapper: cris\n  cpumask: Use accessors code.: cris\n  cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: cris\n"
    },
    {
      "commit": "32fb6c17566ec66de87324a834c7776f40e35e78",
      "tree": "87b8ed5d66495536fbb452255c3eacd1cfb0c43a",
      "parents": [
        "45e36c1666aa6c8b0c538abcf984b336184d8c3f",
        "7ec0a7290797f57b780f792d12f4bcc19c83aa4f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:16:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:16:25 2009 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (140 commits)\n  ACPI: processor: use .notify method instead of installing handler directly\n  ACPI: button: use .notify method instead of installing handler directly\n  ACPI: support acpi_device_ops .notify methods\n  toshiba-acpi: remove MAINTAINERS entry\n  ACPI: battery: asynchronous init\n  acer-wmi: Update copyright notice \u0026 documentation\n  acer-wmi: Cleanup the failure cleanup handling\n  acer-wmi: Blacklist Acer Aspire One\n  video: build fix\n  thinkpad-acpi: rework brightness support\n  thinkpad-acpi: enhanced debugging messages for the fan subdriver\n  thinkpad-acpi: enhanced debugging messages for the hotkey subdriver\n  thinkpad-acpi: enhanced debugging messages for rfkill subdrivers\n  thinkpad-acpi: restrict access to some firmware LEDs\n  thinkpad-acpi: remove HKEY disable functionality\n  thinkpad-acpi: add new debug helpers and warn of deprecated atts\n  thinkpad-acpi: add missing log levels\n  thinkpad-acpi: cleanup debug helpers\n  thinkpad-acpi: documentation cleanup\n  thinkpad-acpi: drop ibm-acpi alias\n  ...\n"
    },
    {
      "commit": "45e36c1666aa6c8b0c538abcf984b336184d8c3f",
      "tree": "c1f1771d6b02ec210238081450b4a063847b3383",
      "parents": [
        "87fc94d54b639d8c39fc4a11db0e142f84096e13",
        "68b42d1b548be1840aff7122fdebeb804daf0fa3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:15:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:15:54 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits)\n  sh: sh7785lcr: Map whole PCI address space.\n  sh: Fix up DSP context save/restore.\n  sh: Fix up number of on-chip DMA channels on SH7091.\n  sh: update defconfigs.\n  sh: Kill off broken direct-mapped cache mode.\n  sh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle.\n  sh: Add a command line option for disabling I/O trapping.\n  sh: Select ARCH_HIBERNATION_POSSIBLE.\n  sh: migor: Fix up CEU use flags.\n  input: migor_ts: add wakeup support\n  rtc: rtc-sh: use set_irq_wake()\n  input: sh_keysc: use enable/disable_irq_wake()\n  sh: intc: set_irq_wake() support\n  sh: intc: install enable, disable and shutdown callbacks\n  clocksource: sh_cmt: use remove_irq() and remove clockevent workaround\n  sh: ap325 and Migo-R use new sh_mobile_ceu_info flags\n  sh: Fix up -Wformat-security whining.\n  sh: ap325rxa: Add ov772x support, again.\n  sh: Sanitize asm/mmu.h for assembly use.\n  sh: Tidy up sh7786 pinmux table.\n  ...\n"
    },
    {
      "commit": "87fc94d54b639d8c39fc4a11db0e142f84096e13",
      "tree": "00ea5cdb108c93f621110424d8c54ef5dac12960",
      "parents": [
        "3516c6a8dc0b1153c611c4cf0dc4a51631f052bb",
        "8e706c4d0dab214c625a2df84a0ca69a76bae65d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:15:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:15:28 2009 -0700"
      },
      "message": "Merge branch \u0027avr32-arch\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6\n\n* \u0027avr32-arch\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:\n  avr32: add hardware handshake support to atmel_serial\n  avr32: add RTS/CTS/CLK pin selection for the USARTs\n  Add RTC support for Merisc boards\n  avr32: at32ap700x: setup DMA for AC97C in the machine code\n  avr32: at32ap700x: setup DMA for ABDAC in the machine code\n  Add Merisc board support\n  avr32: use gpio_is_valid() to check USBA vbus_pin I/O line\n  atmel-usba-udc: use gpio_is_valid() to check vbus_pin I/O line\n  avr32: fix timing LCD parameters for EVKLCD10X boards\n  avr32: use GPIO line PB15 on EVKLCD10x boards for backlight\n  avr32: configure MCI detect and write protect pins for EVKLCD10x boards\n  avr32: set pin mask to alternative 18 bpp for EVKLCD10x boards\n  avr32: add pin mask for 18-bit color on the LCD controller\n  avr32: fix 15-bit LCDC pin mask to use MSB lines\n"
    },
    {
      "commit": "3516c6a8dc0b1153c611c4cf0dc4a51631f052bb",
      "tree": "c54a5fc916cbe73e43dee20902642f367f44a551",
      "parents": [
        "714f83d5d9f7c785f622259dad1f4fad12d64664",
        "ba0e1ebb7ea0616eebc29d2077355bacea62a9d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:06:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:06:45 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (714 commits)\n  Staging: sxg: slicoss: Specify the license for Sahara SXG and Slicoss drivers\n  Staging: serqt_usb: fix build due to proc tty changes\n  Staging: serqt_usb: fix checkpatch errors\n  Staging: serqt_usb: add TODO file\n  Staging: serqt_usb: Lindent the code\n  Staging: add USB serial Quatech driver\n  staging: document that the wifi staging drivers a bit better\n  Staging: echo cleanup\n  Staging: BUG to BUG_ON changes\n  Staging: remove some pointless conditionals before kfree_skb()\n  Staging: line6: fix build error, select SND_RAWMIDI\n  Staging: line6: fix checkpatch errors in variax.c\n  Staging: line6: fix checkpatch errors in toneport.c\n  Staging: line6: fix checkpatch errors in pcm.c\n  Staging: line6: fix checkpatch errors in midibuf.c\n  Staging: line6: fix checkpatch errors in midi.c\n  Staging: line6: fix checkpatch errors in dumprequest.c\n  Staging: line6: fix checkpatch errors in driver.c\n  Staging: line6: fix checkpatch errors in audio.c\n  Staging: line6: fix checkpatch errors in pod.c\n  ...\n"
    },
    {
      "commit": "714f83d5d9f7c785f622259dad1f4fad12d64664",
      "tree": "20563541ae438e11d686b4d629074eb002a481b7",
      "parents": [
        "8901e7ffc2fa78ede7ce9826dbad68a3a25dc2dc",
        "645dae969c3b8651c5bc7c54a1835ec03820f85f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:04:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:04:19 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (413 commits)\n  tracing, net: fix net tree and tracing tree merge interaction\n  tracing, powerpc: fix powerpc tree and tracing tree interaction\n  ring-buffer: do not remove reader page from list on ring buffer free\n  function-graph: allow unregistering twice\n  trace: make argument \u0027mem\u0027 of trace_seq_putmem() const\n  tracing: add missing \u0027extern\u0027 keywords to trace_output.h\n  tracing: provide trace_seq_reserve()\n  blktrace: print out BLK_TN_MESSAGE properly\n  blktrace: extract duplidate code\n  blktrace: fix memory leak when freeing struct blk_io_trace\n  blktrace: fix blk_probes_ref chaos\n  blktrace: make classic output more classic\n  blktrace: fix off-by-one bug\n  blktrace: fix the original blktrace\n  blktrace: fix a race when creating blk_tree_root in debugfs\n  blktrace: fix timestamp in binary output\n  tracing, Text Edit Lock: cleanup\n  tracing: filter fix for TRACE_EVENT_FORMAT events\n  ftrace: Using FTRACE_WARN_ON() to check \"freed record\" in ftrace_release()\n  x86: kretprobe-booster interrupt emulation code fix\n  ...\n\nFix up trivial conflicts in\n arch/parisc/include/asm/ftrace.h\n include/linux/memory.h\n kernel/extable.c\n kernel/module.c\n"
    },
    {
      "commit": "def57543418a5f47debae28a0a9dea2effc11692",
      "tree": "9f27756c75502f6331c5c4260f36779a7b9555bc",
      "parents": [
        "679173b724631f49e537a15fa48ea2000bdc1808"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Mar 10 18:00:14 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Apr 05 13:49:04 2009 -0400"
      },
      "message": "Audit: remove spaces from audit_log_d_path\n\naudit_log_d_path had spaces in the strings which would be emitted on the\nerror paths.  This patch simply replaces those spaces with an _ or removes\nthe needless spaces entirely.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "679173b724631f49e537a15fa48ea2000bdc1808",
      "tree": "f5211fea378788dab49654e15916f6ba73faa4b4",
      "parents": [
        "318b6d3d7ddbcad3d6867e630711b8a705d873d7"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jan 26 18:09:45 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Apr 05 13:48:52 2009 -0400"
      },
      "message": "audit: audit_set_auditable defined but not used\n\nafter 0590b9335a1c72a3f0defcc6231287f7817e07c8 audit_set_auditable() is now only\nused by the audit tree code.  If CONFIG_AUDIT_TREE is unset it will be defined\nbut unused.  This patch simply moves the function inside a CONFIG_AUDIT_TREE\nblock.\n\ncc1: warnings being treated as errors\n/home/acme_unencrypted/git/linux-2.6-tip/kernel/auditsc.c:745: error: ‘audit_set_auditable’ defined but not used\nmake[2]: *** [kernel/auditsc.o] Error 1\nmake[1]: *** [kernel] Error 2\nmake[1]: *** Waiting for unfinished jobs....\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "318b6d3d7ddbcad3d6867e630711b8a705d873d7",
      "tree": "bdf1d75e26b1dc5ea4db67c6061f444c26eb9799",
      "parents": [
        "6d208da89aabee8502debe842832ca0ab298d16d"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 13 17:32:40 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Apr 05 13:48:26 2009 -0400"
      },
      "message": "audit: incorrect ref counting in audit tree tag_chunk\n\ntag_chunk has bad exit paths in which the inotify ref counting is wrong.\nAt the top of the function we found \u0026old_watch using  inotify_find_watch().\ninotify_find_watch takes a reference to the watch.  This is never dropped\non an error path.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6d208da89aabee8502debe842832ca0ab298d16d",
      "tree": "3ed68e7cab94ac7887dcd1d03f1b1fd9a927a001",
      "parents": [
        "55ad2f8d340678397de5916b9cd960f17ebd7150"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Wed Apr 01 15:47:27 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Apr 05 13:46:19 2009 -0400"
      },
      "message": "audit: Fix possible return value truncation in audit_get_context()\n\nThe audit subsystem treats syscall return codes as type long, unfortunately\nthe audit_get_context() function mistakenly converts the return code to an\nint type in the parameters which could cause problems on systems where the\nsizeof(int) !\u003d sizeof(long).\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "55ad2f8d340678397de5916b9cd960f17ebd7150",
      "tree": "6df2974acdd023948fda996119ff94a3eaf6ab5d",
      "parents": [
        "b3897f567100d18e0597f638b911d23aa5e0dd23"
      ],
      "author": {
        "name": "Miloslav Trmac",
        "email": "mitr@redhat.com",
        "time": "Thu Mar 19 09:52:47 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Apr 05 13:43:36 2009 -0400"
      },
      "message": "audit: ignore terminating NUL in AUDIT_USER_TTY messages\n\nAUDIT_USER_TTY, like all other messages sent from user-space, is sent\nNUL-terminated.  Unlike other user-space audit messages, which come only\nfrom trusted sources, AUDIT_USER_TTY messages are processed using\naudit_log_n_untrustedstring().\n\nThis patch modifies AUDIT_USER_TTY handling to ignore the trailing NUL\nand use the \"quoted_string\" representation of the message if possible.\n\nSigned-off-by: Miloslav Trmac \u003cmitr@redhat.com\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b3897f567100d18e0597f638b911d23aa5e0dd23",
      "tree": "32fa9d3d8faaae7a87de64163d450460b423fd87",
      "parents": [
        "c28bb7da74ab74a2860d652493aaff7de104d79e"
      ],
      "author": {
        "name": "Miloslav Trmac",
        "email": "mitr@redhat.com",
        "time": "Thu Mar 19 09:48:27 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Apr 05 13:43:24 2009 -0400"
      },
      "message": "Audit: fix handling of \u0027strings\u0027 with NULL characters\n\ncurrently audit_log_n_untrustedstring() uses audit_string_contains_control()\nto check if the \u0027string\u0027 has any control characters.  If the \u0027string\u0027 has an\nembedded NULL audit_string_contains_control() will return that the data has\nno control characters and will then pass the string to audit_log_n_string\nwith the total length, not the length up to the first NULL.\naudit_log_n_string() does a memcpy of the entire length and so the actual\naudit record emitted may then contain a NULL and then whatever random memory\nis after the NULL.\n\nSince we want to log the entire octet stream (if we can\u0027t trust the data\nto be a string we can\u0027t trust that a NULL isn\u0027t actually a part of it)\nwe should just consider NULL as a control character.  If the caller is\ncertain they want to stop at the first NULL they should be using\naudit_log_untrustedstring.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c28bb7da74ab74a2860d652493aaff7de104d79e",
      "tree": "055fc031167b88138b2a213f908bab6d21a4464b",
      "parents": [
        "6b96255998053a89f45c0855de954b71f5c3887b"
      ],
      "author": {
        "name": "Zhenwen Xu",
        "email": "helight.xu@gmail.com",
        "time": "Thu Mar 12 22:16:12 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Apr 05 13:40:33 2009 -0400"
      },
      "message": "make the e-\u003erule.xxx shorter in kernel auditfilter.c\n\nmake the e-\u003erule.xxx shorter in kernel/auditfilter.c\n--\n---------------------------------\nZhenwen Xu - Open and Free\nHome Page:\thttp://zhwen.org\nMy Studio:\thttp://dim4.cn\n\n\u003eFrom 99692dc640b278f1cb1a15646ce42f22e89c0f77 Mon Sep 17 00:00:00 2001\nFrom: Zhenwen Xu \u003cHelight.Xu@gmail.com\u003e\nDate: Thu, 12 Mar 2009 22:04:59 +0800\nSubject: [PATCH] make the e-\u003erule.xxx shorter in kernel/auditfilter.c\n\nSigned-off-by: Zhenwen Xu \u003cHelight.Xu@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b96255998053a89f45c0855de954b71f5c3887b",
      "tree": "d46ba7f03e56a81fee5b6903087bffae50c9b3a6",
      "parents": [
        "ca96a895a6bae7efe7b11a35d9f43e6228467562"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Jan 05 13:41:13 2009 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Apr 05 13:39:19 2009 -0400"
      },
      "message": "auditsc: fix kernel-doc notation\n\nFix auditsc kernel-doc notation:\n\nWarning(linux-2.6.28-git7//kernel/auditsc.c:2156): No description found for parameter \u0027attr\u0027\nWarning(linux-2.6.28-git7//kernel/auditsc.c:2156): Excess function parameter \u0027u_attr\u0027 description in \u0027__audit_mq_open\u0027\nWarning(linux-2.6.28-git7//kernel/auditsc.c:2204): No description found for parameter \u0027notification\u0027\nWarning(linux-2.6.28-git7//kernel/auditsc.c:2204): Excess function parameter \u0027u_notification\u0027 description in \u0027__audit_mq_notify\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\ncc:\tAl Viro \u003cviro@zeniv.linux.org.uk\u003e\ncc:\tEric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ca96a895a6bae7efe7b11a35d9f43e6228467562",
      "tree": "f0a838bddc4d20b204720592811484bbe3e98a6a",
      "parents": [
        "6bb597507f9839b13498781e481f5458aea33620"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Fri Jan 09 16:44:16 2009 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Apr 05 13:38:59 2009 -0400"
      },
      "message": "audit: EXECVE record - removed bogus newline\n\n(updated)\nAdded hunk that changes the comment, the rest is the same.\n\nEXECVE records contain a newline after every argument. auditd converts\n\"\\n\" to \" \" so you cannot see newlines even in raw logs, but they\u0027re\nthere nevertheless. If you\u0027re not using auditd, you need to work round\nthem. These \u0027\\n\u0027 chars are can be easily replaced by spaces when\ncreating record in kernel. Note there is no need for trailing \u0027\\n\u0027 in\nan audit record.\n\nrecord before this patch:\n\"type\u003dEXECVE msg\u003daudit(1231421801.566:31): argc\u003d4 a0\u003d\\\"./test\\\"\\na1\u003d\\\"a\\\"\\na2\u003d\\\"b\\\"\\na3\u003d\\\"c\\\"\\n\"\n\nrecord after this patch:\n\"type\u003dEXECVE msg\u003daudit(1231421801.566:31): argc\u003d4 a0\u003d\\\"./test\\\" a1\u003d\\\"a\\\" a2\u003d\\\"b\\\" a3\u003d\\\"c\\\"\"\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8901e7ffc2fa78ede7ce9826dbad68a3a25dc2dc",
      "tree": "e1a7735557b8d875e5827f889e658d3b5a717848",
      "parents": [
        "90975ef71246c5c688ead04e8ff6f36dc92d28b3",
        "1359096eacb1971be67eead8bf9b582864d92a30"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:35:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:35:44 2009 -0700"
      },
      "message": "Merge branch \u0027bzip2-lzma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip\n\n* \u0027bzip2-lzma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:\n  bzip2/lzma: quiet Kconfig warning for INITRAMFS_COMPRESSION_NONE\n"
    },
    {
      "commit": "90975ef71246c5c688ead04e8ff6f36dc92d28b3",
      "tree": "eda44b2efe91509719b0e62219c2efec13a9e762",
      "parents": [
        "cab4e4c43f92582a2bfc026137b3d8a175bd0360",
        "558f6ab9106e6be701acb0257e7171df1bbccf04"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:33:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:33:07 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask: (36 commits)\n  cpumask: remove cpumask allocation from idle_balance, fix\n  numa, cpumask: move numa_node_id default implementation to topology.h, fix\n  cpumask: remove cpumask allocation from idle_balance\n  x86: cpumask: x86 mmio-mod.c use cpumask_var_t for downed_cpus\n  x86: cpumask: update 32-bit APM not to mug current-\u003ecpus_allowed\n  x86: microcode: cleanup\n  x86: cpumask: use work_on_cpu in arch/x86/kernel/microcode_core.c\n  cpumask: fix CONFIG_CPUMASK_OFFSTACK\u003dy cpu hotunplug crash\n  numa, cpumask: move numa_node_id default implementation to topology.h\n  cpumask: convert node_to_cpumask_map[] to cpumask_var_t\n  cpumask: remove x86 cpumask_t uses.\n  cpumask: use cpumask_var_t in uv_flush_tlb_others.\n  cpumask: remove cpumask_t assignment from vector_allocation_domain()\n  cpumask: make Xen use the new operators.\n  cpumask: clean up summit\u0027s send_IPI functions\n  cpumask: use new cpumask functions throughout x86\n  x86: unify cpu_callin_mask/cpu_callout_mask/cpu_initialized_mask/cpu_sibling_setup_mask\n  cpumask: convert struct cpuinfo_x86\u0027s llc_shared_map to cpumask_var_t\n  cpumask: convert node_to_cpumask_map[] to cpumask_var_t\n  x86: unify 32 and 64-bit node_to_cpumask_map\n  ...\n"
    },
    {
      "commit": "cab4e4c43f92582a2bfc026137b3d8a175bd0360",
      "tree": "2f0e8fbc2e7d2d0cd6f1658a5e084a53b1e83a2e",
      "parents": [
        "5412b5399e095730008a14f2107331b2123733e4",
        "49502677e11079c2e3e01867c922a894ce06a8be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:30:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:30:21 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param:\n  module: use strstarts()\n  strstarts: helper function for !strncmp(str, prefix, strlen(prefix))\n  arm: allow usage of string functions in linux/string.h\n  module: don\u0027t use stop_machine on module load\n  module: create a request_module_nowait()\n  module: include other structures in module version check\n  module: remove the SHF_ALLOC flag on the __versions section.\n  module: clarify the force-loading taint message.\n  module: Export symbols needed for Ksplice\n  Ksplice: Add functions for walking kallsyms symbols\n  module: remove module_text_address()\n  module: __module_address\n  module: Make find_symbol return a struct kernel_symbol\n  kernel/module.c: fix an unused goto label\n  param: fix charp parameters set via sysfs\n\nFix trivial conflicts in kernel/extable.c manually.\n"
    },
    {
      "commit": "5412b5399e095730008a14f2107331b2123733e4",
      "tree": "6b3a7aee35a2d7d97cef33a077e6c60a394f5298",
      "parents": [
        "e4c393fd551654179c46b65e4a70ea20d831c783",
        "337fff8b5ed0573ea106491c6de47bd7fe623500"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:26:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:26:36 2009 -0700"
      },
      "message": "Merge branch \u0027core/debugobjects\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core/debugobjects\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  debugobjects: delay free of internal objects\n  debugobjects: replace static objects when slab cache becomes available\n  debug_objects: add boot-parameter toggle to turn object debugging off again\n"
    },
    {
      "commit": "e4c393fd551654179c46b65e4a70ea20d831c783",
      "tree": "087c5c1f514a2ffeb75c925545e584fb269bea3a",
      "parents": [
        "0a053e8c71d666daf30da2d407147b1293923d8b",
        "38a6ed3ed8e108b662f4016a1ebf068dcf4c1ef4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:23:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:23:25 2009 -0700"
      },
      "message": "Merge branch \u0027printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  printk: correct the behavior of printk_timed_ratelimit()\n  vsprintf: unify the format decoding layer for its 3 users, cleanup\n  fix regression from \"vsprintf: unify the format decoding layer for its 3 users\"\n  vsprintf: fix bug in negative value printing\n  vsprintf: unify the format decoding layer for its 3 users\n  vsprintf: add binary printf\n  printk: introduce printk_once()\n\nFix trivial conflicts (printk_once vs log_buf_kexec_setup() added near\neach other) in include/linux/kernel.h.\n"
    },
    {
      "commit": "0a053e8c71d666daf30da2d407147b1293923d8b",
      "tree": "9ba3967845db9053cb2ca045f01a9454eb5e6230",
      "parents": [
        "601cc11d054ae4b5e9b5babec3d8e4667a2cb9b5",
        "32ab83a56fdf42f543b86c349143c2a86ead9707"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:18:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:18:21 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (42 commits)\n  atmel-mci: fix sdc_reg typo\n  tmio_mmc: add maintainer\n  mmc: Add OpenFirmware bindings for SDHCI driver\n  sdhci: Add quirk for forcing maximum block size to 2048 bytes\n  sdhci: Add quirk for controllers that need IRQ re-init after reset\n  sdhci: Add quirk for controllers that need small delays for PIO\n  sdhci: Add set_clock callback and a quirk for nonstandard clocks\n  sdhci: Add get_{max,timeout}_clock callbacks\n  sdhci: Add support for hosts reporting inverted write-protect state\n  sdhci: Add support for card-detection polling\n  sdhci: Enable only relevant (DMA/PIO) interrupts during transfers\n  sdhci: Split card-detection IRQs management from sdhci_init()\n  sdhci: Add support for bus-specific IO memory accessors\n  mmc_spi: adjust for delayed data token response\n  omap_hsmmc: Wait for SDBP\n  omap_hsmmc: Fix MMC3 dma\n  omap_hsmmc: Disable SDBP at suspend\n  omap_hsmmc: Do not prefix slot name\n  omap_hsmmc: Allow cover switch to cause rescan\n  omap_hsmmc: Add 8-bit bus width mode support\n  ...\n"
    },
    {
      "commit": "7ec0a7290797f57b780f792d12f4bcc19c83aa4f",
      "tree": "30826d0452f43040f938f85fcd0e10f507df7a2f",
      "parents": [
        "373cfc360ec773be2f7615e59a19f3313255db7c"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Mon Mar 30 17:48:24 2009 +0000"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 02:25:07 2009 -0400"
      },
      "message": "ACPI: processor: use .notify method instead of installing handler directly\n\nThis patch adds a .notify() method.  The presence of .notify() causes\nLinux/ACPI to manage event handlers and notify handlers on our behalf,\nso we don\u0027t have to install and remove them ourselves.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCC: Zhang Rui \u003crui.zhang@intel.com\u003e\nCC: Zhao Yakui \u003cyakui.zhao@intel.com\u003e\nCC: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCC: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "373cfc360ec773be2f7615e59a19f3313255db7c",
      "tree": "86c68db2a5f5b1b400bda46370353e109c9d5482",
      "parents": [
        "46ec8598fde74ba59703575c22a6fb0b6b151bb6"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Mon Mar 30 17:48:18 2009 +0000"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 02:25:07 2009 -0400"
      },
      "message": "ACPI: button: use .notify method instead of installing handler directly\n\nThis patch adds a .notify() method.  The presence of .notify() causes\nLinux/ACPI to manage event handlers and notify handlers on our behalf,\nso we don\u0027t have to install and remove them ourselves.\n\nNote that events from fixed hardware buttons now show up as a special\nnotify event, so to preserve user-space backward compatibility, we\nconvert that back to ACPI_BUTTON_NOTIFY_STATUS.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nReviewed-by: Alex Chiang \u003cachiang@hp.com\u003e\nCC: Alexey Starikovskiy \u003calexey.y.starikovskiy@linux.intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "46ec8598fde74ba59703575c22a6fb0b6b151bb6",
      "tree": "21936a8b188c58e69e2bd5d951df28e6e05930fa",
      "parents": [
        "478c6a43fcbc6c11609f8cee7c7b57223907754f"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Mon Mar 30 17:48:13 2009 +0000"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 02:25:07 2009 -0400"
      },
      "message": "ACPI: support acpi_device_ops .notify methods\n\nThis patch adds support for ACPI device driver .notify() methods.  If\nsuch a method is present, Linux/ACPI installs a handler for device\nnotifications (but not for system notifications such as Bus Check,\nDevice Check, etc).  When a device notification occurs, Linux/ACPI\npasses it on to the driver\u0027s .notify() method.\n\nIn most cases, this removes the need for drivers to install their own\nhandlers for device-specific notifications.\n\nFor fixed hardware devices like some power and sleep buttons, there\u0027s\nno notification value because there\u0027s no control method to execute a\nNotify opcode.  When a fixed hardware device generates an event, we\nhandle it the same as a regular device notification, except we send\na ACPI_FIXED_HARDWARE_EVENT value.  This is outside the normal 0x0-0xff\nrange used by Notify opcodes.\n\nSeveral drivers install their own handlers for system Bus Check and\nDevice Check notifications so they can support hot-plug.  This patch\ndoesn\u0027t affect that usage.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nReviewed-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "478c6a43fcbc6c11609f8cee7c7b57223907754f",
      "tree": "a7f7952099da60d33032aed6de9c0c56c9f8779e",
      "parents": [
        "8a3f257c704e02aee9869decd069a806b45be3f1",
        "6bb597507f9839b13498781e481f5458aea33620"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 02:14:15 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 02:14:15 2009 -0400"
      },
      "message": "Merge branch \u0027linus\u0027 into release\n\nConflicts:\n\tarch/x86/kernel/cpu/cpufreq/longhaul.c\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "8a3f257c704e02aee9869decd069a806b45be3f1",
      "tree": "adb9d3766c57119381304c3b94334997cc7a74a7",
      "parents": [
        "33526a53600ac887d100e3c9b4be3637ac8ae3a5",
        "15065531c1c5902775ae3ade24eb37d0e688353b"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:52:07 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:52:07 2009 -0400"
      },
      "message": "Merge branch \u0027misc\u0027 into release\n"
    },
    {
      "commit": "33526a53600ac887d100e3c9b4be3637ac8ae3a5",
      "tree": "646cb10e5f02bbbd913eafe9dbc1cfa80166f20e",
      "parents": [
        "47ae106d3f37e1fd715975eaf8130e20e171cf52",
        "786c221a37d3931189d9c9421f63dec92f4d698b"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:51:51 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:51:51 2009 -0400"
      },
      "message": "Merge branch \u0027x2apic\u0027 into release\n"
    },
    {
      "commit": "47ae106d3f37e1fd715975eaf8130e20e171cf52",
      "tree": "f639e44c42f01dd67a2245189b3c95eb47b9a51e",
      "parents": [
        "2e33b234abbb9a77806115d30c3084992a98973c",
        "6328a57401dc5f5cf9931738eb7268fcd8058c49"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:51:38 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:51:38 2009 -0400"
      },
      "message": "Merge branch \u0027pnpacpi\u0027 into release\n"
    },
    {
      "commit": "2e33b234abbb9a77806115d30c3084992a98973c",
      "tree": "ef46ff81813f19c1fae07e1b470cac04c4b0e3d3",
      "parents": [
        "e2fae0abf6a9c7a2da1a481b7adb4e24f7778992",
        "0b3f6109f0c9ff926b5ffc80dc1cebb24f192b35"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:51:22 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:51:22 2009 -0400"
      },
      "message": "Merge branch \u0027dell-wmi\u0027 into release\n"
    },
    {
      "commit": "e2fae0abf6a9c7a2da1a481b7adb4e24f7778992",
      "tree": "dbf0007632ca651baa9c7193b0ead3547c656c33",
      "parents": [
        "fff251f6b26bb8f4de15fa5906cf2611623b3661",
        "c07c9a78a95cab0a9bf0b253d0c52e7798af38c5"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:51:16 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:51:16 2009 -0400"
      },
      "message": "Merge branch \u0027constify\u0027 into release\n"
    },
    {
      "commit": "fff251f6b26bb8f4de15fa5906cf2611623b3661",
      "tree": "91841ca77a426eac7393a961fc14a95dc869a15c",
      "parents": [
        "3b4dadf05d177289c279c50030c7c75e004952bb",
        "a5032bfdd9c80e0231a6324661e123818eb46ecd",
        "34ff4dbccccce54c83b1234d39b7ad9e548a75dd"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:51:10 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:51:10 2009 -0400"
      },
      "message": "Merge branches \u0027bugzilla-12461\u0027 and \u0027bugzilla-9998\u0027 into release\n"
    },
    {
      "commit": "3b4dadf05d177289c279c50030c7c75e004952bb",
      "tree": "5ee1a21f5dd3d4682e7ed9f92ba97fa4a507f62f",
      "parents": [
        "59b17bf6ea06abed519dfc788fff1b6b9499d23f",
        "7e90560c50f754d65884e251e94c1efa2a4b5784"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:50:46 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:50:46 2009 -0400"
      },
      "message": "Merge branch \u0027acpi_enforce_resources\u0027 into release\n"
    },
    {
      "commit": "59b17bf6ea06abed519dfc788fff1b6b9499d23f",
      "tree": "6f7e870659f91e753dc515cc1b8702420dd6a81e",
      "parents": [
        "edd84690d15e4cb144cc60b754d4eaf8fac0a711",
        "0f66af530116e9f4dd97f328d91718b56a6fc5a4"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:48:46 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:48:46 2009 -0400"
      },
      "message": "Merge branch \u0027async-battery\u0027 into release\n\nConflicts:\n\tdrivers/acpi/Makefile\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "edd84690d15e4cb144cc60b754d4eaf8fac0a711",
      "tree": "4fc645c52ad9eebcdf59a6ab32d534df121dd280",
      "parents": [
        "7c27fd19b6d985957424348361afa066ff4c74d8",
        "ae7d51517bc3b0fe10c6af38234ef0f92bbae6a4"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:45:50 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:45:50 2009 -0400"
      },
      "message": "Merge branch \u0027acpi-modparam\u0027 into release\n\nConflicts:\n\tdrivers/acpi/Makefile\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "7c27fd19b6d985957424348361afa066ff4c74d8",
      "tree": "276063bee8ebb64088e274fd152d0c40e6573372",
      "parents": [
        "336d63b8a3cadc1c678f4b16d6105633c7f6af75",
        "16dd55f309cf69a648ca3b1fc04b3b6f079c8be0"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:42:14 2009 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Apr 05 01:42:14 2009 -0400"
      },
      "message": "Merge branch \u0027sony-laptop\u0027 into release\n"
    }
  ],
  "next": "336d63b8a3cadc1c678f4b16d6105633c7f6af75"
}
