)]}'
{
  "commit": "93b9607ebeffcbaa83b591e61e34283ab8922eec",
  "tree": "9a4c2a8e61fd81b20c3f2ca9663f5aeecb594744",
  "parents": [
    "d2d786ddcbc2dec28cc252e57020f627c2bd2df3"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Fri Jul 13 17:43:50 2018 -0400"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Fri Jul 13 17:56:27 2018 -0400"
  },
  "message": "Serialize printing during panic()\n\nWhen multiple cores panicked concurrently, their output would be garbled.\nThey also didn\u0027t have very useful info, and I almost always wanted a\nbacktrace.  Now we should get each core printing on its own, including a\nbacktrace.\n\nThe monitor() call needs to happen outside the lock, so we\u0027ll wait a little\ntill the other cores are likely done.  They just need to wait long enough\nfor another core to grab the lock and set \u0027panic_printing\u0027.  500ms seems to\nbe enough, even on Qemu.\n\nThis is only lightly tested - crazy panics under insane conditions might\nbreak a bit more than before.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0f450e605438d810313dc1d75c2e0f8c3c528306",
      "old_mode": 33188,
      "old_path": "kern/src/init.c",
      "new_id": "658f2fa0e63f66bd4c402e2fa65ecbe5d47a117c",
      "new_mode": 33188,
      "new_path": "kern/src/init.c"
    }
  ]
}
