)]}'
{
  "commit": "e5fc948b11a9d0aee1cabe7c82726bc36d496875",
  "tree": "ea0b22d395eae62f41c00b7cf14ae263933433bf",
  "parents": [
    "397717c578a5e02cf76b6c99c68f50fee94b59f8"
  ],
  "author": {
    "name": "Maynard Johnson",
    "email": "maynardj@us.ibm.com",
    "time": "Thu May 07 05:48:32 2009 +0000"
  },
  "committer": {
    "name": "Benjamin Herrenschmidt",
    "email": "benh@kernel.crashing.org",
    "time": "Fri May 15 16:43:41 2009 +1000"
  },
  "message": "powerpc: Fix oprofile sampling of marked events on POWER7\n\nDescription\n-----------\nChange ppc64 oprofile kernel driver to use the SLOT bits (MMCRA[37:39]only on\nolder processors where those bits are defined.\n\nBackground\n----------\nThe performance monitor unit of the 64-bit POWER processor family has the\nability to collect accurate instruction-level samples when profiling on marked\nevents (i.e., \"PM_MRK_\u003cevent-name\u003e\").  In processors prior to POWER6, the MMCRA\nregister contained \"slot information\" that the oprofile kernel driver used to\nadjust the value latched in the SIAR at the time of a PMU interrupt.  But as of\nPOWER6, these slot bits in MMCRA are no longer necessary for oprofile to use,\nsince the SIAR itself holds the accurate sampled instruction address.  With\nPOWER6, these MMCRA slot bits were zero\u0027ed out by hardware so oprofile\u0027s use of\nthese slot bits was, in effect, a NOP.  But with POWER7, these bits are no\nlonger zero\u0027ed out; however, they serve some other purpose rather than slot\ninformation.  Thus, using these bits on POWER7 to adjust the SIAR value results\nin samples being attributed to the wrong instructions.  The attached patch\nchanges the oprofile kernel driver to ignore these slot bits on all newer\nprocessors starting with POWER6.\n\nSigned-off-by: Maynard Johnson \u003cmaynardj@us.ibm.com\u003e\nSigned-off-by: Michael Wolf \u003cmjw@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3e3d91f536e0be0daa3a1b7e031023de475ea5a3",
      "old_mode": 33188,
      "old_path": "arch/powerpc/oprofile/op_model_power4.c",
      "new_id": "80774092db77f8366def941ec0dcdfabf2379489",
      "new_mode": 33188,
      "new_path": "arch/powerpc/oprofile/op_model_power4.c"
    }
  ]
}
