)]}'
{
  "commit": "d6471cf56952dd44e4fa30bdf5df03141307a491",
  "tree": "ab4979ed75419c4f11456f9ceafdd19e3757ec55",
  "parents": [
    "dfa2a002f9b8e1762351f7d9500169964e755f08"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Tue Dec 18 15:56:58 2018 -0500"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Tue Dec 18 15:56:58 2018 -0500"
  },
  "message": "Add a monitor debug function for rendez waiters\n\nWhen debugging, it\u0027s helpful to be able to tell what is waiting on a\nparticular rendez.  \"db rv 0xWAITER\" will do the trick.\n\nLike many monitor commands, this is dangerous.  Not only will it cast\nwhatever you pass it to an alarm_waiter, but even if you don\u0027t mess up,\nthere\u0027s no telling that the alarm isn\u0027t currently firing and unwinding\nthe stack.  That being said, it\u0027s been useful for me.\n\nUsage:\n\n(akaros) / $ m alarm pcpu\nPCPU Chains:  It is now [    189.392342216]\nChain 0xffffffffcc683c48:  earliest: [    189.399452912] latest: [    482.049028825]\n\tWaiter 0xffffffffcc683ac0, time [    189.399452912] (0x0000008cc62c95fa), func 0xffffffffc205a740 (__ksched_tick)\n\tWaiter 0xfffffff000097dd8, time [    189.416393761] (0x0000008cc965c92b), func 0xffffffffc20586e0 (rendez_alarm_handler)\n\tWaiter 0xfffffff0000a9c98, time [    482.049028825] (0x000001664a5eef19), func 0xffffffffc20586e0 (rendez_alarm_handler)\nChain 0xffffffffcc683f08:  earliest: [    189.477399144] latest: [    189.477399144]\n\tWaiter 0xfffffff0000a6cb8, time [    189.477399144] (0x0000008cd50165fa), func 0xffffffffc20586e0 (rendez_alarm_handler)\n\n(akaros) / $ m db rv 0xfffffff0000a6cb8\n-------- kth #I0tcpack ----------\n\nBacktrace of kernel context on Core 0:\n #01 [\u003c0xffffffffc20145ab\u003e] in cv_wait_and_unlock\n #02 [\u003c0xffffffffc2014651\u003e] in cv_wait\n #03 [\u003c0xffffffffc20585cd\u003e] in rendez_sleep_timeout\n #04 [\u003c0xffffffffc2013d72\u003e] in kthread_usleep\n #05 [\u003c0xffffffffc20327a4\u003e] in tcpackproc\n #06 [\u003c0xffffffffc2013274\u003e] in __ktask_wrapper\n #07 [\u003c0xffffffffc2063bad\u003e] in process_routine_kmsg\n #08 [\u003c0xffffffffc205d59e\u003e] in __smp_idle\n-----------------\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f607105e05c78cc2f1d76c37da59ca64c86a2163",
      "old_mode": 33188,
      "old_path": "kern/include/rendez.h",
      "new_id": "06f257a068039274e1c6a1ad7fe02aa73ed2ab82",
      "new_mode": 33188,
      "new_path": "kern/include/rendez.h"
    },
    {
      "type": "modify",
      "old_id": "3f261258b119a71c89667bbf4246dfd16b0d7a11",
      "old_mode": 33188,
      "old_path": "kern/src/monitor.c",
      "new_id": "8c137fd4677cbc5bdf5e33216f9114b53035e271",
      "new_mode": 33188,
      "new_path": "kern/src/monitor.c"
    },
    {
      "type": "modify",
      "old_id": "215e85f6b79b5704aac1607c5ad6f0828cea62cb",
      "old_mode": 33188,
      "old_path": "kern/src/rendez.c",
      "new_id": "6d5de7c62897fe58bed4b42d6ab2a20a43660c60",
      "new_mode": 33188,
      "new_path": "kern/src/rendez.c"
    }
  ]
}
