)]}'
{
  "log": [
    {
      "commit": "329d876d6fd326109f191ae0fb2798b8834fb70b",
      "tree": "9e8a071a9c89be06a3b6dd526ec42f08eca16ae3",
      "parents": [
        "aaba98018b8295dfa2119345d17f833d74448cd0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 26 08:10:00 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 26 09:54:13 2009 +0200"
      },
      "message": "perf_counter: Initialize -\u003eoncpu properly\n\nThis shouldnt matter normally (and i have not seen any\nmisbehavior), because active counters always have a\nproper -\u003eoncpu value - but nevertheless initialize the\nfield properly to -1.\n\n[ Impact: cleanup ]\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0127c3ea082ee9f1034789b978dfc7fd83254617",
      "tree": "d3d9f8bc4544359f2aa6f65b4881ffa625c93742",
      "parents": [
        "53b441a565bf4036ab49c8ea04c5ad06ace7dd6b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 22:03:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 22:02:23 2009 +0200"
      },
      "message": "perf_counter: fix warning \u0026 lockup\n\n - remove bogus warning\n - fix wakeup from NMI path lockup\n - also fix up whitespace noise in perf_counter.h\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090525153931.703093461@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a78ac3258782f3e64cb40beb5990808e1febcc0c",
      "tree": "692462a974e4c26bdb7fa7fae727a6b326a0eeee",
      "parents": [
        "48e22d56ecdeddd1ffb42a02fccba5c6ef42b133"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 25 17:39:05 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 21:41:12 2009 +0200"
      },
      "message": "perf_counter: Generic per counter interrupt throttle\n\nIntroduce a generic per counter interrupt throttle.\n\nThis uses the perf_counter_overflow() quick disable to throttle a specific\ncounter when its going too fast when a pmu-\u003eunthrottle() method is provided\nwhich can undo the quick disable.\n\nPower needs to implement both the quick disable and the unthrottle method.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090525153931.703093461@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "10989fb2451763fae6f42d85fa6106c8fd010cf5",
      "tree": "34c1b66501633ac3c0c287f72611eccc90ee1bc2",
      "parents": [
        "6ab423e0eaca827fbd201ca4ae7d4f8573a366b2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 25 14:45:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 14:55:01 2009 +0200"
      },
      "message": "perf_counter: Fix PERF_COUNTER_CONTEXT_SWITCHES for cpu counters\n\nIngo noticed that cpu counters had 0 context switches, even though\nthere was plenty scheduling on the cpu.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090525124600.419025548@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6ab423e0eaca827fbd201ca4ae7d4f8573a366b2",
      "tree": "072d227934bf213adf5c0dd022369e14f273dc48",
      "parents": [
        "771d7cde144d87f2d1fbee4da3c6234d61f7e42a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 25 14:45:27 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 14:55:01 2009 +0200"
      },
      "message": "perf_counter: Propagate inheritance failures down the fork() path\n\nFail fork() when we fail inheritance for some reason (-ENOMEM most likely).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090525124600.324656474@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "771d7cde144d87f2d1fbee4da3c6234d61f7e42a",
      "tree": "21d15c924924b5f6cb91dd2b103337253b46ed58",
      "parents": [
        "e527ea312f31e88a7fa5472b71db71c565b0d44f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 25 14:45:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 14:55:00 2009 +0200"
      },
      "message": "perf_counter: Make pctrl() affect inherited counters too\n\nPaul noted that the new ptcrl() didn\u0027t work on child counters.\n\nReported-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090525124600.203151469@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4cbb4e3ac8b09fdb11e39e5a5611bfab0a7cd1a",
      "tree": "987f159fe3867781460c51e3363969efaeee2c8a",
      "parents": [
        "d94b943054721c346b0881865d645f000cd19880"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 19 15:50:30 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 13:05:06 2009 +0200"
      },
      "message": "perf_counter: Move child perfcounter init to after scheduler init\n\nInitialize a task\u0027s perfcounters (inherit from parent, etc.) after\nthe child task\u0027s scheduler fields have been initialized already.\n\n[ Impact: cleanup ]\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a3862d3f814ce7dfca9eed56ac23d29db3aee8d5",
      "tree": "5cbc8c2cb9b11acb5bc21009d27da3978c1c0db2",
      "parents": [
        "c2990a2a582d73562d4dcf2502c39892a19a691d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 24 09:02:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 24 09:02:37 2009 +0200"
      },
      "message": "perf_counter: Increase mmap limit\n\nIn a default \u0027perf top\u0027 run the tool will create a counter for\neach online CPU. With enough CPUs this will eventually exhaust\nthe default limit.\n\nSo scale it up with the number of online CPUs.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "475c55797323b67435083f6e2eb8ee670f6410ec",
      "tree": "2aad9762396b01ccf92581489e70bd3689246f19",
      "parents": [
        "082ff5a2767a0679ee543f14883adbafb631ffbe"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 23 18:29:01 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 24 08:24:30 2009 +0200"
      },
      "message": "perf_counter: Remove perf_counter_context::nr_enabled\n\nnow that pctrl() no longer disables other people\u0027s counters,\nremove the PMU cache code that deals with that.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090523163013.032998331@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "082ff5a2767a0679ee543f14883adbafb631ffbe",
      "tree": "5ddf792ed3f80b17bc427edea1dc1d4b4303b4f6",
      "parents": [
        "aa9c67f53d1969cf1db4c9c2db3a78c4ceb96469"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 23 18:29:00 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 24 08:24:08 2009 +0200"
      },
      "message": "perf_counter: Change pctrl() behaviour\n\nInstead of en/dis-abling all counters acting on a particular\ntask, en/dis- able all counters we created.\n\n[ v2: fix crash on first counter enable ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090523163012.916937244@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa9c67f53d1969cf1db4c9c2db3a78c4ceb96469",
      "tree": "7f2d3face393454dc58a6e811bb294714db948a6",
      "parents": [
        "1a482f38c5aafeb3576079a38a5b21b46619f3d2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 23 18:28:59 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 23 19:37:47 2009 +0200"
      },
      "message": "perf_counter: Simplify context cleanup\n\nUse perf_counter_remove_from_context() to remove counters from\nthe context.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090523163012.796275849@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "682076ae1de0aba9c2da509f7b19dc03e30a6e1f",
      "tree": "63e48b23f8ef4e16b79c9b767def13e7795eb440",
      "parents": [
        "fccc714b3148ab9741fafc1e90c3876d50df6093"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 23 18:28:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 23 19:37:46 2009 +0200"
      },
      "message": "perf_counter: Sanitize context locking\n\nEnsure we\u0027re consistent with the context locks.\n\n context-\u003emutex\n   context-\u003elock\n     list_{add,del}_counter();\n\nso that either lock is sufficient to stabilize the context.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090523163012.618790733@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fccc714b3148ab9741fafc1e90c3876d50df6093",
      "tree": "e536e75faf15f4db8ec653e7303ad9f41cc5c186",
      "parents": [
        "e220d2dcb944c5c488b6855d15ec66d76900514f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 23 18:28:56 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 23 19:37:45 2009 +0200"
      },
      "message": "perf_counter: Sanitize counter-\u003emutex\n\ns/counter-\u003emutex/counter-\u003echild_mutex/ and make sure its only\nused to protect child_list.\n\nThe usage in __perf_counter_exit_task() doesn\u0027t appear to be\nproblematic since ctx-\u003emutex also covers anything related to fd\ntear-down.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090523163012.533186528@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e220d2dcb944c5c488b6855d15ec66d76900514f",
      "tree": "bbaa8ead4276d59d6d73d49a28fd6e1e1ed3259a",
      "parents": [
        "c6eb13847ba081552d2af644219bddeff7110caf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 23 18:28:55 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 23 19:37:44 2009 +0200"
      },
      "message": "perf_counter: Fix dynamic irq_period logging\n\nWe call perf_adjust_freq() from perf_counter_task_tick() which\nis is called under the rq-\u003elock causing lock recursion.\nHowever, it\u0027s no longer required to be called under the\nrq-\u003elock, so remove it from under it.\n\nAlso, fix up some related comments.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090523163012.476197912@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "564c2b210add41df9a3a5aaa365c1d97cff6110d",
      "tree": "2fe54df816abfe8c6010d277c79fbe18aa5c4082",
      "parents": [
        "a63eaf34ae60bdb067a354cc8def2e8f4a01f5f4"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri May 22 14:27:22 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 22 12:18:20 2009 +0200"
      },
      "message": "perf_counter: Optimize context switch between identical inherited contexts\n\nWhen monitoring a process and its descendants with a set of inherited\ncounters, we can often get the situation in a context switch where\nboth the old (outgoing) and new (incoming) process have the same set\nof counters, and their values are ultimately going to be added together.\nIn that situation it doesn\u0027t matter which set of counters are used to\ncount the activity for the new process, so there is really no need to\ngo through the process of reading the hardware counters and updating\nthe old task\u0027s counters and then setting up the PMU for the new task.\n\nThis optimizes the context switch in this situation.  Instead of\nscheduling out the perf_counter_context for the old task and\nscheduling in the new context, we simply transfer the old context\nto the new task and keep using it without interruption.  The new\ncontext gets transferred to the old task.  This means that both\ntasks still have a valid perf_counter_context, so no special case\nis introduced when the old task gets scheduled in again, either on\nthis CPU or another CPU.\n\nThe equivalence of contexts is detected by keeping a pointer in\neach cloned context pointing to the context it was cloned from.\nTo cope with the situation where a context is changed by adding\nor removing counters after it has been cloned, we also keep a\ngeneration number on each context which is incremented every time\na context is changed.  When a context is cloned we take a copy\nof the parent\u0027s generation number, and two cloned contexts are\nequivalent only if they have the same parent and the same\ngeneration number.  In order that the parent context pointer\nremains valid (and is not reused), we increment the parent\ncontext\u0027s reference count for each context cloned from it.\n\nSince we don\u0027t have individual fds for the counters in a cloned\ncontext, the only thing that can make two clones of a given parent\ndifferent after they have been cloned is enabling or disabling all\ncounters with prctl.  To account for this, we keep a count of the\nnumber of enabled counters in each context.  Two contexts must have\nthe same number of enabled counters to be considered equivalent.\n\nHere are some measurements of the context switch time as measured with\nthe lat_ctx benchmark from lmbench, comparing the times obtained with\nand without this patch series:\n\n\t\t-----Unmodified-----\t\tWith this patch series\nCounters:\tnone\t2 HW\t4H+4S\tnone\t2 HW\t4H+4S\n\n2 processes:\nAverage\t\t3.44\t6.45\t11.24\t3.12\t3.39\t3.60\nSt dev\t\t0.04\t0.04\t0.13\t0.05\t0.17\t0.19\n\n8 processes:\nAverage\t\t6.45\t8.79\t14.00\t5.57\t6.23\t7.57\nSt dev\t\t1.27\t1.04\t0.88\t1.42\t1.46\t1.42\n\n32 processes:\nAverage\t\t5.56\t8.43\t13.78\t5.28\t5.55\t7.15\nSt dev\t\t0.41\t0.47\t0.53\t0.54\t0.57\t0.81\n\nThe numbers are the mean and standard deviation of 20 runs of\nlat_ctx.  The \"none\" columns are lat_ctx run directly without any\ncounters.  The \"2 HW\" columns are with lat_ctx run under perfstat,\ncounting cycles and instructions.  The \"4H+4S\" columns are lat_ctx run\nunder perfstat with 4 hardware counters and 4 software counters\n(cycles, instructions, cache references, cache misses, task\nclock, context switch, cpu migrations, and page faults).\n\n[ Impact: performance optimization of counter context-switches ]\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c18966.10666.517218.332164@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a63eaf34ae60bdb067a354cc8def2e8f4a01f5f4",
      "tree": "9e81e5e0299bd524b3d07c17a05760e33c7d58a0",
      "parents": [
        "34adc8062227f41b04ade0ff3fbd1dbe3002669e"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri May 22 14:17:31 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 22 12:18:19 2009 +0200"
      },
      "message": "perf_counter: Dynamically allocate tasks\u0027 perf_counter_context struct\n\nThis replaces the struct perf_counter_context in the task_struct with\na pointer to a dynamically allocated perf_counter_context struct.  The\nmain reason for doing is this is to allow us to transfer a\nperf_counter_context from one task to another when we do lazy PMU\nswitching in a later patch.\n\nThis has a few side-benefits: the task_struct becomes a little smaller,\nwe save some memory because only tasks that have perf_counters attached\nget a perf_counter_context allocated for them, and we can remove the\ninclusion of \u003clinux/perf_counter.h\u003e in sched.h, meaning that we don\u0027t\nend up recompiling nearly everything whenever perf_counter.h changes.\n\nThe perf_counter_context structures are reference-counted and freed\nwhen the last reference is dropped.  A context can have references\nfrom its task and the counters on its task.  Counters can outlive the\ntask so it is possible that a context will be freed well after its\ntask has exited.\n\nContexts are allocated on fork if the parent had a context, or\notherwise the first time that a per-task counter is created on a task.\nIn the latter case, we set the context pointer in the task struct\nlocklessly using an atomic compare-and-exchange operation in case we\nraced with some other task in creating a context for the subject task.\n\nThis also removes the task pointer from the perf_counter struct.  The\ntask pointer was not used anywhere and would make it harder to move a\ncontext from one task to another.  Anything that needed to know which\ntask a counter was attached to was already using counter-\u003ectx-\u003etask.\n\nThe __perf_counter_init_context function moves up in perf_counter.c\nso that it can be called from find_get_context, and now initializes\nthe refcount, but is otherwise unchanged.\n\nWe were potentially calling list_del_counter twice: once from\n__perf_counter_exit_task when the task exits and once from\n__perf_counter_remove_from_context when the counter\u0027s fd gets closed.\nThis adds a check in list_del_counter so it doesn\u0027t do anything if\nthe counter has already been removed from the lists.\n\nSince perf_counter_task_sched_in doesn\u0027t do anything if the task doesn\u0027t\nhave a context, and leaves cpuctx-\u003etask_ctx \u003d NULL, this adds code to\n__perf_install_in_context to set cpuctx-\u003etask_ctx if necessary, i.e. in\nthe case where the current task adds the first counter to itself and\nthus creates a context for itself.\n\nThis also adds similar code to __perf_counter_enable to handle a\nsimilar situation which can arise when the counters have been disabled\nusing prctl; that also leaves cpuctx-\u003etask_ctx \u003d NULL.\n\n[ Impact: refactor counter context management to prepare for new feature ]\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c18966.10075.781053.231153@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "34adc8062227f41b04ade0ff3fbd1dbe3002669e",
      "tree": "9af82847422445f838dbe6a8850f456352922910",
      "parents": [
        "afedadf23a2c90f3ba0d963282cbe6a6be129494"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 20 20:13:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 20 20:12:54 2009 +0200"
      },
      "message": "perf_counter: Fix context removal deadlock\n\nDisable the PMU globally before removing a counter from a\ncontext. This fixes the following lockup:\n\n[22081.741922] ------------[ cut here ]------------\n[22081.746668] WARNING: at arch/x86/kernel/cpu/perf_counter.c:803 intel_pmu_handle_irq+0x9b/0x24e()\n[22081.755624] Hardware name: X8DTN\n[22081.758903] perfcounters: irq loop stuck!\n[22081.762985] Modules linked in:\n[22081.766136] Pid: 11082, comm: perf Not tainted 2.6.30-rc6-tip #226\n[22081.772432] Call Trace:\n[22081.774940]  \u003cNMI\u003e  [\u003cffffffff81019aed\u003e] ? intel_pmu_handle_irq+0x9b/0x24e\n[22081.781993]  [\u003cffffffff81019aed\u003e] ? intel_pmu_handle_irq+0x9b/0x24e\n[22081.788368]  [\u003cffffffff8104505c\u003e] ? warn_slowpath_common+0x77/0xa3\n[22081.794649]  [\u003cffffffff810450d3\u003e] ? warn_slowpath_fmt+0x40/0x45\n[22081.800696]  [\u003cffffffff81019aed\u003e] ? intel_pmu_handle_irq+0x9b/0x24e\n[22081.807080]  [\u003cffffffff814d1a72\u003e] ? perf_counter_nmi_handler+0x3f/0x4a\n[22081.813751]  [\u003cffffffff814d2d09\u003e] ? notifier_call_chain+0x58/0x86\n[22081.819951]  [\u003cffffffff8105b250\u003e] ? notify_die+0x2d/0x32\n[22081.825392]  [\u003cffffffff814d1414\u003e] ? do_nmi+0x8e/0x242\n[22081.830538]  [\u003cffffffff814d0f0a\u003e] ? nmi+0x1a/0x20\n[22081.835342]  [\u003cffffffff8117e102\u003e] ? selinux_file_free_security+0x0/0x1a\n[22081.842105]  [\u003cffffffff81018793\u003e] ? x86_pmu_disable_counter+0x15/0x41\n[22081.848673]  \u003c\u003cEOE\u003e\u003e  [\u003cffffffff81018f3d\u003e] ? x86_pmu_disable+0x86/0x103\n[22081.855512]  [\u003cffffffff8108fedd\u003e] ? __perf_counter_remove_from_context+0x0/0xfe\n[22081.862926]  [\u003cffffffff8108fcbc\u003e] ? counter_sched_out+0x30/0xce\n[22081.868909]  [\u003cffffffff8108ff36\u003e] ? __perf_counter_remove_from_context+0x59/0xfe\n[22081.876382]  [\u003cffffffff8106808a\u003e] ? smp_call_function_single+0x6c/0xe6\n[22081.882955]  [\u003cffffffff81091b96\u003e] ? perf_release+0x86/0x14c\n[22081.888600]  [\u003cffffffff810c4c84\u003e] ? __fput+0xe7/0x195\n[22081.893718]  [\u003cffffffff810c213e\u003e] ? filp_close+0x5b/0x62\n[22081.899107]  [\u003cffffffff81046a70\u003e] ? put_files_struct+0x64/0xc2\n[22081.905031]  [\u003cffffffff8104841a\u003e] ? do_exit+0x1e2/0x6ef\n[22081.910360]  [\u003cffffffff814d0a60\u003e] ? _spin_lock_irqsave+0x9/0xe\n[22081.916292]  [\u003cffffffff8104898e\u003e] ? do_group_exit+0x67/0x93\n[22081.921953]  [\u003cffffffff810489cc\u003e] ? sys_exit_group+0x12/0x16\n[22081.927759]  [\u003cffffffff8100baab\u003e] ? system_call_fastpath+0x16/0x1b\n[22081.934076] ---[ end trace 3a3936ce3e1b4505 ]---\n\nAnd could potentially also fix the lockup reported by Marcelo Tosatti.\n\nAlso, print more debug info in case of a detected lockup.\n\n[ Impact: fix lockup ]\n\nReported-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "afedadf23a2c90f3ba0d963282cbe6a6be129494",
      "tree": "3fa284b19482158c0a8dab8fa79bf41180ebd256",
      "parents": [
        "b986d7ec0f8b7ea3cc7366d80a137fbe839df227"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed May 20 12:21:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 20 12:43:34 2009 +0200"
      },
      "message": "perf_counter: Optimize sched in/out of counters\n\nAvoid a function call for !group counters by directly calling the counter\nfunction.\n\n[ Impact: micro-optimize the code ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090520102553.511933670@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b986d7ec0f8b7ea3cc7366d80a137fbe839df227",
      "tree": "ad3e9c473b8790f800cbf9e13e3fee01230def52",
      "parents": [
        "26b119bc811a73bac6ecf95bdf284bf31c7955f0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed May 20 12:21:21 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 20 12:43:33 2009 +0200"
      },
      "message": "perf_counter: Optimize disable of time based sw counters\n\nCurrently we call hrtimer_cancel() unconditionally on disable of time based\nsoftware counters. Avoid when possible.\n\n[ Impact: micro-optimize the code ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090520102553.388185031@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26b119bc811a73bac6ecf95bdf284bf31c7955f0",
      "tree": "cc8b39284012c27c4014c253655cff7ee95f79ce",
      "parents": [
        "d7b629a34fc4134a43c730b5f0197855dc4948d0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed May 20 12:21:20 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 20 12:43:33 2009 +0200"
      },
      "message": "perf_counter: Log irq_period changes\n\nFor the dynamic irq_period code, log whenever we change the period so that\nanalyzing code can normalize the event flow.\n\n[ Impact: add new feature to allow more precise profiling ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090520102553.298769743@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7b629a34fc4134a43c730b5f0197855dc4948d0",
      "tree": "040157a5fa338216644f6866e20b3994bd4eaf01",
      "parents": [
        "c44d70a340554a33071339064a303ac0f1a31623"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed May 20 12:21:19 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 20 12:43:32 2009 +0200"
      },
      "message": "perf_counter: Solve the rotate_ctx vs inherit race differently\n\nInstead of disabling RR scheduling of the counters, use a different list\nthat does not get rotated to iterate the counters on inheritance.\n\n[ Impact: cleanup, optimization ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090520102553.237504544@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c44d70a340554a33071339064a303ac0f1a31623",
      "tree": "a620d5b82a07b2e2c8c7c57d2e81d5bfdcdd4c25",
      "parents": [
        "33b2fb303fe7f6b08bbb32f708e67b96eaa94a7a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 17 11:24:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 20 00:22:30 2009 +0200"
      },
      "message": "perf_counter: fix counter inheritance race\n\nContext rotation should not occur when we are in the middle of\nwalking the counter list when inheriting counters ...\n\n[ Impact: fix occasionally incorrect perf stat results ]\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "33b2fb303fe7f6b08bbb32f708e67b96eaa94a7a",
      "tree": "32ab4cb3cca6c61a2d6cf351bb8f732045464e28",
      "parents": [
        "b68f1d2e7aa21029d73c7d453a8046e95d351740"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 17 11:08:41 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 20 00:22:24 2009 +0200"
      },
      "message": "perf_counter: fix counter freeing logic\n\nFix counter lifetime bugs which explain the crashes reported by\nMarcelo Tosatti and Arnaldo Carvalho de Melo.\n\nThe new rule is: flushing + freeing is only done for a task\u0027s\nown counters, never for other tasks.\n\n[ Impact: fix crashes/lockups with inherited counters ]\n\nReported-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nReported-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc3f81b129b5439ba7bac265bbc6a51a39275dae",
      "tree": "216030731d911249496d2e97206cd61431e31c89",
      "parents": [
        "d2517a49d55536b38c7a87e5289550cfedaa4dcc",
        "1406de8e11eb043681297adf86d6892ff8efc27a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 18 07:37:44 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 18 07:37:49 2009 +0200"
      },
      "message": "Merge commit \u0027v2.6.30-rc6\u0027 into perfcounters/core\n\nMerge reason: this branch was on an -rc4 base, merge it up to -rc6\n              to get the latest upstream fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0203026b58b4299ba7281c0b4b417207c1f05d0e",
      "tree": "02c9f3486544b0f7db1922f05cf12e6480eaf95f",
      "parents": [
        "856d56b9e5de650a64a6c41c17aaed702b55d578"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 17 11:24:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 17 11:26:57 2009 +0200"
      },
      "message": "perf_counter: fix threaded task exit\n\nFlushing counters in __exit_signal() with irqs disabled is not\na good idea as perf_counter_exit_task() acquires mutexes. So\nflush it before acquiring the tasklist lock.\n\n(Note, we still need a fix for when the PID has been unhashed.)\n\n[ Impact: fix crash with inherited counters ]\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "856d56b9e5de650a64a6c41c17aaed702b55d578",
      "tree": "af2fcfe19f0ab27fa220216285e4703ecc7887e1",
      "parents": [
        "8bc2095951517e2c74b8aeeca4685ddd6b16ed4b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 15 20:45:59 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 17 07:52:24 2009 +0200"
      },
      "message": "perf_counter: Fix counter inheritance\n\nSrivatsa Vaddagiri reported that a Java workload triggers this\nwarning in kernel/exit.c:\n\n   WARN_ON_ONCE(!list_empty(\u0026tsk-\u003eperf_counter_ctx.counter_list));\n\nAdd the inherited counter propagation on self-detach, this could\ncause counter leaks and incomplete stats in threaded code like\nthe below:\n\n  #include \u003cpthread.h\u003e\n  #include \u003cunistd.h\u003e\n\n  void *thread(void *arg)\n  {\n          sleep(5);\n          return NULL;\n  }\n\n  void main(void)\n  {\n          pthread_t thr;\n          pthread_create(\u0026thr, NULL, thread, NULL);\n  }\n\nReported-by: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8bc2095951517e2c74b8aeeca4685ddd6b16ed4b",
      "tree": "6342bfb21b642b22bd8f2d39f99faf4134de0cdb",
      "parents": [
        "0bbd0d4be8d5d3676c126e06e3c75c16def00441"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 15 20:45:59 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 17 07:52:23 2009 +0200"
      },
      "message": "perf_counter: Fix inheritance cleanup code\n\nClean up code that open-coded the list_{add,del}_counter() code in\n__perf_counter_exit_task() which consequently diverged. This could\nlead to software counter crashes.\n\nAlso, fold the ctx-\u003enr_counter inc/dec into those functions and clean\nup some of the related code.\n\n[ Impact: fix potential sw counter crash, cleanup ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ade385e4d14f4158b3b27acd992a98bca4cd7f23",
      "tree": "9f20430f5690901936348b0c955327c4a37d3485",
      "parents": [
        "c6538499814d8112c5d4d08570a7cf0758e5f8f5",
        "d34a792da969a00b0f653c512414411760f55a20"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 15 08:06:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 15 08:06:45 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdb: gdb documentation fix\n  kgdb,i386: use address that SP register points to in the exception frame\n  sysrq, intel_fb: fix sysrq g collision\n"
    },
    {
      "commit": "9d23a90a67261e73b2fcac04d8ca963c6b496afb",
      "tree": "81d453624f1834380740d3065cf022fe3500aad6",
      "parents": [
        "ef923214a4816c289e4af2d67a9ebb1a31e4ac61"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu May 14 21:48:08 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 15 16:38:56 2009 +0200"
      },
      "message": "perf_counter: allow arch to supply event misc flags and instruction pointer\n\nAt present the values we put in overflow events for the misc\nflags indicating processor mode and the instruction pointer are\nobtained using the standard user_mode() and\ninstruction_pointer() functions. Those functions tell you where\nthe performance monitor interrupt was taken, which might not be\nexactly where the counter overflow occurred, for example\nbecause interrupts were disabled at the point where the\noverflow occurred, or because the processor had many\ninstructions in flight and chose to complete some more\ninstructions beyond the one that caused the counter overflow.\n\nSome architectures (e.g. powerpc) can supply more precise\ninformation about where the counter overflow occurred and the\nprocessor mode at that point.  This introduces new functions,\nperf_misc_flags() and perf_instruction_pointer(), which arch\ncode can override to provide more precise information if\navailable.  They have default implementations which are\nidentical to the existing code.\n\nThis also adds a new misc flag value,\nPERF_EVENT_MISC_HYPERVISOR, for the case where a counter\noverflow occurred in the hypervisor.  We encode the processor\nmode in the 2 bits previously used to indicate user or kernel\nmode; the values for user and kernel mode are unchanged and\nhypervisor mode is indicated by both bits being set.\n\n[ Impact: generalize perfcounter core facilities ]\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c18956.1272.818511.561835@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e569d36729c8105ae066a9b105068305442cc77",
      "tree": "ce18dba8c5635693cdeb4af3652ba77c4e98abde",
      "parents": [
        "f5456a6b056b709282e87a68b4c1b81ac2e866fa"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 15 15:37:47 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 15 15:40:25 2009 +0200"
      },
      "message": "perf_counter: frequency based adaptive irq_period, 32-bit fix\n\nfix:\n\n  kernel/built-in.o: In function `perf_counter_alloc\u0027:\n  perf_counter.c:(.text+0x7ddc7): undefined reference to `__udivdi3\u0027\n\n[ Impact: build fix on 32-bit systems ]\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c1242394667.6642.1887.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60db5e09c13109b13830cc9dcae688003fd39e79",
      "tree": "ac923b89c28d735d2460216202d960e9c6237be0",
      "parents": [
        "789f90fcf6b0b54e655740e9396c954378542c79"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 15 15:19:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 15 15:26:56 2009 +0200"
      },
      "message": "perf_counter: frequency based adaptive irq_period\n\nInstead of specifying the irq_period for a counter, provide a target interrupt\nfrequency and dynamically adapt the irq_period to match this frequency.\n\n[ Impact: new perf-counter attribute/feature ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c20090515132018.646195868@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "789f90fcf6b0b54e655740e9396c954378542c79",
      "tree": "dccfe1ffac1202729238385923e74a8b5ebab979",
      "parents": [
        "548e1ddf255b4ebfb4ef20c08936fd8d4deb3bd9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 15 15:19:27 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 15 15:26:56 2009 +0200"
      },
      "message": "perf_counter: per user mlock gift\n\nInstead of a per-process mlock gift for perf-counters, use a\nper-user gift so that there is less of a DoS potential.\n\n[ Impact: allow less worst-case unprivileged memory consumption ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c20090515132018.496182835@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "548e1ddf255b4ebfb4ef20c08936fd8d4deb3bd9",
      "tree": "ba66d0fa1a15b1555a50927d0afa0bccb36efd91",
      "parents": [
        "58d7e993b16b62d30f8ef27757614056fe4def11"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 15 15:19:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 15 15:26:55 2009 +0200"
      },
      "message": "perf_counter: remove perf_disable/enable exports\n\nNow that ACPI idle doesn\u0027t use it anymore, remove the exports.\n\n[ Impact: remove dead code/data ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c20090515132018.429826617@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "364b5b7b1d793a7f98be55b6b154716dcae78dfc",
      "tree": "2c8d2571bde15bf7c376bd222b3cc916bd52c13d",
      "parents": [
        "45d447406a19cbfd42720f066f156f4eb9d68801"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed May 13 21:56:59 2009 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri May 15 07:56:24 2009 -0500"
      },
      "message": "sysrq, intel_fb: fix sysrq g collision\n\nCommit 79e539453b34e35f39299a899d263b0a1f1670bd introduced a\nregression where you cannot use sysrq \u0027g\u0027 to enter kgdb.  The solution\nis to move the intel fb sysrq over to V for video instead of G for\ngraphics.  The SMP VOYAGER code to register for the sysrq-v is not\nanywhere to be found in the mainline kernel, so the comments in the\ncode were cleaned up as well.\n\nThis patch also cleans up the sysrq definitions for kgdb to make it\ngeneric for the kernel debugger, such that the sysrq \u0027g\u0027 can be used\nin the future to enter a gdbstub or another kernel debugger.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd17cbfda004fe5f406c01b318c6378d9895896f",
      "tree": "821e279bc6d9d52bc13fa6c3905ebbd44a2e4860",
      "parents": [
        "05dc7b613481c695bb4fc476c6fbb46364b63f62"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 15 11:32:24 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 15 11:32:24 2009 +0200"
      },
      "message": "Revert \"mm: add /proc controls for pdflush threads\"\n\nThis reverts commit fafd688e4c0c34da0f3de909881117d374e4c7af.\n\nWork is progressing to switch away from pdflush as the process backing\nfor flushing out dirty data. So it seems pointless to add more knobs\nto control pdflush threads. The original author of the patch did not\nhave any specific use cases for adding the knobs, so we can easily\nrevert this before 2.6.30 to avoid having to maintain this API\nforever.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9e35ad388bea89f7d6f375af4c0ae98803688666",
      "tree": "9abbce9f6c9a914b1ea8d8dae82e159366030e4a",
      "parents": [
        "962bf7a66edca4d36a730a38ff8410a67f560e40"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed May 13 16:21:38 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 15 09:47:02 2009 +0200"
      },
      "message": "perf_counter: Rework the perf counter disable/enable\n\nThe current disable/enable mechanism is:\n\n\ttoken \u003d hw_perf_save_disable();\n\t...\n\t/* do bits */\n\t...\n\thw_perf_restore(token);\n\nThis works well, provided that the use nests properly. Except we don\u0027t.\n\nx86 NMI/INT throttling has non-nested use of this, breaking things. Therefore\nprovide a reference counter disable/enable interface, where the first disable\ndisables the hardware, and the last enable enables the hardware again.\n\n[ Impact: refactor, simplify the PMU disable/enable logic ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "53020fe81eecd0b7be295868ce5850ef8f41074e",
      "tree": "9dd7a48273419161c3bb74a0c9d492c626124835",
      "parents": [
        "a026dfecc035f213c1cfa0bf6407ce3155f6a9df"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed May 13 21:26:19 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 15 09:46:59 2009 +0200"
      },
      "message": "perf_counter: Fix perf_output_copy() WARN to account for overflow\n\nThe simple reservation test in perf_output_copy() failed to take\nunsigned int overflow into account, fix this.\n\n[ Impact: fix false positive warning with more than 4GB of profiling data ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e758a33d6fc5b9d6a3ae489863d04fcecad8120b",
      "tree": "3345d35fd5c9ee41a2f5a22fc5795672c0db7c2b",
      "parents": [
        "615a3f1e055ac9b0ae74e1f935a12ea2cfe2a2ad"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue May 12 21:59:01 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 12 15:31:06 2009 +0200"
      },
      "message": "perf_counter: call hw_perf_save_disable/restore around group_sched_in\n\nI noticed that when enabling a group via the PERF_COUNTER_IOC_ENABLE\nioctl on the group leader, the counters weren\u0027t enabled and counting\nimmediately on return from the ioctl, but did start counting a little\nwhile later (presumably after a context switch).\n\nThe reason was that __perf_counter_enable calls group_sched_in which\ncalls hw_perf_group_sched_in, which on powerpc assumes that the caller\nhas called hw_perf_save_disable already.  Until commit 46d686c6\n(\"perf_counter: put whole group on when enabling group leader\") it was\ntrue that all callers of group_sched_in had called\nhw_perf_save_disable first, and the powerpc hw_perf_group_sched_in\nrelies on that (there isn\u0027t an x86 version).\n\nThis fixes the problem by putting calls to hw_perf_save_disable /\nhw_perf_restore around the calls to group_sched_in and\ncounter_sched_in in __perf_counter_enable.  Having the calls to\nhw_perf_save_disable/restore around the counter_sched_in call is\nharmless and makes this call consistent with the other call sites\nof counter_sched_in, which have all called hw_perf_save_disable first.\n\n[ Impact: more precise counter group disable/enable functionality ]\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c18953.25733.53359.147452@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "615a3f1e055ac9b0ae74e1f935a12ea2cfe2a2ad",
      "tree": "bc109da69e48f00fad8782ef1852d052e92d1546",
      "parents": [
        "a08b159fc243dbfe415250466d24cfc5010deee5"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon May 11 15:50:21 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 11 12:10:54 2009 +0200"
      },
      "message": "perf_counter: call atomic64_set for counter-\u003ecount\n\nA compile warning triggered because we are calling\natomic_set(\u0026counter-\u003ecount). But since counter-\u003ecount\nis an atomic64_t, we have to use atomic64_set.\n\nSo the count can be set short, resulting in the reset ioctl\nonly resetting the low word.\n\n[ Impact: clear counter properly during the reset ioctl ]\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c18951.48285.270311.981806@drongo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a08b159fc243dbfe415250466d24cfc5010deee5",
      "tree": "39bb59aaf183021e6d9b02ed26dc8a4930d00f0b",
      "parents": [
        "6751b71ea2c7ab8c0d65f01973a3fc8ea16992f4"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon May 11 15:46:10 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 11 12:10:53 2009 +0200"
      },
      "message": "perf_counter: don\u0027t count scheduler ticks as context switches\n\nThe context-switch software counter gives inflated values at present\nbecause each scheduler tick and each process-wide counter\nenable/disable prctl gets counted as a context switch.\n\nThis happens because perf_counter_task_tick, perf_counter_task_disable\nand perf_counter_task_enable all call perf_counter_task_sched_out,\nwhich calls perf_swcounter_event to record a context switch event.\n\nThis fixes it by introducing a variant of perf_counter_task_sched_out\nwith two underscores in front for internal use within the perf_counter\ncode, and makes perf_counter_task_{tick,disable,enable} call it.  This\nvariant doesn\u0027t record a context switch event, and takes a struct\nperf_counter_context *.  This adds the new variant rather than\nchanging the behaviour or interface of perf_counter_task_sched_out\nbecause that is called from other code.\n\n[ Impact: fix inflated context-switch event counts ]\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c18951.48034.485580.498953@drongo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6751b71ea2c7ab8c0d65f01973a3fc8ea16992f4",
      "tree": "d4342bd89a10391caf648828ddea7550de6fc82d",
      "parents": [
        "8823392360dc4992f87bf4c623834d315f297493"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon May 11 12:08:02 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 11 12:10:53 2009 +0200"
      },
      "message": "perf_counter: Put whole group on when enabling group leader\n\nCurrently, if you have a group where the leader is disabled and there\nare siblings that are enabled, and then you enable the leader, we only\nput the leader on the PMU, and not its enabled siblings.  This is\nincorrect, since the enabled group members should be all on or all off\nat any given point.\n\nThis fixes it by adding a call to group_sched_in in\n__perf_counter_enable in the case where we\u0027re enabling a group leader.\n\nTo avoid the need for a forward declaration this also moves\ngroup_sched_in up before __perf_counter_enable.  The actual content of\ngroup_sched_in is unchanged by this patch.\n\n[ Impact: fix bug in counter enable code ]\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c18951.34946.451546.691693@drongo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f5bbff9a1b7d6864a495763448a363bbfa96324",
      "tree": "0067dca46f40def1c55541c34c262e06aeb8c4c8",
      "parents": [
        "74dbbdd7fdc11763f4698d2f3e684cf4446951e6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 06 01:34:22 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 09 10:49:40 2009 -0400"
      },
      "message": "Convert obvious places to deactivate_locked_super()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "201517a7f3ec497fff545a7659c6c876f89f9054",
      "tree": "47721de5b13043eb9e7e10aaf7fe544c794a3c7d",
      "parents": [
        "d7a5926978cb109b2db5985c65086483caf9e226"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu May 07 16:31:26 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 08 16:23:48 2009 -0700"
      },
      "message": "kprobes: fix to use text_mutex around arm/disarm kprobe\n\nFix kprobes to lock text_mutex around some arch_arm/disarm_kprobe() which\nare newly added by commit de5bd88d5a5cce3cacea904d3503e5ebdb3852a2.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f370e1e2f195ec1e6420e26fc83e0319595db578",
      "tree": "08276ee556bbc91d4d5f3ccee05d930efbca77ef",
      "parents": [
        "a85f61abe11a46553c4562e74edb27ebc782aeb7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 08 18:52:24 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 08 20:36:59 2009 +0200"
      },
      "message": "perf_counter: add PERF_RECORD_CPU\n\nAllow recording the CPU number the event was generated on.\n\nRFC: this leaves a u32 as reserved, should we fill in the\n     node_id() there, or leave this open for future extention,\n     as userspace can already easily do the cpu-\u003enode mapping\n     if needed.\n\n[ Impact: extend perfcounter output record format ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090508170029.008627711@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a85f61abe11a46553c4562e74edb27ebc782aeb7",
      "tree": "47a7fab94fe75dc75c0fdf8c590a6f41ef2be527",
      "parents": [
        "3df5edad87a998273aa5a9a8c728c05d855ad00e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 08 18:52:23 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 08 20:36:58 2009 +0200"
      },
      "message": "perf_counter: add PERF_RECORD_CONFIG\n\nMuch like CONFIG_RECORD_GROUP records the hw_event.config to\nidentify the values, allow to record this for all counters.\n\n[ Impact: extend perfcounter output record format ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090508170028.923228280@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3df5edad87a998273aa5a9a8c728c05d855ad00e",
      "tree": "c8e8090b1fe518918ac85d92a172702e9544fa91",
      "parents": [
        "7fc23a5380797012e92a9633169440f2f4a21253"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 08 18:52:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 08 20:36:58 2009 +0200"
      },
      "message": "perf_counter: rework ioctl()s\n\nCorey noticed that ioctl()s on grouped counters didn\u0027t work on\nthe whole group. This extends the ioctl() interface to take a\nsecond argument that is interpreted as a flags field. We then\nprovide PERF_IOC_FLAG_GROUP to toggle the behaviour.\n\nHaving this flag gives the greatest flexibility, allowing you\nto individually enable/disable/reset counters in a group, or\nall together.\n\n[ Impact: fix group counter enable/disable semantics ]\n\nReported-by: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20090508170028.837558214@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7fc23a5380797012e92a9633169440f2f4a21253",
      "tree": "b136302efccd407ef4ee608de40042bedd0ab660",
      "parents": [
        "3611dfb8eda847c1c8e1a052f57206f7fddc6a7c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 08 18:52:21 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 08 20:36:57 2009 +0200"
      },
      "message": "perf_counter: optimize perf_counter_task_tick()\n\nperf_counter_task_tick() does way too much work to find out\nthere\u0027s nothing to do. Provide an easy short-circuit for the\nnormal case where there are no counters on the system.\n\n[ Impact: micro-optimization ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090508170028.750619201@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "57adc4d2dbf968fdbe516359688094eef4d46581",
      "tree": "69e84c0feb47f0d6b677266d12635f54636528d7",
      "parents": [
        "429aa0fca0df702fc9c81d799175a7d920398827"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed May 06 16:02:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 06 16:36:09 2009 -0700"
      },
      "message": "Eliminate thousands of warnings with gcc 3.2 build\n\nWhen building with gcc 3.2 I get thousands of warnings such as\n\ninclude/linux/gfp.h: In function `allocflags_to_migratetype\u0027:\ninclude/linux/gfp.h:105: warning: null format string\n\ndue to passing a NULL format string to warn_slowpath() in\n\n#define __WARN()\t\twarn_slowpath(__FILE__, __LINE__, NULL)\n\nSplit this case out into a separate call.  This also shrinks the kernel\nslightly:\n\n          text    data     bss     dec     hex filename\n       4802274  707668  712704 6222646  5ef336 vmlinux\n          text    data     bss     dec     hex filename\n       4799027  703572  712704 6215303  5ed687 vmlinux\n\ndue to removeing one argument from the commonly-called __WARN().\n\n[akpm@linux-foundation.org: reduce scope of `empty\u0027]\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "381a80e6df396eaabef2c00f85974a4579ac1c70",
      "tree": "431f7f11302c3e41e1c93c76afd4e116d2464bfd",
      "parents": [
        "fd1e6c1df5c396961509daac2b456852edf982df"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed May 06 16:02:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 06 16:36:09 2009 -0700"
      },
      "message": "inotify: use GFP_NOFS in kernel_event() to work around a lockdep false-positive\n\nThere is what we believe to be a false positive reported by lockdep.\n\ninotify_inode_queue_event() \u003d\u003e take inotify_mutex \u003d\u003e kernel_event() \u003d\u003e\nkmalloc() \u003d\u003e SLOB \u003d\u003e alloc_pages_node() \u003d\u003e page reclaim \u003d\u003e slab reclaim \u003d\u003e\ndcache reclaim \u003d\u003e inotify_inode_is_dead \u003d\u003e take inotify_mutex \u003d\u003e deadlock\n\nThe plan is to fix this via lockdep annotation, but that is proving to be\nquite involved.\n\nThe patch flips the allocation over to GFP_NFS to shut the warning up, for\nthe 2.6.30 release.\n\nHopefully we will fix this for real in 2.6.31.  I\u0027ll queue a patch in -mm\nto switch it back to GFP_KERNEL so we don\u0027t forget.\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: inconsistent lock state ]\n  2.6.30-rc2-next-20090417 #203\n  ---------------------------------\n  inconsistent {RECLAIM_FS-ON-W} -\u003e {IN-RECLAIM_FS-W} usage.\n  kswapd0/380 [HC0[0]:SC0[0]:HE1:SE1] takes:\n   (\u0026inode-\u003einotify_mutex){+.+.?.}, at: [\u003cffffffff8112f1b5\u003e] inotify_inode_is_dead+0x35/0xb0\n  {RECLAIM_FS-ON-W} state was registered at:\n    [\u003cffffffff81079188\u003e] mark_held_locks+0x68/0x90\n    [\u003cffffffff810792a5\u003e] lockdep_trace_alloc+0xf5/0x100\n    [\u003cffffffff810f5261\u003e] __kmalloc_node+0x31/0x1e0\n    [\u003cffffffff81130652\u003e] kernel_event+0xe2/0x190\n    [\u003cffffffff81130826\u003e] inotify_dev_queue_event+0x126/0x230\n    [\u003cffffffff8112f096\u003e] inotify_inode_queue_event+0xc6/0x110\n    [\u003cffffffff8110444d\u003e] vfs_create+0xcd/0x140\n    [\u003cffffffff8110825d\u003e] do_filp_open+0x88d/0xa20\n    [\u003cffffffff810f6b68\u003e] do_sys_open+0x98/0x140\n    [\u003cffffffff810f6c50\u003e] sys_open+0x20/0x30\n    [\u003cffffffff8100c272\u003e] system_call_fastpath+0x16/0x1b\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n  irq event stamp: 690455\n  hardirqs last  enabled at (690455): [\u003cffffffff81564fe4\u003e] _spin_unlock_irqrestore+0x44/0x80\n  hardirqs last disabled at (690454): [\u003cffffffff81565372\u003e] _spin_lock_irqsave+0x32/0xa0\n  softirqs last  enabled at (690178): [\u003cffffffff81052282\u003e] __do_softirq+0x202/0x220\n  softirqs last disabled at (690157): [\u003cffffffff8100d50c\u003e] call_softirq+0x1c/0x50\n\n  other info that might help us debug this:\n  2 locks held by kswapd0/380:\n   #0:  (shrinker_rwsem){++++..}, at: [\u003cffffffff810d0bd7\u003e] shrink_slab+0x37/0x180\n   #1:  (\u0026type-\u003es_umount_key#17){++++..}, at: [\u003cffffffff8110cfbf\u003e] shrink_dcache_memory+0x11f/0x1e0\n\n  stack backtrace:\n  Pid: 380, comm: kswapd0 Not tainted 2.6.30-rc2-next-20090417 #203\n  Call Trace:\n   [\u003cffffffff810789ef\u003e] print_usage_bug+0x19f/0x200\n   [\u003cffffffff81018bff\u003e] ? save_stack_trace+0x2f/0x50\n   [\u003cffffffff81078f0b\u003e] mark_lock+0x4bb/0x6d0\n   [\u003cffffffff810799e0\u003e] ? check_usage_forwards+0x0/0xc0\n   [\u003cffffffff8107b142\u003e] __lock_acquire+0xc62/0x1ae0\n   [\u003cffffffff810f478c\u003e] ? slob_free+0x10c/0x370\n   [\u003cffffffff8107c0a1\u003e] lock_acquire+0xe1/0x120\n   [\u003cffffffff8112f1b5\u003e] ? inotify_inode_is_dead+0x35/0xb0\n   [\u003cffffffff81562d43\u003e] mutex_lock_nested+0x63/0x420\n   [\u003cffffffff8112f1b5\u003e] ? inotify_inode_is_dead+0x35/0xb0\n   [\u003cffffffff8112f1b5\u003e] ? inotify_inode_is_dead+0x35/0xb0\n   [\u003cffffffff81012fe9\u003e] ? sched_clock+0x9/0x10\n   [\u003cffffffff81077165\u003e] ? lock_release_holdtime+0x35/0x1c0\n   [\u003cffffffff8112f1b5\u003e] inotify_inode_is_dead+0x35/0xb0\n   [\u003cffffffff8110c9dc\u003e] dentry_iput+0xbc/0xe0\n   [\u003cffffffff8110cb23\u003e] d_kill+0x33/0x60\n   [\u003cffffffff8110ce23\u003e] __shrink_dcache_sb+0x2d3/0x350\n   [\u003cffffffff8110cffa\u003e] shrink_dcache_memory+0x15a/0x1e0\n   [\u003cffffffff810d0cc5\u003e] shrink_slab+0x125/0x180\n   [\u003cffffffff810d1540\u003e] kswapd+0x560/0x7a0\n   [\u003cffffffff810ce160\u003e] ? isolate_pages_global+0x0/0x2c0\n   [\u003cffffffff81065a30\u003e] ? autoremove_wake_function+0x0/0x40\n   [\u003cffffffff8107953d\u003e] ? trace_hardirqs_on+0xd/0x10\n   [\u003cffffffff810d0fe0\u003e] ? kswapd+0x0/0x7a0\n   [\u003cffffffff8106555b\u003e] kthread+0x5b/0xa0\n   [\u003cffffffff8100d40a\u003e] child_rip+0xa/0x20\n   [\u003cffffffff8100cdd0\u003e] ? restore_args+0x0/0x30\n   [\u003cffffffff81065500\u003e] ? kthread+0x0/0xa0\n   [\u003cffffffff8100d400\u003e] ? child_rip+0x0/0x20\n\n[eparis@redhat.com: fix audit too]\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3611dfb8eda847c1c8e1a052f57206f7fddc6a7c",
      "tree": "74b5d689be8bfca2ec0fe18961ccaf6953c21dba",
      "parents": [
        "16c8a10932aef971292c9570eb5f60b5d4e83ed2",
        "a511e3f968c462a55ef58697257f5347c73d306e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 06 08:46:27 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 06 08:47:26 2009 +0200"
      },
      "message": "Merge branch \u0027core/locking\u0027 into perfcounters/core\n\nMerge reason: we moved a mutex.h commit that originated from the\n              perfcounters tree into core/locking - but now merge\n\t      back that branch to solve a merge artifact and to\n\t      pick up cleanups of this commit that happened in\n\t      core/locking.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "99ee12973e5fd1123ed1779fb4d11ac7d381d430",
      "tree": "6786f9feaf02a979fbcd7943e3ad9bb901133383",
      "parents": [
        "bcb16568275a9bfaa79efdce6816467927f2c406",
        "74a03b69d1b5ce00a568e142ca97e76b7f5239c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:09:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:09:38 2009 -0700"
      },
      "message": "Merge branch \u0027timers/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clockevents: prevent endless loop in tick_handle_periodic()\n"
    },
    {
      "commit": "bcb16568275a9bfaa79efdce6816467927f2c406",
      "tree": "45790b0f37c7d4fd45290b64c4b1f8f576989195",
      "parents": [
        "e858e8b07666e96c7206f3c42d233340156ebf0a",
        "d7226fb6ec5d4f325e4e7fd905894e2ea3eb3ae0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:09:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:09:27 2009 -0700"
      },
      "message": "Merge branch \u0027irq/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  Revert \"genirq: assert that irq handlers are indeed running in hardirq context\"\n"
    },
    {
      "commit": "e858e8b07666e96c7206f3c42d233340156ebf0a",
      "tree": "c03420c9d8d9606d4f8b06bd280646528af8f4b1",
      "parents": [
        "da87bbd14299ef43848742c44dfe05fa1da5a21f",
        "f5f293a4e3d0a0c52cec31de6762c95050156516"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:08:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:08:40 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: account system time properly\n"
    },
    {
      "commit": "da87bbd14299ef43848742c44dfe05fa1da5a21f",
      "tree": "ac28a7cf89fbcad8cc18f71c041c520d216ec091",
      "parents": [
        "e91b3b2681148371d84b9cdf4cab6f9de0522544",
        "6e85c5ba73c07b990798087e9b858c065db2b234"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:08:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:08:20 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  kernel/posix-cpu-timers.c: fix sparse warning\n  dma-debug: remove broken dma memory leak detection for 2.6.30\n  locking: Documentation: lockdep-design.txt, fix note of state bits\n"
    },
    {
      "commit": "e91b3b2681148371d84b9cdf4cab6f9de0522544",
      "tree": "3b14f9abef903f70dbd48540cebb1da041cc01ac",
      "parents": [
        "5e30302b9ee75a01d65d8dcf4085254a5da1066d",
        "33015c85995716d03f6293346cf05a1908b0fb9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:08:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 05 12:08:02 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: x86, mmiotrace: fix range test\n  tracing: fix ref count in splice pages\n"
    },
    {
      "commit": "2023b359214bbc5bad31571cf50d7fb83b535c0a",
      "tree": "991ca078cd79b883cd09da2b349055e136e13a0c",
      "parents": [
        "22c1558e51c210787c6cf75d8905246fc91ec030"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 05 17:50:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 05 20:18:33 2009 +0200"
      },
      "message": "perf_counter: inheritable sample counters\n\nRedirect the output to the parent counter and put in some sanity checks.\n\n[ Impact: new perfcounter feature - inherited sampling counters ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090505155437.331556171@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22c1558e51c210787c6cf75d8905246fc91ec030",
      "tree": "40949ad88dcba74df009437a3270fda4e938cb3f",
      "parents": [
        "c5078f78b455fbf67ea71442c7e7ca8acf9ff095"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 05 17:50:25 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 05 20:18:32 2009 +0200"
      },
      "message": "perf_counter: fix the output lock\n\nUse -1 instead of 0 as unlocked, since 0 is a valid cpu number.\n\n( This is not an issue right now but will be once we allow multiple\n  counters to output to the same mmap area. )\n\n[ Impact: prepare code for multi-counter profile output ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090505155437.232686598@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5078f78b455fbf67ea71442c7e7ca8acf9ff095",
      "tree": "bdd3b699919f2b23faf13177954e82b570653711",
      "parents": [
        "6de6a7b95705b859b61430fa3afa1403034eb3e6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 05 17:50:24 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 05 20:18:32 2009 +0200"
      },
      "message": "perf_counter: provide an mlock threshold\n\nProvide a threshold to relax the mlock accounting, increasing usability.\n\nEach counter gets perf_counter_mlock_kb for free.\n\n[ Impact: allow more mmap buffering ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090505155437.112113632@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6de6a7b95705b859b61430fa3afa1403034eb3e6",
      "tree": "29214ae667a58aa005d0ed13e51c265fa675adf0",
      "parents": [
        "c66de4a5be7913247bd83d79168f8e4420c9cfbc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 05 17:50:23 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 05 20:18:31 2009 +0200"
      },
      "message": "perf_counter: add ioctl(PERF_COUNTER_IOC_RESET)\n\nProvide a way to reset an existing counter - this eases PAPI\nlibraries around perfcounters.\n\nSimilar to read() it doesn\u0027t collapse pending child counters.\n\n[ Impact: new perfcounter fd ioctl method to reset counters ]\n\nSuggested-by: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20090505155437.022272933@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c66de4a5be7913247bd83d79168f8e4420c9cfbc",
      "tree": "c671172166d94be75ad9d6df1fdafa0c006c4609",
      "parents": [
        "066d7dea32c9bffe6decc0abe465627656cdd84e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 05 17:50:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 05 20:18:30 2009 +0200"
      },
      "message": "perf_counter: uncouple data_head updates from wakeups\n\nKeep data_head up-to-date irrespective of notifications. This fixes\nthe case where you disable a counter and don\u0027t get a notification for\nthe last few pending events, and it also allows polling usage.\n\n[ Impact: increase precision of perfcounter mmap-ed fields ]\n\nSuggested-by: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20090505155436.925084300@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1dce8d99b85aba6eddb8b8260baea944922e6fe7",
      "tree": "77afc73743f8eb1c81b652418661b98b1f4b933d",
      "parents": [
        "0d905bca23aca5c86a10ee101bcd3b1abbd40b25"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 04 19:23:18 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 04 19:30:42 2009 +0200"
      },
      "message": "perf_counter: convert perf_resource_mutex to a spinlock\n\nNow percpu counters can be initialized very early. But the init\nsequence uses mutex_lock(). Fortunately, perf_resource_mutex should\nbe a spinlock anyway, so convert it.\n\n[ Impact: fix crash due to early init mutex use ]\n\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0d905bca23aca5c86a10ee101bcd3b1abbd40b25",
      "tree": "5a4e6b956d1923ac1d28ae8b8f3034c1c90df5a5",
      "parents": [
        "ba77813a2a22d631fe5bc0bf1ec0d11350544b70"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 04 19:13:30 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 04 19:30:32 2009 +0200"
      },
      "message": "perf_counter: initialize the per-cpu context earlier\n\npercpu scheduling for perfcounters wants to take the context lock,\nbut that lock first needs to be initialized. Currently it is an\nearly_initcall() - but that is too late, the task tick runs much\nsooner than that.\n\nCall it explicitly from the scheduler init sequence instead.\n\n[ Impact: fix access-before-init crash ]\n\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b82914ce33146186d554b0f5c41e4e13693614ce",
      "tree": "dde12a31830dd4216433d9a6b365c90bccaa1792",
      "parents": [
        "dab6f6a3401f596fe934f41fc5da3f401adfdfb1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 04 18:54:32 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 04 19:29:57 2009 +0200"
      },
      "message": "perf_counter: round-robin per-CPU counters too\n\nThis used to be unstable when we had the rq-\u003elock dependencies,\nbut now that they are that of the past we can turn on percpu\ncounter RR too.\n\n[ Impact: handle counter over-commit for per-CPU counters too ]\n\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e4a5bda89034502fb144331e71a0efdfd5fae97",
      "tree": "89706c956da4b6cddf04d60be736e8a05f3f2679",
      "parents": [
        "8713e01295140f674a41f2199b0f7ca99dfb69d5"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Thu Apr 30 15:08:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 02 15:36:10 2009 -0700"
      },
      "message": "mm: prevent divide error for small values of vm_dirty_bytes\n\nAvoid setting less than two pages for vm_dirty_bytes: this is necessary to\navoid potential division by 0 (like the following) in get_dirty_limits().\n\n[   49.951610] divide error: 0000 [#1] PREEMPT SMP\n[   49.952195] last sysfs file: /sys/devices/pci0000:00/0000:00:01.1/host0/target0:0:0/0:0:0:0/block/sda/uevent\n[   49.952195] CPU 1\n[   49.952195] Modules linked in: pcspkr\n[   49.952195] Pid: 3064, comm: dd Not tainted 2.6.30-rc3 #1\n[   49.952195] RIP: 0010:[\u003cffffffff802d39a9\u003e]  [\u003cffffffff802d39a9\u003e] get_dirty_limits+0xe9/0x2c0\n[   49.952195] RSP: 0018:ffff88001de03a98  EFLAGS: 00010202\n[   49.952195] RAX: 00000000000000c0 RBX: ffff88001de03b80 RCX: 28f5c28f5c28f5c3\n[   49.952195] RDX: 0000000000000000 RSI: 00000000000000c0 RDI: 0000000000000000\n[   49.952195] RBP: ffff88001de03ae8 R08: 0000000000000000 R09: 0000000000000000\n[   49.952195] R10: ffff88001ddda9a0 R11: 0000000000000001 R12: 0000000000000001\n[   49.952195] R13: ffff88001fbc8218 R14: ffff88001de03b70 R15: ffff88001de03b78\n[   49.952195] FS:  00007fe9a435b6f0(0000) GS:ffff8800025d9000(0000) knlGS:0000000000000000\n[   49.952195] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[   49.952195] CR2: 00007fe9a39ab000 CR3: 000000001de38000 CR4: 00000000000006e0\n[   49.952195] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[   49.952195] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[   49.952195] Process dd (pid: 3064, threadinfo ffff88001de02000, task ffff88001ddda250)\n[   49.952195] Stack:\n[   49.952195]  ffff88001fa0de00 ffff88001f2dbd70 ffff88001f9fe800 000080b900000000\n[   49.952195]  00000000000000c0 ffff8800027a6100 0000000000000400 ffff88001fbc8218\n[   49.952195]  0000000000000000 0000000000000600 ffff88001de03bb8 ffffffff802d3ed7\n[   49.952195] Call Trace:\n[   49.952195]  [\u003cffffffff802d3ed7\u003e] balance_dirty_pages_ratelimited_nr+0x1d7/0x3f0\n[   49.952195]  [\u003cffffffff80368f8e\u003e] ? ext3_writeback_write_end+0x9e/0x120\n[   49.952195]  [\u003cffffffff802cc7df\u003e] generic_file_buffered_write+0x12f/0x330\n[   49.952195]  [\u003cffffffff802cce8d\u003e] __generic_file_aio_write_nolock+0x26d/0x460\n[   49.952195]  [\u003cffffffff802cda32\u003e] ? generic_file_aio_write+0x52/0xd0\n[   49.952195]  [\u003cffffffff802cda49\u003e] generic_file_aio_write+0x69/0xd0\n[   49.952195]  [\u003cffffffff80365fa6\u003e] ext3_file_write+0x26/0xc0\n[   49.952195]  [\u003cffffffff803034d1\u003e] do_sync_write+0xf1/0x140\n[   49.952195]  [\u003cffffffff80290d1a\u003e] ? get_lock_stats+0x2a/0x60\n[   49.952195]  [\u003cffffffff80280730\u003e] ? autoremove_wake_function+0x0/0x40\n[   49.952195]  [\u003cffffffff8030411b\u003e] vfs_write+0xcb/0x190\n[   49.952195]  [\u003cffffffff803042d0\u003e] sys_write+0x50/0x90\n[   49.952195]  [\u003cffffffff8022ff6b\u003e] system_call_fastpath+0x16/0x1b\n[   49.952195] Code: 00 00 00 2b 05 09 1c 17 01 48 89 c6 49 0f af f4 48 c1 ee 02 48 89 f0 48 f7 e1 48 89 d6 31 d2 48 c1 ee 02 48 0f af 75 d0 48 89 f0 \u003c48\u003e f7 f7 41 8b 95 ac 01 00 00 48 89 c7 49 0f af d4 48 c1 ea 02\n[   49.952195] RIP  [\u003cffffffff802d39a9\u003e] get_dirty_limits+0xe9/0x2c0\n[   49.952195]  RSP \u003cffff88001de03a98\u003e\n[   50.096523] ---[ end trace 008d7aa02f244d7b ]---\n\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74a03b69d1b5ce00a568e142ca97e76b7f5239c6",
      "tree": "02bdea43ae6d528dcee97c00c3a8651f8841411a",
      "parents": [
        "091438dd5668396328a3419abcbc6591159eb8d1"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri May 01 13:10:25 2009 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 02 10:22:27 2009 +0200"
      },
      "message": "clockevents: prevent endless loop in tick_handle_periodic()\n\ntick_handle_periodic() can lock up hard when a one shot clock event\ndevice is used in combination with jiffies clocksource.\n\nAvoid an endless loop issue by requiring that a highres valid\nclocksource be installed before we call tick_periodic() in a loop when\nusing ONESHOT mode. The result is we will only increment jiffies once\nper interrupt until a continuous hardware clocksource is available.\n\nWithout this, we can run into a endless loop, where each cycle through\nthe loop, jiffies is updated which increments time by tick_period or\nmore (due to clock steering), which can cause the event programming to\nthink the next event was before the newly incremented time and fail\ncausing tick_periodic() to be called again and the whole process loops\nforever.\n\n[ Impact: prevent hard lock up ]\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "d7226fb6ec5d4f325e4e7fd905894e2ea3eb3ae0",
      "tree": "aa5601ffd1103f5ba8662722a0c88cfe1990a301",
      "parents": [
        "091438dd5668396328a3419abcbc6591159eb8d1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 01 15:16:04 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 01 15:16:04 2009 +0200"
      },
      "message": "Revert \"genirq: assert that irq handlers are indeed running in hardirq context\"\n\nThis reverts commit 044d408409cc4e1bc75c886e27ca85c270db104c.\n\nThe commit added a warning when handle_IRQ_event() is called outside\nof hard interrupt context. This breaks the generic tasklet based\ninterrupt resend mechanism which is used when the hardware has no way\nto retrigger the interrupt. So we get a warning for a use case which\nis correct and worked for years. Remove it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c33a0bc4e41ef169d6e807d8abb9502544b518e5",
      "tree": "f7ba55205352cd91a4f86999710008e89932ef10",
      "parents": [
        "3c56999eec7acc105a31b4546c94aad2fb844b13"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 01 12:23:16 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 01 13:23:43 2009 +0200"
      },
      "message": "perf_counter: fix race in perf_output_*\n\nWhen two (or more) contexts output to the same buffer, it is possible\nto observe half written output.\n\nSuppose we have CPU0 doing perf_counter_mmap(), CPU1 doing\nperf_counter_overflow(). If CPU1 does a wakeup and exposes head to\nuser-space, then CPU2 can observe the data CPU0 is still writing.\n\n[ Impact: fix occasionally corrupted profiling records ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090501102533.007821627@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3c56999eec7acc105a31b4546c94aad2fb844b13",
      "tree": "293aef41f1441875323541cbc4f790c291b83679",
      "parents": [
        "bad760089c1ef7fe525c0f268a4078b9cb483903",
        "12d161147f828192b5bcc33166f468a827832767"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 30 21:12:13 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 30 21:16:49 2009 +0200"
      },
      "message": "Merge branch \u0027core/signal\u0027 into perfcounters/core\n\nThis is necessary to avoid the conflict of syscall numbers.\n\nConflicts:\n\tarch/x86/ia32/ia32entry.S\n\tarch/x86/include/asm/unistd_32.h\n\tarch/x86/include/asm/unistd_64.h\n\nFixes up the borked syscall numbers of perfcounters versus\npreadv/pwritev as well.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "62ab4505e3efaf67784f84059e0fb9cedb1728ea",
      "tree": "54da8395eaf30a0386cd71214fbabe94ded229e2",
      "parents": [
        "30b4ae8a4498543863501f707879b7220b649602"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Apr 04 21:01:06 2009 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 30 19:24:24 2009 +0200"
      },
      "message": "signals: implement sys_rt_tgsigqueueinfo\n\nsys_kill has the per thread counterpart sys_tgkill. sigqueueinfo is\nmissing a thread directed counterpart. Such an interface is important\nfor migrating applications from other OSes which have the per thread\ndelivery implemented.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\n"
    },
    {
      "commit": "30b4ae8a4498543863501f707879b7220b649602",
      "tree": "c8207d2f7221b5b89b1e7cb6b896135f0f061f69",
      "parents": [
        "091438dd5668396328a3419abcbc6591159eb8d1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Apr 04 21:01:01 2009 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 30 19:24:23 2009 +0200"
      },
      "message": "signals: split do_tkill\n\nSplit out the code from do_tkill to make it reusable by the follow up\npatch which implements sys_rt_tgsigqueueinfo\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "a511e3f968c462a55ef58697257f5347c73d306e",
      "tree": "7b331c694e0149f4f9e692eaec1726d28cedac8d",
      "parents": [
        "23b94b967f118bef941369238f33c8140be46539"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Apr 29 15:59:58 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 30 09:01:34 2009 +0200"
      },
      "message": "mutex: add atomic_dec_and_mutex_lock(), fix\n\ninclude/linux/mutex.h:136: warning: \u0027mutex_lock\u0027 declared inline after being called\n include/linux/mutex.h:136: warning: previous declaration of \u0027mutex_lock\u0027 was here\n\nuninline it.\n\n[ Impact: clean up and uninline, address compiler warning ]\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c200904292318.n3TNIsi6028340@imap1.linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5dd016cdf0a040e1de0b691e274fbfe642b2cdc",
      "tree": "db68fb2fec040fa2862f5b01da6158ec2e12151c",
      "parents": [
        "43f6201a22dbf1c5abe1cab96b49bd56fa9df8f4"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu Apr 30 09:48:16 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 30 08:23:11 2009 +0200"
      },
      "message": "perf_counter: update copyright notice\n\nThis adds my name to the list of copyright holders on the core\nperf_counter.c, since I have contributed a significant amount of the\ncode in there.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nLKML-Reference: \u003c18936.59200.888049.746658@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6e85c5ba73c07b990798087e9b858c065db2b234",
      "tree": "d3cfcdd1f8d779f65035a0f610ed13bda9b96d68",
      "parents": [
        "314eeac9e35d8b934dd7a09ed3a8e00d41977b84"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Wed Apr 29 19:14:32 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 30 08:08:31 2009 +0200"
      },
      "message": "kernel/posix-cpu-timers.c: fix sparse warning\n\nSparse reports the following in kernel/posix-cpu-timers.c:\n\n  warning: symbol \u0027firing\u0027 shadows an earlier one\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Subrata Modak \u003csubrata@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003cBD79186B4FD85F4B8E60E381CAEE1909016C1AFE@mi8nycmail19.Mi8.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "23b94b967f118bef941369238f33c8140be46539",
      "tree": "832e34bdd5d811a53132b307a0cff30f9c339464",
      "parents": [
        "b1fca26631f76a5e8b18435a43f5d82b8734da4b"
      ],
      "author": {
        "name": "Luis Henriques",
        "email": "henrix@sapo.pt",
        "time": "Wed Apr 29 21:54:51 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 23:20:17 2009 +0200"
      },
      "message": "locking, rtmutex.c: Documentation cleanup\n\nTwo minor updates on functions documentation:\n - Updated documentation for function rt_mutex_unlock(), which contained an\n   incorrect name\n - Removed extra \u0027*\u0027 from comment in function rt_mutex_destroy()\n\n[ Impact: cleanup ]\n\nSigned-off-by: Luis Henriques \u003chenrix@sapo.pt\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20090429205451.GA23154@hades.domain.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f5f293a4e3d0a0c52cec31de6762c95050156516",
      "tree": "b9dad5f4b1e834e414e825345b32fadd1ed6c01a",
      "parents": [
        "56a50adda49b2020156616c4eb15353e0f9ad7de"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Apr 29 14:44:49 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 15:02:28 2009 +0200"
      },
      "message": "sched: account system time properly\n\nAndrew Gallatin reported that IRQ and SOFTIRQ times were\nsometime not reported correctly on recent kernels, and even\nbisected to commit 457533a7d3402d1d91fbc125c8bd1bd16dcd3cd4\n([PATCH] fix scaled \u0026 unscaled cputime accounting) as the first\nbad commit.\n\nFurther analysis pointed that commit\n79741dd35713ff4f6fd0eafd59fa94e8a4ba922d ([PATCH] idle cputime\naccounting) was the real cause of the problem.\n\naccount_process_tick() was not taking into account timer IRQ\ninterrupting the idle task servicing a hard or soft irq.\n\nOn mostly idle cpu, irqs were thus not accounted and top or\nmpstat could tell user/admin that cpu was 100 % idle, 0.00 %\nirq, 0.00 % softirq, while it was not.\n\n[ Impact: fix occasionally incorrect CPU statistics in top/mpstat ]\n\nReported-by: Andrew Gallatin \u003cgallatin@myri.com\u003e\nRe-reported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: rick.jones2@hp.com\nCc: brice@myri.com\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nLKML-Reference: \u003c49F84BC1.7080602@cosmosbay.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "98144511427c192e4249ff66a3f9debc55c59411",
      "tree": "2e31731dbcf489f703d00312eb041638b1d494a4",
      "parents": [
        "38105f0234d4795c77c7c6845916caf3a395c451"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 14:52:50 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 14:52:50 2009 +0200"
      },
      "message": "perf_counter: add/update copyrights\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4aeb0b4239bb3b67ed402cb9cef3e000c892cadf",
      "tree": "0a025a30fa5de3b40ab1ea156a3f86ee2d000839",
      "parents": [
        "527e26af3741a2168986d8b82653ffe173891324"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Apr 29 12:47:03 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 14:51:03 2009 +0200"
      },
      "message": "perfcounters: rename struct hw_perf_counter_ops into struct pmu\n\nThis patch renames struct hw_perf_counter_ops into struct pmu. It\nintroduces a structure to describe a cpu specific pmu (performance\nmonitoring unit). It may contain ops and data. The new name of the\nstructure fits better, is shorter, and thus better to handle. Where it\nwas appropriate, names of function and variable have been changed too.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1241002046-8832-7-git-send-email-robert.richter@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e7fd5d4b3d240f42c30a9e3d20a4689c4d3a795a",
      "tree": "4ba588631dd8189a818a91c9e3976526071178b6",
      "parents": [
        "1130b0296184bc21806225fd06d533515a99d2db",
        "56a50adda49b2020156616c4eb15353e0f9ad7de"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 14:46:59 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 14:47:05 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perfcounters/core\n\nMerge reason: This brach was on -rc1, refresh it to almost-rc4 to pick up\n              the latest upstream fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7267fa6819467669f5cc2ba81a615dcc88158b4b",
      "tree": "281e3c2b9765c24364280f02fd9f9aa387c8aa6f",
      "parents": [
        "091069740304c979f957ceacec39c461d0192158"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 29 00:16:21 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 08:02:44 2009 +0200"
      },
      "message": "tracing: fix ref count in splice pages\n\nThe pages allocated for the splice binary buffer did not initialize\nthe ref count correctly. This caused pages not to be freed and causes\na drastic memory leak.\n\nThanks to logdev I was able to trace the tracer to find where the leak\nwas.\n\n[ Impact: stop memory leak when using splice ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "51b3960e78575f96c989d08421596bb6ab569f44",
      "tree": "fa6ec27c8fb2a2f9cfd278193a01a6b51d1a77b5",
      "parents": [
        "f70616acacd956aaa819fd2e3a0d0152f1bc812b",
        "cad81bc2529ab8c62b6fdc83a1c0c7f4a87209eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 27 08:38:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 27 08:38:51 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  ptrace: ptrace_attach: fix the usage of -\u003ecred_exec_mutex\n"
    },
    {
      "commit": "cad81bc2529ab8c62b6fdc83a1c0c7f4a87209eb",
      "tree": "8d056ddb9db3db5eeba6a6fb629efe2c05b67ea0",
      "parents": [
        "ce8a7424d23a36f043d0de8484f888971c831119"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Apr 27 01:41:34 2009 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Apr 27 20:30:51 2009 +1000"
      },
      "message": "ptrace: ptrace_attach: fix the usage of -\u003ecred_exec_mutex\n\nptrace_attach() needs task-\u003ecred_exec_mutex, not current-\u003ecred_exec_mutex.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "fc2e3180a714d3125fc883541c0cd5936c99ba34",
      "tree": "c4e590a6ee64b1afb4ece1f7dee41a405849df2e",
      "parents": [
        "1e4b978154c8cb6cdadd1988c597ef20f837679e",
        "ca713c2ab0eea3458962983e4a7e13430ea479b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 10:29:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 10:29:18 2009 -0700"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86/irq: mark NUMA_MIGRATE_IRQ_DESC broken\n  x86, irq: Remove IRQ_DISABLED check in process context IRQ move\n"
    },
    {
      "commit": "1e4b978154c8cb6cdadd1988c597ef20f837679e",
      "tree": "67c33602bb3125c3957a441fa912044f55ccfc57",
      "parents": [
        "ce8a7424d23a36f043d0de8484f888971c831119",
        "b48ccb095a0c9257241261ec2bd1cbb1bdabc48b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 10:29:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 26 10:29:01 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  locking: clarify kernel-taint warning message\n  lockdep, x86: account for irqs enabled in paranoid_exit\n  lockdep: more robust lockdep_map init sequence\n"
    },
    {
      "commit": "0c8454f56623505a99463405fd7d5664adfbb094",
      "tree": "64e594f2846d997213890b59168307d12e676ff0",
      "parents": [
        "4b2b0b9753194cad44d7295c32044b89710efd70"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Apr 25 00:16:06 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 15:31:30 2009 -0700"
      },
      "message": "PM/Hibernate: Fix waiting for image device to appear on resume\n\nCommit c751085943362143f84346d274e0011419c84202 (\"PM/Hibernate: Wait for\nSCSI devices scan to complete during resume\") added a call to\nscsi_complete_async_scans() to software_resume(), so that it waited for\nthe SCSI scanning to complete, but the call was added at a wrong place.\n\nNamely, it should have been added after wait_for_device_probe(), which\nis called only if the image partition hasn\u0027t been specified yet.  Also,\nit\u0027s reasonable to check if the image partition is present and only wait\nfor the device probing and SCSI scanning to complete if it is not the\ncase.\n\nAdditionally, since noresume is checked right at the beginning of\nsoftware_resume() and the function returns immediately if it\u0027s set, it\ndoesn\u0027t make sense to check it once again later.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "418df63c2d94f238ac7e1d1d53be35dd6b7a7252",
      "tree": "d9ab346ae46a45a4bff12fe7dbc615b7469d17a5",
      "parents": [
        "3e241ff0c57cb610301009fe8c3b9da4c6877800"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Wed Apr 22 12:01:49 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:47:59 2009 -0700"
      },
      "message": "Delete slow-work timers properly\n\nSlow-work appears to delete its timer as soon as the first user\nunregisters, even though other users could be active.  At the same time, it\nnever seems to delete slow_work_oom_timer.  Arrange for both to happen in\nthe shutdown path.\n\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b48ccb095a0c9257241261ec2bd1cbb1bdabc48b",
      "tree": "09afbd51d935473674d8662358c992b65803d73c",
      "parents": [
        "0300e7f1a525ae4e4ac05344624adf0e5f13ea52"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 23 09:36:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 23 09:36:52 2009 +0200"
      },
      "message": "locking: clarify kernel-taint warning message\n\nAndi Kleen reported this message triggering on non-lockdep kernels:\n\n   Disabling lockdep due to kernel taint\n\nClarify the message to say \u0027lock debugging\u0027 - debug_locks_off()\nturns off all things lock debugging, not just lockdep.\n\n[ Impact: change kernel warning message text ]\n\nReported-by: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4614e6adafa2c5e6c3a9c245af2807fa7bc5117a",
      "tree": "e4bb5eeaa252ede053abc6b3c4d15c4127ce7a32",
      "parents": [
        "8e19608e8b5c001e4a66ce482edc474f05fb7355"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Tue Apr 21 12:24:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:47 2009 -0700"
      },
      "message": "clocksource: add enable() and disable() callbacks\n\nAdd enable() and disable() callbacks for clocksources.\n\nThis allows us to put unused clocksources in power save mode.  The\nfunctions clocksource_enable() and clocksource_disable() wrap the\ncallbacks and are inserted in the timekeeping code to enable before use\nand disable after switching to a new clocksource.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e19608e8b5c001e4a66ce482edc474f05fb7355",
      "tree": "06af4be339136da7476396604c30112238d84339",
      "parents": [
        "ff14ed5db6e7e5e5dc23712d3c877891d4d9a1a8"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Tue Apr 21 12:24:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:47 2009 -0700"
      },
      "message": "clocksource: pass clocksource to read() callback\n\nPass clocksource pointer to the read() callback for clocksources.  This\nallows us to share the callback between multiple instances.\n\n[hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24b6f16ecf37f918a1934d590e9e71c100d6388f",
      "tree": "14ea0e7f399c1608d0401e87655cc9332a3b9f33",
      "parents": [
        "1644ccc8a99ae73859c39372f96afdbf03c9f80d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 18 03:25:41 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:15 2009 -0400"
      },
      "message": "No need for crossing to mountpoint in audit_tag_tree()\n\nis_under() will DTRT anyway.  And yes, is_subdir() behaviour\nis intentional.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f1f9b3b1795da8625e0e6096813c9d18d4a344ce",
      "tree": "5b5b8a9bc5e8b92962708282484a01d86a2027e2",
      "parents": [
        "125e702b09a28a502e145fb434678ee27720fc48"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 20 20:38:21 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 20 20:38:21 2009 +0200"
      },
      "message": "perfcounters, sched: remove __task_delta_exec()\n\nThis function was left orphan by the latest round of sw-counter\ncleanups.\n\n[ Impact: remove unused kernel function ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6a7c7eaf71b636f197d73b381a2ab729ebdcfb2e",
      "tree": "73c642bff623c2f1a87f6c353b21e3484bd9e899",
      "parents": [
        "ff54250a0ebab7f90a5f848a0ba63f999830c872"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Apr 19 20:08:42 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Apr 19 20:08:42 2009 +0200"
      },
      "message": "PM/Suspend: Introduce two new platform callbacks to avoid breakage\n\nCommit 900af0d973856d6feb6fc088c2d0d3fde57707d3 (PM: Change suspend\ncode ordering) changed the ordering of suspend code in such a way\nthat the platform .prepare() callback is now executed after the\ndevice drivers\u0027 late suspend callbacks have run.  Unfortunately, this\nturns out to break ARM platforms that need to talk via I2C to power\ncontrol devices during the .prepare() callback.\n\nFor this reason introduce two new platform suspend callbacks,\n.prepare_late() and .wake(), that will be called just prior to\ndisabling non-boot CPUs and right after bringing them back on line,\nrespectively, and use them instead of .prepare() and .finish() for\nACPI suspend.  Make the PM core execute the .prepare() and .finish()\nplatform suspend callbacks where they were executed previously (that\nis, right after calling the regular suspend methods provided by\ndevice drivers and right before executing their regular resume\nmethods, respectively).\n\nIt is not necessary to make analogous changes to the hibernation\ncode and data structures at the moment, because they are only used\nby ACPI platforms.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "ff54250a0ebab7f90a5f848a0ba63f999830c872",
      "tree": "09a93c03def4a2ace3fef25f4d6fa48ef2f5629c",
      "parents": [
        "8d4ab5daca4b3bf9c9166908db0c436722d52e77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 21:44:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 21:44:24 2009 -0700"
      },
      "message": "Remove \u0027recurse into child resources\u0027 logic from \u0027reserve_region_with_split()\u0027\n\nThis function is not actually used right now, since the original use\ncase for it was done with insert_resource_expand_to_fit() instead.\n\nHowever, we now have another usage case that wants to basically do a\n\"reserve IO resource, splitting around existing resources\", however that\none doesn\u0027t actually want the \"recurse into the conflicting resource\"\nlogic at all.\n\nAnd since recursing into the conflicting resource was the most complex\npart, and isn\u0027t wanted, just remove it.  Maybe we\u0027ll some day want both\nversions, but we can just resurrect the logic then.\n\nTested-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c8a250058656495be02c00de61e26b017c86ef00",
      "tree": "d192a7a21deb47146654ab4dc3c824f0cfd5808a",
      "parents": [
        "79d381c9f2354b594dcab9b04dfcc0debf7294fe"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Apr 17 09:40:49 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 18:00:00 2009 +0200"
      },
      "message": "lockdep: more robust lockdep_map init sequence\n\nSteven Rostedt reported:\n\n\u003e OK, I think I figured this bug out. This is a lockdep issue with respect\n\u003e to tracepoints.\n\u003e\n\u003e The trace points in lockdep are called all the time. Outside the lockdep\n\u003e logic. But if lockdep were to trigger an error / warning (which this run\n\u003e did) we might be in trouble. For new locks, like the dentry-\u003ed_lock, that\n\u003e are created, they will not get a name:\n\u003e\n\u003e void lockdep_init_map(struct lockdep_map *lock, const char *name,\n\u003e                       struct lock_class_key *key, int subclass)\n\u003e {\n\u003e         if (unlikely(!debug_locks))\n\u003e                 return;\n\u003e\n\u003e When a problem is found by lockdep, debug_locks becomes false. Thus we\n\u003e stop allocating names for locks. This dentry-\u003ed_lock I had, now has no\n\u003e name. Worse yet, I have CONFIG_DEBUG_VM set, that scrambles non\n\u003e initialized memory. Thus, when the trace point was hit, it had junk for\n\u003e the lock-\u003ename, and the machine crashed.\n\nAh, nice catch. I think we should put at least the name in regardless.\n\nEnsure we at least initialize the trivial entries of the depmap so that\nthey can be relied upon, even when lockdep itself decided to pack up and\ngo home.\n\n[ Impact: fix lock tracing after lockdep warnings. ]\n\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1239954049.23397.4156.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f76208c33984ab777eace5d07a4e36e88703e02",
      "tree": "2a73304a846ab41ee5366deb6ea511af7ebfbec1",
      "parents": [
        "d06be221504189f38950111c214802ada0eb1b71",
        "557055bebe9212dfa6b9f5df811dfd0dac77ec55"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 18:17:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 18:17:22 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Fix branch tracer header\n  tracing: Fix power tracer header\n"
    },
    {
      "commit": "d06be221504189f38950111c214802ada0eb1b71",
      "tree": "bee2ed72066d8f517d86c2280cb450f249e0f12d",
      "parents": [
        "4d831f53ddd5c0117ff40f841cf330c78d242e82",
        "381512cf3d27f63f7a45b1bbe7d2d609c2ea3b74"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 18:16:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 18:16:29 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Avoid printing sched_group::__cpu_power for default case\n  tracing, sched: mark get_parent_ip() notrace\n"
    },
    {
      "commit": "4d831f53ddd5c0117ff40f841cf330c78d242e82",
      "tree": "29bca9f045f22af41a7a059afba85f5eb74ab267",
      "parents": [
        "20d9207849d5abe60461841b3c3724f6e7c9d33e",
        "79d381c9f2354b594dcab9b04dfcc0debf7294fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 17:56:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 17:56:39 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  kernel/softirq.c: fix sparse warning\n  rcu: Make hierarchical RCU less IPI-happy\n"
    },
    {
      "commit": "79d381c9f2354b594dcab9b04dfcc0debf7294fe",
      "tree": "e3b9264b52c443bfa7508850e1ca0c17271a1779",
      "parents": [
        "ef631b0ca01655d24e9ca7e199262c4a46416a26"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Thu Apr 16 19:30:18 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 01:57:54 2009 +0200"
      },
      "message": "kernel/softirq.c: fix sparse warning\n\nFix sparse warning in kernel/softirq.c.\n\n  warning: do-while statement is not a compound statement\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nLKML-Reference: \u003cBD79186B4FD85F4B8E60E381CAEE1909015F9033@mi8nycmail19.Mi8.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "381512cf3d27f63f7a45b1bbe7d2d609c2ea3b74",
      "tree": "f401d1c8d3cc859d10f2c05485cc79c8fd9e3fbf",
      "parents": [
        "132380a06b24704fd6c9be55c44d4ef3972cead2"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Tue Apr 14 09:09:36 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 17 00:46:05 2009 +0200"
      },
      "message": "sched: Avoid printing sched_group::__cpu_power for default case\n\nCommit 46e0bb9c12f4 (\"sched: Print sched_group::__cpu_power\nin sched_domain_debug\") produces a messy dmesg output while\nattempting to print the sched_group::__cpu_power for each\ngroup in the sched_domain hierarchy.\n\nFix this by avoid printing the __cpu_power for default cases.\n(i.e, __cpu_power \u003d\u003d SCHED_LOAD_SCALE).\n\n[ Impact: reduce syslog clutter ]\n\nReported-by: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nFixed-by: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: a.p.zijlstra@chello.nl\nLKML-Reference: \u003c20090414033936.GA534@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ff7b1b4f000cea84f071c1b6aa2918b2119d66f1",
      "tree": "ef380411dc3b818e9e16d0bd7e83a57c1cf6c154",
      "parents": [
        "0f3fd87ce43727d6b8573191ce89e874533b1429"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 15 16:55:05 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 16 01:10:04 2009 +0200"
      },
      "message": "perfcounters: export perf_tpcounter_event\n\nNeeded for modular tracepoint support.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5b1d07ed0e5b2707f786957c7a40eb2f399c84a8",
      "tree": "3cfb5d2004dd9858ef9d4d08f6cdc42b886354fb",
      "parents": [
        "da60682c116855cf342926b4f3427079400ee7e6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Apr 15 19:35:01 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 15 13:55:14 2009 -0700"
      },
      "message": "RCU: Don\u0027t try and predeclare inline funcs as it upsets some versions of gcc\n\nDon\u0027t try and predeclare inline funcs like this:\n\n\tstatic inline void wait_migrated_callbacks(void)\n\t...\n\tstatic void _rcu_barrier(enum rcu_barrier type)\n\t{\n\t\t...\n\t\twait_migrated_callbacks();\n\t}\n\t...\n\tstatic inline void wait_migrated_callbacks(void)\n\t{\n\t\twait_event(rcu_migrate_wq, !atomic_read(\u0026rcu_migrate_type_count));\n\t}\n\nas it upsets some versions of gcc under some circumstances:\n\n\tkernel/rcupdate.c: In function `_rcu_barrier\u0027:\n\tkernel/rcupdate.c:125: sorry, unimplemented: inlining failed in call to \u0027wait_migrated_callbacks\u0027: function body not available\n\tkernel/rcupdate.c:152: sorry, unimplemented: called from here\n\nThis can be dealt with by simply putting the static variables (rcu_migrate_*)\nat the top, and moving the implementation of the function up so that it\nreplaces its forward declaration.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "297dbf50d7ab0539cf9cf7f2a66918665a18e45e"
}
