)]}'
{
  "commit": "f77cfe4ea21760268c0277fa3e4b02dfd2a2c2f4",
  "tree": "ffd83ee874d1cbe062cd70cade50c017725ba586",
  "parents": [
    "f878133bf022717b880d0e0995b8f91436fd605c"
  ],
  "author": {
    "name": "Thomas Renninger",
    "email": "trenn@suse.de",
    "time": "Fri Jan 07 11:29:44 2011 +0100"
  },
  "committer": {
    "name": "Len Brown",
    "email": "len.brown@intel.com",
    "time": "Wed Jan 12 18:05:16 2011 -0500"
  },
  "message": "cpuidle/x86/perf: fix power:cpu_idle double end events and throw cpu_idle events from the cpuidle layer\n\nCurrently intel_idle and acpi_idle driver show double cpu_idle \"exit idle\"\nevents -\u003e this patch fixes it and makes cpu_idle events throwing less complex.\n\nIt also introduces cpu_idle events for all architectures which use\nthe cpuidle subsystem, namely:\n  - arch/arm/mach-at91/cpuidle.c\n  - arch/arm/mach-davinci/cpuidle.c\n  - arch/arm/mach-kirkwood/cpuidle.c\n  - arch/arm/mach-omap2/cpuidle34xx.c\n  - arch/drivers/acpi/processor_idle.c (for all cases, not only mwait)\n  - arch/x86/kernel/process.c (did throw events before, but was a mess)\n  - drivers/idle/intel_idle.c (did throw events before)\n\nConvention should be:\nFire cpu_idle events inside the current pm_idle function (not somewhere\ndown the the callee tree) to keep things easy.\n\nCurrent possible pm_idle functions in X86:\nc1e_idle, poll_idle, cpuidle_idle_call, mwait_idle, default_idle\n-\u003e this is really easy is now.\n\nThis affects userspace:\nThe type field of the cpu_idle power event can now direclty get\nmapped to:\n/sys/devices/system/cpu/cpuX/cpuidle/stateX/{name,desc,usage,time,...}\ninstead of throwing very CPU/mwait specific values.\nThis change is not visible for the intel_idle driver.\nFor the acpi_idle driver it should only be visible if the vendor\nmisses out C-states in his BIOS.\nAnother (perf timechart) patch reads out cpuidle info of cpu_idle\nevents from:\n/sys/.../cpuidle/stateX/*, then the cpuidle events are mapped\nto the correct C-/cpuidle state again, even if e.g. vendors miss\nout C-states in their BIOS and for example only export C1 and C3.\n-\u003e everything is fine.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nCC: Robert Schoene \u003crobert.schoene@tu-dresden.de\u003e\nCC: Jean Pihet \u003cj-pihet@ti.com\u003e\nCC: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCC: linux-pm@lists.linux-foundation.org\nCC: linux-acpi@vger.kernel.org\nCC: linux-kernel@vger.kernel.org\nCC: linux-perf-users@vger.kernel.org\nCC: linux-omap@vger.kernel.org\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "09c08a1c706f0993a59475d8a7446c4cd2eecd93",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/process.c",
      "new_id": "67e96e67157b7993e347c76c2590ecb4c03edec8",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/process.c"
    },
    {
      "type": "modify",
      "old_id": "4b9befa0e347f6f402238d28fea4f9969563a6dd",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/process_32.c",
      "new_id": "8d128783af47374e56412d01d0488aa12af1647b",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/process_32.c"
    },
    {
      "type": "modify",
      "old_id": "4c818a73839685c3b1083d2170f02e6758a3bed7",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/process_64.c",
      "new_id": "bd387e8f73b473fe587715c8e4760c891c775d09",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/process_64.c"
    },
    {
      "type": "modify",
      "old_id": "386888f10df02c0147b1b3664d8b08e7ebe88aa4",
      "old_mode": 33188,
      "old_path": "drivers/cpuidle/cpuidle.c",
      "new_id": "e4855c33f8974ad7ce477b7ed18fe83aa31df24f",
      "new_mode": 33188,
      "new_path": "drivers/cpuidle/cpuidle.c"
    },
    {
      "type": "modify",
      "old_id": "56ac09d6c9308157d6acda8c99bdbdeef91aa771",
      "old_mode": 33188,
      "old_path": "drivers/idle/intel_idle.c",
      "new_id": "60fa6ecdb41f4ecd58955a068cc28297f4f967eb",
      "new_mode": 33188,
      "new_path": "drivers/idle/intel_idle.c"
    }
  ]
}
