)]}'
{
  "log": [
    {
      "commit": "128f048f0f0d2a477ad2555e7acd2ad15a1b6061",
      "tree": "5927a26da343af2189e47b497eec38680f19294f",
      "parents": [
        "233f0b95ca3a0d1dcbd70bc7e519069a8e10d23e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 03 22:19:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 03 23:39:51 2009 +0200"
      },
      "message": "perf_counter: Fix throttling lock-up\n\nThrottling logic is broken and we can lock up with too small\nhw sampling intervals.\n\nMake the throttling code more robust: disable counters even\nif we already disabled them.\n\n( Also clean up whitespace damage i noticed while reading\n  various pieces of code related to throttling. )\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\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a96bbc16418bc691317f265d6bf98ba941ca9c1a",
      "tree": "136e40a12a94653e8224d6c09d5384b4140e0532",
      "parents": [
        "8229289b607682f90b946ad2c319526303c17700"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 03 14:01:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 03 14:57:03 2009 +0200"
      },
      "message": "perf_counter: Fix race in counter initialization\n\nWe need the PID namespace and counter ID available when the\ncounter overflows and we need to generate a sample event.\n\n[ Impact: fix kernel crash with high-frequency sampling ]\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: 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\n[ fixed a further crash and cleaned up the initialization a bit ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "226f62fdd53d5b2c74e242aa11f6ad43d0285d3f",
      "tree": "bfe54a45e7fe85520c0675c2f8e90b7704aad4ff",
      "parents": [
        "dcd945e0d8a6d654e3e1de51faea9f98f1504aa5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 03 11:23:56 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 03 14:14:30 2009 +0200"
      },
      "message": "perf_counter: Add a comm hook for pure fork()s\n\nI noticed missing COMM events and found that we missed\nreporting them for pure forks.\n\nSigned-off-by: 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": "0d48696f87e3618b0d35bd3e4e9d7c188d51e7de",
      "tree": "633d37089c368c0cc2c4f8120014d57df215bb53",
      "parents": [
        "08247e31ca79b8f02cce47b7e8120797a8726606"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 19:22:16 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:33 2009 +0200"
      },
      "message": "perf_counter: Rename perf_counter_hw_event \u003d\u003e perf_counter_attr\n\nThe structure isn\u0027t hw only and when I read event, I think about those\nthings that fall out the other end. Rename the thing.\n\nSigned-off-by: 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\nCc: Stephane Eranian \u003ceranian@googlemail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08247e31ca79b8f02cce47b7e8120797a8726606",
      "tree": "1094dc286ba5033904d07d256f7d739abb4d421d",
      "parents": [
        "8e3747c13c39246c7e46def7cf495d9d21d4c5f9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 16:46:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:32 2009 +0200"
      },
      "message": "perf_counter: Add ioctl for changing the sample period/frequency\n\nReported-by: Stephane Eranian \u003ceranian@googlemail.com\u003e\nSigned-off-by: 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": "8e3747c13c39246c7e46def7cf495d9d21d4c5f9",
      "tree": "6a57736dd784947dbd40b75674effcb63e6696a1",
      "parents": [
        "e4abb5d4f7ddabc1fc7c392cf0a10d8e5868c9ca"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 16:16:02 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:32 2009 +0200"
      },
      "message": "perf_counter: Change data head from u32 to u64\n\nSince some people worried that 4G might not be a large enough\nas an mmap data window, extend it to 64 bit for capable\nplatforms.\n\nReported-by: Stephane Eranian \u003ceranian@googlemail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b23f3325ed465f1bd914384884269af0d106778c",
      "tree": "7b263c707e50463f1e1defc60d371b09e352a21a",
      "parents": [
        "8e5799b1ad2a0567fdfaaf0e91b40efee010f2c1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 15:13:03 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:30 2009 +0200"
      },
      "message": "perf_counter: Rename various fields\n\nA few renames:\n\n  s/irq_period/sample_period/\n  s/irq_freq/sample_freq/\n  s/PERF_RECORD_/PERF_SAMPLE_/\n  s/record_type/sample_type/\n\nAnd change both the new sample_type and read_format to u64.\n\nReported-by: Stephane Eranian \u003ceranian@googlemail.com\u003e\nSigned-off-by: 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": "8e5799b1ad2a0567fdfaaf0e91b40efee010f2c1",
      "tree": "bd3f45c348f48411a4496229572643211cbd59b8",
      "parents": [
        "53e111a730ea8b002d57dd226098c12789993329"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 15:08:15 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:29 2009 +0200"
      },
      "message": "perf_counter: Add unique counter id\n\nStephan raised the issue that we currently cannot distinguish between\nsimilar counters within a group (PERF_RECORD_GROUP uses the config\nvalue as identifier).\n\nTherefore, generate a new ID for each counter using a global u64\nsequence counter.\n\nReported-by: Stephane Eranian \u003ceranian@googlemail.com\u003e\nSigned-off-by: 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": "709e50cf870e61745b39552044aa6c7c38e4f9e0",
      "tree": "b02ec75a1d67a904effedd39208ecbbcf46b9345",
      "parents": [
        "bf4e0ed3d027ce581be18496036862131b5f32aa"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 14:13:15 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 16:16:25 2009 +0200"
      },
      "message": "perf_counter: Use PID namespaces properly\n\nStop using task_struct::pid and start using PID namespaces.\n\nPIDs will be reported in the PID namespace of the monitoring\ntask at the moment of counter creation.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\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": "bf4e0ed3d027ce581be18496036862131b5f32aa",
      "tree": "f55e5c85b286b3ace8b81f3ffc7e48590f4a7020",
      "parents": [
        "3f731ca60afc29f5bcdb5fd2a04391466313a9ac"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jun 01 17:53:16 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 13:10:55 2009 +0200"
      },
      "message": "perf_counter: Remove unused prev_state field\n\nThis removes the prev_state field of struct perf_counter since\nit is now unused.  It was only used by the cpu migration\ncounter, which doesn\u0027t use it any more.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: 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: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c18979.35052.915728.626374@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f731ca60afc29f5bcdb5fd2a04391466313a9ac",
      "tree": "ca9953e902e5043f62f56db31a0e990eed755e78",
      "parents": [
        "f38b082081bf69a06fffb8b32a175999e2320c5b"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jun 01 17:52:30 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 13:10:54 2009 +0200"
      },
      "message": "perf_counter: Fix cpu migration counter\n\nThis fixes the cpu migration software counter to count\ncorrectly even when contexts get swapped from one task to\nanother.  Previously the cpu migration counts reported by perf\nstat were bogus, ranging from negative to several thousand for\na single \"lat_ctx 2 8 32\" run.  With this patch the cpu\nmigration count reported for \"lat_ctx 2 8 32\" is almost always\nbetween 35 and 44.\n\nThis fixes the problem by adding a call into the perf_counter\ncode from set_task_cpu when tasks are migrated.  This enables\nus to use the generic swcounter code (with some modifications)\nfor the cpu migration counter.\n\nThis modifies the swcounter code to allow a NULL regs pointer\nto be passed in to perf_swcounter_ctx_event() etc.  The cpu\nmigration counter does this because there isn\u0027t necessarily a\npt_regs struct for the task available.  In this case, the\ncounter will not have interrupt capability - but the migration\ncounter didn\u0027t have interrupt capability before, so this is no\nloss.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\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: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c18979.35006.819769.416327@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f38b082081bf69a06fffb8b32a175999e2320c5b",
      "tree": "08a26857c77b11a97871b3e1e06ec588033f7cf3",
      "parents": [
        "10a2825514a988225ac2e336c7a9502c4ca57c39"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Jun 02 21:05:16 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 13:10:54 2009 +0200"
      },
      "message": "perf_counter: Initialize per-cpu context earlier on cpu up\n\nThis arranges for perf_counter\u0027s notifier for cpu hotplug\noperations to be called earlier than the migration notifier in\nsched.c by increasing its priority to 20, compared to the 10\nfor the migration notifier.  The reason for doing this is that\na subsequent commit to convert the cpu migration counter to use\nthe generic swcounter infrastructure will add a call into the\nperf_counter subsystem when tasks get migrated.  Therefore the\nperf_counter subsystem needs a chance to initialize its per-cpu\ndata for the new cpu before it can get called from the\nmigration code.\n\nThis also adds a comment to the migration notifier noting that\nits priority needs to be lower than that of the perf_counter\nnotifier.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c18981.1900.792795.836858@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22a4f650d686eeaac3629dae1c4294381485efdf",
      "tree": "964ba53aa2a26f12cf5ea7b70e5772abeeb24d95",
      "parents": [
        "880ca15adf2392770a68047e7a98e076ff4d21da"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 01 10:13:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 01 19:55:32 2009 +0200"
      },
      "message": "perf_counter: Tidy up style details\n\n - whitespace fixlets\n - make local variable definitions more consistent\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": "880ca15adf2392770a68047e7a98e076ff4d21da",
      "tree": "a1707991a13651bcefb5d92a2ddee9b3470552d9",
      "parents": [
        "25346b93ca079080c9cb23331db5c4f6404e8530"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jun 01 17:49:14 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 01 10:04:06 2009 +0200"
      },
      "message": "perf_counter: Allow software counters to count while task is not running\n\nThis changes perf_swcounter_match() so that per-task software\ncounters can count events that occur while their associated\ntask is not running.  This will allow us to use the generic\nsoftware counter code for counting task migrations, which can\noccur while the task is not scheduled in.\n\nTo do this, we have to distinguish between the situations where\nthe counter is inactive because its task has been scheduled\nout, and those where the counter is inactive because it is part\nof a group that was not able to go on the PMU.  In the former\ncase we want the counter to count, but not in the latter case.\nIf the context is active, we have the latter case.  If the\ncontext is inactive then we need to know whether the counter\nwas counting when the context was last active, which we can\ndetermine by comparing its -\u003etstamp_stopped timestamp with the\ncontext\u0027s timestamp.\n\nThis also folds three checks in perf_swcounter_match, checking\nperf_event_raw(), perf_event_type() and perf_event_id()\nindividually, into a single 64-bit comparison on\ncounter-\u003ehw_event.config, as an optimization.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: 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: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c18979.34810.259718.955621@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "25346b93ca079080c9cb23331db5c4f6404e8530",
      "tree": "a444ca96e0c7e32d6c573e680d9365a808f48bfb",
      "parents": [
        "23db9f430be9325a861c7762c1ffadad9ca528a8"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jun 01 17:48:12 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 01 10:04:05 2009 +0200"
      },
      "message": "perf_counter: Provide functions for locking and pinning the context for a task\n\nThis abstracts out the code for locking the context associated\nwith a task.  Because the context might get transferred from\none task to another concurrently, we have to check after\nlocking the context that it is still the right context for the\ntask and retry if not.  This was open-coded in\nfind_get_context() and perf_counter_init_task().\n\nThis adds a further function for pinning the context for a\ntask, i.e. marking it so it can\u0027t be transferred to another\ntask.  This adds a \u0027pin_count\u0027 field to struct\nperf_counter_context to indicate that a context is pinned,\ninstead of the previous method of setting the parent_gen count\nto all 1s.  Pinning the context with a pin_count is easier to\nundo and doesn\u0027t require saving the parent_gen value.  This\nalso adds a perf_unpin_context() to undo the effect of\nperf_pin_task_context() and changes perf_counter_init_task to\nuse it.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: 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: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c18979.34748.755674.596386@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "23db9f430be9325a861c7762c1ffadad9ca528a8",
      "tree": "1ebb681611c96f17aa4f96e28d6923824a8b210f",
      "parents": [
        "27b9613b7be39412775d0ab80f57229aa73bb07d",
        "3218911f839b6c85acbf872ad264ea69aa4d89ad"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 01 10:01:03 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 01 10:01:39 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perfcounters/core\n\nMerge reason: merge almost-rc8 into perfcounters/core, which was -rc6\n              based - to pick up the latest upstream fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bbbee90829304d156c12b171c0ac7e6e1aba8b90",
      "tree": "ec0a1a8c69a5c909a57227915734d1e55678eb5c",
      "parents": [
        "665c2142a94202881a3c11cbaee6506cb10ada2d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 29 14:25:58 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 16:21:52 2009 +0200"
      },
      "message": "perf_counter: Ammend cleanup in fork() fail\n\nWhen fork() fails we cannot use perf_counter_exit_task() since that\nassumes to operate on current. Write a new helper that cleans up\nunused/clean contexts.\n\nSigned-off-by: 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: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "665c2142a94202881a3c11cbaee6506cb10ada2d",
      "tree": "14a518bf3afe81e7300a822e9b6f55980ff89d46",
      "parents": [
        "efb3d17240d80e27508d238809168120fe4b93a4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 29 14:51:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 16:21:51 2009 +0200"
      },
      "message": "perf_counter: Clean up task_ctx vs interrupts\n\nRemove the local_irq_save() etc.. in routines that are smp function\ncalls, or have IRQs disabled by other means.\n\nThen change the COMM, MMAP, and swcounter context iteration to\ncurrent-\u003eperf_counter_ctxp and RCU, since it really doesn\u0027t matter\nwhich context they iterate, they\u0027re all folded.\n\nSigned-off-by: 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: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efb3d17240d80e27508d238809168120fe4b93a4",
      "tree": "09c079a4ee4bfa531735b70691b8ab4d06d34e9b",
      "parents": [
        "012b84dae17126d8b5d159173091eb3db5a2bc43"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 29 14:25:58 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 16:21:51 2009 +0200"
      },
      "message": "perf_counter: Fix COMM and MMAP events for cpu wide counters\n\nCommit a63eaf34ae6 (\"perf_counter: Dynamically allocate tasks\u0027\nperf_counter_context struct\") broke COMM and MMAP notification for\ncpu wide counters by dropping out early if there was no task context,\nthereby also not iterating the cpu context.\n\nSigned-off-by: 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: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "012b84dae17126d8b5d159173091eb3db5a2bc43",
      "tree": "0b5f85b66084c3186a8e4c56d9ed074d3b2593ee",
      "parents": [
        "3f4dee227348daac32f36daad9a91059efd0723e"
      ],
      "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": "Fri May 29 14:28:37 2009 +0200"
      },
      "message": "perf_counter: Robustify counter-free logic\n\nThis fixes a nasty crash and highlights a bug that we were\nfreeing failed-fork() counters incorrectly.\n\n(the fix for that will come separately)\n\n[ Impact: fix crashes/lockups with inherited counters ]\n\nAcked-by: 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: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f4dee227348daac32f36daad9a91059efd0723e",
      "tree": "9aa0311f0c4f961a2c2cab1d2fbb0994cff1b6d9",
      "parents": [
        "ad3a37de81c45f6c20d410ece86004b98f7b6d84"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 11:25:09 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 14:28:36 2009 +0200"
      },
      "message": "perf_counter: Fix cpuctx-\u003etask_ctx races\n\nPeter noticed that we are sometimes reading cpuctx-\u003etask_ctx with\ninterrupts enabled.\n\nNoticed-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: 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: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad3a37de81c45f6c20d410ece86004b98f7b6d84",
      "tree": "6748194aa66d1648232dc9767cba44615d2e14fd",
      "parents": [
        "be1ac0d81d0e3ab655f8c8ade31fb860ef6aa186"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri May 29 16:06:20 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 11:02:46 2009 +0200"
      },
      "message": "perf_counter: Don\u0027t swap contexts containing locked mutex\n\nPeter Zijlstra pointed out that under some circumstances, we can take\nthe mutex in a context or a counter and then swap that context or\ncounter to another task, potentially leading to lock order inversions\nor the mutexes not protecting what they are supposed to protect.\n\nThis fixes the problem by making sure that we never take a mutex in a\ncontext or counter which could get swapped to another task.  Most of\nthe cases where we take a mutex is on a top-level counter or context,\ni.e. a counter which has an fd associated with it or a context that\ncontains such a counter.  This adds WARN_ON_ONCE statements to verify\nthat.\n\nThe two cases where we need to take the mutex on a context that is a\nclone of another are in perf_counter_exit_task and\nperf_counter_init_task.  The perf_counter_exit_task case is solved by\nuncloning the context before starting to remove the counters from it.\nThe perf_counter_init_task is a little trickier; we temporarily\ndisable context swapping for the parent (forking) task by setting its\nctx-\u003eparent_gen to the all-1s value after locking the context, if it\nis a cloned context, and restore the ctx-\u003eparent_gen value at the end\nif the context didn\u0027t get uncloned in the meantime.\n\nThis also moves the increment of the context generation count to be\nwithin the same critical section, protected by the context mutex, that\nadds the new counter to the context.  That way, taking the mutex is\nsufficient to ensure that both the counter list and the generation\ncount are stable.\n\n[ Impact: fix hangs, races with inherited and PID counters ]\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c18975.31580.520676.619896@drongo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c93f7669098eb97c5376e5396e3dfb734c17df4f",
      "tree": "0c17f812277320fcefd4f441e1db7a7f862752a5",
      "parents": [
        "63299f057fbce47da895e8865cba7e9c3eb01a20"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu May 28 22:18:17 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 28 15:03:50 2009 +0200"
      },
      "message": "perf_counter: Fix race in attaching counters to tasks and exiting\n\nCommit 564c2b21 (\"perf_counter: Optimize context switch between\nidentical inherited contexts\") introduced a race where it is possible\nthat a counter being attached to a task could get attached to the\nwrong task, if the task is one that has inherited its context from\nanother task via fork.  This happens because the optimized context\nswitch could switch the context to another task after find_get_context\nhas read task-\u003eperf_counter_ctxp.  In fact, it\u0027s possible that the\ncontext could then get freed, if the other task then exits.\n\nThis fixes the problem by protecting both the context switch and the\ncritical code in find_get_context with spinlocks.  The context switch\nlocks the cxt-\u003elock of both the outgoing and incoming contexts before\nswapping them.  That means that once code such as find_get_context\nhas obtained the spinlock for the context associated with a task,\nthe context can\u0027t get swapped to another task.  However, the context\nmay have been swapped in the interval between reading\ntask-\u003eperf_counter_ctxp and getting the lock, so it is necessary to\ncheck and retry.\n\nTo make sure that none of the contexts being looked at in\nfind_get_context can get freed, this changes the context freeing code\nto use RCU.  Thus an rcu_read_lock() is sufficient to ensure that no\ncontexts can get freed.  This part of the patch is lifted from a patch\nposted by Peter Zijlstra.\n\nThis also adds a check to make sure that we can\u0027t add a counter to a\ntask that is exiting.\n\nThere is also a race between perf_counter_exit_task and\nfind_get_context; this solves the race by moving the get_ctx that\nwas in perf_counter_alloc into the locked region in find_get_context,\nso that once find_get_context has got the context for a task, it\nwon\u0027t get freed even if the task calls perf_counter_exit_task.  It\ndoesn\u0027t matter if new top-level (non-inherited) counters get attached\nto the context after perf_counter_exit_task has detached the context\nfrom the task.  They will just stay there and never get scheduled in\nuntil the counters\u0027 fds get closed, and then perf_release will remove\nthem from the context and eventually free the context.\n\nWith this, we are now doing the unclone in find_get_context rather\nthan when a counter was added to or removed from a context (actually,\nwe were missing the unclone_ctx() call when adding a counter to a\ncontext).  We don\u0027t need to unclone when removing a counter from a\ncontext because we have no way to remove a counter from a cloned\ncontext.\n\nThis also takes out the smp_wmb() in find_get_context, which Peter\nZijlstra pointed out was unnecessary because the cmpxchg implies a\nfull barrier anyway.\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: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c18974.33033.667187.273886@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ab2b7ebaad16226c9a5e85c5f384d19fa58a7459",
      "tree": "c7a700d9300dca0855721b3a15db150ae5d86f1b",
      "parents": [
        "d4a76f8a619b5d7dfd5a0f122666fee24bb3dcb9"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@i-love.sakura.ne.jp",
        "time": "Tue May 26 09:11:03 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 26 12:11:19 2009 -0700"
      },
      "message": "kmod: Release sub_info on cred allocation failure.\n\ncall_usermodehelper_setup() forgot to kfree(sub_info)\nwhen prepare_usermodehelper_creds() failed.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "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": "93c32483808c5d82c9bd1eef2208854a6d1326db",
      "tree": "fd8190ca7ce4b210f4e9fff135041f5c02456682",
      "parents": [
        "d5a877e8dd409d8c702986d06485c374b705d340",
        "32bdfac5462d777f35b00838893c4f87baf23efe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 24 19:38:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 24 19:38:25 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM: Do not hold dpm_list_mtx while disabling/enabling nonboot CPUs\n"
    },
    {
      "commit": "d5a877e8dd409d8c702986d06485c374b705d340",
      "tree": "ece6d685c074c6823d31b7db99a52134866fd1a7",
      "parents": [
        "657cafa6b0f5296424d6f43f6f6eeb4a3222117e"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun May 24 13:03:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 24 13:38:41 2009 -0700"
      },
      "message": "async: make sure independent async domains can\u0027t accidentally entangle\n\nThe problem occurs when async_synchronize_full_domain() is called when\nthe async_pending list is not empty.  This will cause lowest_running()\nto return the cookie of the first entry on the async_pending list, which\nmight be nothing at all to do with the domain being asked for and thus\ncause the domain synchronization to wait for an unrelated domain.   This\ncan cause a deadlock if domain synchronization is used from one domain\nto wait for another.\n\nFix by running over the async_pending list to see if any pending items\nactually belong to our domain (and return their cookies if they do).\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32bdfac5462d777f35b00838893c4f87baf23efe",
      "tree": "92e4ef3af7b68007e8004eaca978865a29e543b0",
      "parents": [
        "59a3759d0fe8d969888c741bb33f4946e4d3750d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 24 21:15:07 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun May 24 21:15:07 2009 +0200"
      },
      "message": "PM: Do not hold dpm_list_mtx while disabling/enabling nonboot CPUs\n\nWe shouldn\u0027t hold dpm_list_mtx while executing\n[disable|enable]_nonboot_cpus(), because theoretically this may lead\nto a deadlock as shown by the following example (provided by Johannes\nBerg):\n\nCPU 3       CPU 2                     CPU 1\n                                      suspend/hibernate\n            something:\n            rtnl_lock()               device_pm_lock()\n                                       -\u003e mutex_lock(\u0026dpm_list_mtx)\n\n            mutex_lock(\u0026dpm_list_mtx)\n\nlinkwatch_work\n -\u003e rtnl_lock()\n                                      disable_nonboot_cpus()\n                                       -\u003e flush CPU 3 workqueue\n\nFortunately, device drivers are supposed to stop any activities that\nmight lead to the registration of new device objects way before\ndisable_nonboot_cpus() is called, so it shouldn\u0027t be necessary to\nhold dpm_list_mtx over the entire late part of device suspend and\nearly part of device resume.\n\nThus, during the late suspend and the early resume of devices acquire\ndpm_list_mtx only when dpm_list is going to be traversed and release\nit right after that.\n\nThis patch is reported to fix the regressions tracked as\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d13245.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nReported-by: Miles Lane \u003cmiles.lane@gmail.com\u003e\nTested-by: Ming Lei \u003ctom.leiming@gmail.com\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": "64d1304a64477629cb16b75491a77bafe6f86963",
      "tree": "f9bf95141429174d3e4596d3c4f5b167b6c0e745",
      "parents": [
        "279e677faa775ad16e75c32e1bf4a37f8158bc61"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 18 21:20:10 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 19 23:36:52 2009 +0200"
      },
      "message": "futex: setup writeable mapping for futex ops which modify user space data\n\nThe futex code installs a read only mapping via get_user_pages_fast()\neven if the futex op function has to modify user space data. The\neventual fault was fixed up by futex_handle_fault() which walked the\nVMA with mmap_sem held.\n\nAfter the cleanup patches which removed the mmap_sem dependency of the\nfutex code commit 4dc5b7a36a49eff97050894cf1b3a9a02523717 (futex:\nclean up fault logic) removed the private VMA walk logic from the\nfutex code. This change results in a stale RO mapping which is not\nfixed up.\n\nInstead of reintroducing the previous fault logic we set up the\nmapping in get_user_pages_fast() read/write for all operations which\nmodify user space data. Also handle private futexes in the same way\nand make the current unconditional access_ok(VERIFY_WRITE) depend on\nthe futex op.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: stable@kernel.org\n\n"
    },
    {
      "commit": "ee3af6ee77f61cac3c8f770c65736bf5ed03a697",
      "tree": "a4803f26484914d55086c15b7a0234a2d38ce7b2",
      "parents": [
        "13bba6fda98fe03a955665c9d4bf63c8fd9c19c0",
        "92d23f703c608fcb2c8edd74a3fd0f4031e18606",
        "d80c19df5fcceb8c741e96f09f275c2da719efef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 18 10:11:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 18 10:11:06 2009 -0700"
      },
      "message": "Merge branches \u0027sched-fixes-for-linus-2\u0027 and \u0027core-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix fallback sched_clock()\u0027s offset when using jiffies\n\n* \u0027core-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: increase MAX_LOCKDEP_ENTRIES and MAX_LOCKDEP_CHAINS\n"
    },
    {
      "commit": "0130b2d7010fe8e046b7a6c44911a1d3d0d16c96",
      "tree": "e4fb22c311a2ca8da64528538646d1e2579f4447",
      "parents": [
        "80193195f87ebca6d7417516d6edeb3969631c15",
        "88fc86c283d9c3854e67e4155808027bc2519eb6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 18 09:15:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 18 09:15:41 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: Append prompt in /debug/tracing/README file\n  x86/function-graph: fix constraint for recording old return value\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": "86460103c412f9e11aeb7950cce64b9e51539d4d",
      "tree": "9d6230418012a22e0b1d4d09b024e24377002a6c",
      "parents": [
        "b83674c0da6558e357c6b482ccf299eeea77d8ef",
        "4484079d517c2b6521621be0b1ea246ccc55c7d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 17 11:46:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 17 11:46:22 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM: check sysdev_suspend(PMSG_FREEZE) return value\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": "0f6f49a8cd0163fdb1723ed29f01fc65177108dc",
      "tree": "086981f9ef51d57a34fbc5fde8095652877cf739",
      "parents": [
        "b41a080fa9f157d223c782ec3571cf46e34e91d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 16 13:41:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 16 13:41:28 2009 -0700"
      },
      "message": "Fix caller information for warn_slowpath_null\n\nIan Campbell noticed that since \"Eliminate thousands of warnings with\ngcc 3.2 build\" (commit 57adc4d2dbf968fdbe516359688094eef4d46581) all\nWARN_ON()\u0027s currently appear to come from warn_slowpath_null(), eg:\n\n  WARNING: at kernel/softirq.c:143 warn_slowpath_null+0x1c/0x20()\n\nbecause now that warn_slowpath_null() is in the call path, the\n__builtin_return_address(0) returns that, rather than the place that\ncaused the warning.\n\nFix this by splitting up the warn_slowpath_null/fmt cases differently,\nusing a common helper function, and getting the return address in the\nright place.  This also happens to avoid the unnecessary stack usage for\nthe non-stdargs case, and just generally cleans things up.\n\nMake the function name printout use %pS while at it.\n\nCc: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4484079d517c2b6521621be0b1ea246ccc55c7d7",
      "tree": "60d0ae568555f1bd7329be411b28e55b12dc64c3",
      "parents": [
        "8c21f34126222239450717b78dda0c4962d9ebfa"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Fri May 15 23:30:50 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri May 15 23:30:50 2009 +0200"
      },
      "message": "PM: check sysdev_suspend(PMSG_FREEZE) return value\n\nCheck the return value of sysdev_suspend().  I think this was a typo.\nWithout this change, the following \"if\" check is always false.\nI also changed the error message so it\u0027s distinguishable from the\nsimilar message a few lines above.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "88fc86c283d9c3854e67e4155808027bc2519eb6",
      "tree": "2652b1a9d0299e1cc4d71573b2ac5e18ecae01c8",
      "parents": [
        "aa512a27e9e8ed32f31b15eec67ab1ceca33839b"
      ],
      "author": {
        "name": "GeunSik Lim",
        "email": "leemgs1@gmail.com",
        "time": "Thu May 14 17:23:38 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 15 19:43:22 2009 +0200"
      },
      "message": "tracing: Append prompt in /debug/tracing/README file\n\nappend prompt in /debug/tracing/README file.\n\nThis is trivial issue. Fix typo Mini Howto file(README) for ftrace.\n\n[ Impact: cleanup ]\n\nSigned-off-by: GeunSik Lim \u003cgeunsik.lim@samsung.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: williams \u003cwilliams@redhat.com\u003e\nLKML-Reference: \u003c1242289418.31161.45.camel@centos51\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": "d80c19df5fcceb8c741e96f09f275c2da719efef",
      "tree": "42062e06bd531ad89c9019a341c6b6c26062edfd",
      "parents": [
        "1d80cac0fe44fb87b2a3d35fddd7f534ea81cd90"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 12 16:29:13 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 12 19:59:52 2009 +0200"
      },
      "message": "lockdep: increase MAX_LOCKDEP_ENTRIES and MAX_LOCKDEP_CHAINS\n\nNow that lockdep coverage has increased it has become easier to\nrun out of entries:\n\n[   21.401387] BUG: MAX_LOCKDEP_ENTRIES too low!\n[   21.402007] turning off the locking correctness validator.\n[   21.402007] Pid: 1555, comm: S99local Not tainted 2.6.30-rc5-tip #2\n[   21.402007] Call Trace:\n[   21.402007]  [\u003cffffffff81069789\u003e] add_lock_to_list+0x53/0xba\n[   21.402007]  [\u003cffffffff810eb615\u003e] ? lookup_mnt+0x19/0x53\n[   21.402007]  [\u003cffffffff8106be14\u003e] check_prev_add+0x14b/0x1c7\n[   21.402007]  [\u003cffffffff8106c304\u003e] validate_chain+0x474/0x52a\n[   21.402007]  [\u003cffffffff8106c6fc\u003e] __lock_acquire+0x342/0x3c7\n[   21.402007]  [\u003cffffffff8106c842\u003e] lock_acquire+0xc1/0xe5\n[   21.402007]  [\u003cffffffff810eb615\u003e] ? lookup_mnt+0x19/0x53\n[   21.402007]  [\u003cffffffff8153aedc\u003e] _spin_lock+0x31/0x66\n\nDouble the size - as we\u0027ve done in the past.\n\n[ Impact: allow lockdep to cover more locks ]\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\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": "92d23f703c608fcb2c8edd74a3fd0f4031e18606",
      "tree": "ecd2e7f94fea20188eb75cabbcd48a7f7ab79dbc",
      "parents": [
        "091bf7624d1c90cec9e578a18529f615213ff847"
      ],
      "author": {
        "name": "Ron",
        "email": "ron@voicetronix.com",
        "time": "Fri May 08 22:54:49 2009 +0930"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 09 10:08:19 2009 +0200"
      },
      "message": "sched: Fix fallback sched_clock()\u0027s offset when using jiffies\n\nAccount for the initial offset to the jiffy count.\n\n[ Impact: fix printk timestamps on architectures using fallback sched_clock() ]\n\nSigned-off-by: Ron Lee \u003cron@debian.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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"
    }
  ],
  "next": "74a03b69d1b5ce00a568e142ca97e76b7f5239c6"
}
