)]}'
{
  "commit": "e5e78d08f3ab3094783b8df08a5b6d1d1a56a58f",
  "tree": "524c4faf387d4ac1dc46b23015a9d8fc4823ab88",
  "parents": [
    "3890c136357284cb0656f9dd0e62286995ad32e9"
  ],
  "author": {
    "name": "Steven Rostedt",
    "email": "srostedt@redhat.com",
    "time": "Wed Nov 02 20:24:16 2011 -0400"
  },
  "committer": {
    "name": "Steven Rostedt",
    "email": "rostedt@goodmis.org",
    "time": "Mon Nov 07 11:01:46 2011 -0500"
  },
  "message": "lockdep: Show subclass in pretty print of lockdep output\n\nThe pretty print of the lockdep debug splat uses just the lock name\nto show how the locking scenario happens. But when it comes to\nnesting locks, the output becomes confusing which takes away the point\nof the pretty printing of the lock scenario.\n\nWithout displaying the subclass info, we get the following output:\n\n  Possible unsafe locking scenario:\n\n        CPU0                    CPU1\n        ----                    ----\n   lock(slock-AF_INET);\n                                lock(slock-AF_INET);\n                                lock(slock-AF_INET);\n   lock(slock-AF_INET);\n\n  *** DEADLOCK ***\n\nThe above looks more of a A-\u003eA locking bug than a A-\u003eB B-\u003eA.\nBy adding the subclass to the output, we can see what really happened:\n\n other info that might help us debug this:\n\n  Possible unsafe locking scenario:\n\n        CPU0                    CPU1\n        ----                    ----\n   lock(slock-AF_INET);\n                                lock(slock-AF_INET/1);\n                                lock(slock-AF_INET);\n   lock(slock-AF_INET/1);\n\n  *** DEADLOCK ***\n\nThis bug was discovered while tracking down a real bug caught by lockdep.\n\nLink: http://lkml.kernel.org/r/20111025202049.GB25043@hostway.ca\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Simon Kirby \u003csim@hostway.ca\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "91d67ce3a8d520a5cdc43d7abe6534c59710e79d",
      "old_mode": 33188,
      "old_path": "kernel/lockdep.c",
      "new_id": "6bd915df5fd34871134f59c136e5fc7d8786bc48",
      "new_mode": 33188,
      "new_path": "kernel/lockdep.c"
    }
  ]
}
