)]}'
{
  "commit": "96645678cd726e87ce42a0664de71e047e32bca4",
  "tree": "116f568a090414777b481e8e5d9db55f420e4335",
  "parents": [
    "443aef0eddfa44c158d1b94ebb431a70638fcab4"
  ],
  "author": {
    "name": "Peter Zijlstra",
    "email": "a.p.zijlstra@chello.nl",
    "time": "Thu Jul 19 01:49:00 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Thu Jul 19 10:04:49 2007 -0700"
  },
  "message": "lockstat: measure lock bouncing\n\n    __acquire\n        |\n       lock _____\n        |        \\\n        |    __contended\n        |         |\n        |        wait\n        | _______/\n        |/\n        |\n   __acquired\n        |\n   __release\n        |\n     unlock\n\nWe measure acquisition and contention bouncing.\n\nThis is done by recording a cpu stamp in each lock instance.\n\nContention bouncing requires the cpu stamp to be set on acquisition. Hence we\nmove __acquired into the generic path.\n\n__acquired is then used to measure acquisition bouncing by comparing the\ncurrent cpu with the old stamp before replacing it.\n\n__contended is used to measure contention bouncing (only useful for preemptable\nlocks)\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3d3386b88b6aeb043f3bca3f49a75eb3f62e5c43",
      "old_mode": 33188,
      "old_path": "include/linux/lockdep.h",
      "new_id": "0e843bf658777114a3a664e1c978588ee623cc3f",
      "new_mode": 33188,
      "new_path": "include/linux/lockdep.h"
    },
    {
      "type": "modify",
      "old_id": "cb64022851c87fb900c5ef7e908bd3278f1c44ab",
      "old_mode": 33188,
      "old_path": "kernel/lockdep.c",
      "new_id": "156fce4960c31918f7324e3773a3b534b118d2ec",
      "new_mode": 33188,
      "new_path": "kernel/lockdep.c"
    },
    {
      "type": "modify",
      "old_id": "39163ed1bf0a9879c02954764bd50ff52de35ea3",
      "old_mode": 33188,
      "old_path": "kernel/lockdep_proc.c",
      "new_id": "7ff80135cbeb867f8785d305587b1baaaed84413",
      "new_mode": 33188,
      "new_path": "kernel/lockdep_proc.c"
    },
    {
      "type": "modify",
      "old_id": "7a3f32761f2674e814e461d7a4039235b1dcb33f",
      "old_mode": 33188,
      "old_path": "kernel/mutex.c",
      "new_id": "691b86564dd97fbe8f88e75a0f1cd6024cf6762b",
      "new_mode": 33188,
      "new_path": "kernel/mutex.c"
    }
  ]
}
