)]}'
{
  "commit": "b09be676e0ff25bd6d2e7637e26d349f9109ad75",
  "tree": "8dc82ceaa001d29bb07a51f5c4814759b303e8e4",
  "parents": [
    "ce07a9415f266e181a0a33033a5f7138760240a4"
  ],
  "author": {
    "name": "Byungchul Park",
    "email": "byungchul.park@lge.com",
    "time": "Mon Aug 07 16:12:52 2017 +0900"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@kernel.org",
    "time": "Thu Aug 10 12:29:07 2017 +0200"
  },
  "message": "locking/lockdep: Implement the \u0027crossrelease\u0027 feature\n\nLockdep is a runtime locking correctness validator that detects and\nreports a deadlock or its possibility by checking dependencies between\nlocks. It\u0027s useful since it does not report just an actual deadlock but\nalso the possibility of a deadlock that has not actually happened yet.\nThat enables problems to be fixed before they affect real systems.\n\nHowever, this facility is only applicable to typical locks, such as\nspinlocks and mutexes, which are normally released within the context in\nwhich they were acquired. However, synchronization primitives like page\nlocks or completions, which are allowed to be released in any context,\nalso create dependencies and can cause a deadlock.\n\nSo lockdep should track these locks to do a better job. The \u0027crossrelease\u0027\nimplementation makes these primitives also be tracked.\n\nSigned-off-by: Byungchul Park \u003cbyungchul.park@lge.com\u003e\nSigned-off-by: Peter Zijlstra (Intel) \u003cpeterz@infradead.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: akpm@linux-foundation.org\nCc: boqun.feng@gmail.com\nCc: kernel-team@lge.com\nCc: kirill@shutemov.name\nCc: npiggin@gmail.com\nCc: walken@google.com\nCc: willy@infradead.org\nLink: http://lkml.kernel.org/r/1502089981-21272-6-git-send-email-byungchul.park@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5dd1272d1ab2ecb283f588eb95ba1ebd81369dd9",
      "old_mode": 33188,
      "old_path": "include/linux/irqflags.h",
      "new_id": "5fdd93bb93009ccb3bb70404a59f9fd31939bcb4",
      "new_mode": 33188,
      "new_path": "include/linux/irqflags.h"
    },
    {
      "type": "modify",
      "old_id": "0a4c02c2d7a2612c37b6b97787fc1ff462eaf625",
      "old_mode": 33188,
      "old_path": "include/linux/lockdep.h",
      "new_id": "e1e0fcd99613229bab217125e5616e4aed59d4b8",
      "new_mode": 33188,
      "new_path": "include/linux/lockdep.h"
    },
    {
      "type": "modify",
      "old_id": "57db70ec70d0d6c9a22ce4e8b4fde62d24ef0171",
      "old_mode": 33188,
      "old_path": "include/linux/sched.h",
      "new_id": "5235fba537fc6f4c84cc7c1020e9b5718feaca8d",
      "new_mode": 33188,
      "new_path": "include/linux/sched.h"
    },
    {
      "type": "modify",
      "old_id": "c5548faa9f377c5bf01f4a4db8e3020448565469",
      "old_mode": 33188,
      "old_path": "kernel/exit.c",
      "new_id": "fa72d57db74735d158cbba630c5531fcf25c37a5",
      "new_mode": 33188,
      "new_path": "kernel/exit.c"
    },
    {
      "type": "modify",
      "old_id": "17921b0390b4f91113bcf8c9ccac5c1225751460",
      "old_mode": 33188,
      "old_path": "kernel/fork.c",
      "new_id": "cbf2221ee81a45dfd94be55f38f4c38fdece04ca",
      "new_mode": 33188,
      "new_path": "kernel/fork.c"
    },
    {
      "type": "modify",
      "old_id": "841828ba35b968e6cd99a4ec9c1cb6961f181441",
      "old_mode": 33188,
      "old_path": "kernel/locking/lockdep.c",
      "new_id": "56f69cc53ddcfd5e5c4fab6bc68d520989fc41fc",
      "new_mode": 33188,
      "new_path": "kernel/locking/lockdep.c"
    },
    {
      "type": "modify",
      "old_id": "ca937b0c3a968f247a227d68812c9062fb4916c5",
      "old_mode": 33188,
      "old_path": "kernel/workqueue.c",
      "new_id": "e86733a8b344bac18895368ad48a294c021f85e0",
      "new_mode": 33188,
      "new_path": "kernel/workqueue.c"
    },
    {
      "type": "modify",
      "old_id": "98fe715522e8d1834083e608d32a78ed0600deb9",
      "old_mode": 33188,
      "old_path": "lib/Kconfig.debug",
      "new_id": "c6038f23bb1a80dfe5acfbd6202257a005236a2a",
      "new_mode": 33188,
      "new_path": "lib/Kconfig.debug"
    }
  ]
}
