)]}'
{
  "commit": "5e3c149b4dba4d2ee082d1eee2ac2c4424c2c30e",
  "tree": "489da5207c73fc221b301d6084d486c4e29c0aa2",
  "parents": [
    "bd1a5d9803b95c110a1fdfc10c2b629fcca3e61d"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Thu Jul 19 16:06:23 2018 -0400"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Thu Jul 19 16:12:26 2018 -0400"
  },
  "message": "Serialize console prints with the print_lock\n\nWhen userspace writes to the console, it bypasses printk and could\ninterleave with the rest of the kernel prints.  Now it won\u0027t, and we can\nremove yet another lock.\n\nNote that we still will have single printk lines intermixed with userspace\ncharacters, since userspace could be writing one byte at a time, without a\n\\n.  However, these writes won\u0027t interfere with multi-line printks within\nthe kernel.  The first line could have junk in front of it, and if that\nbecomes a problem, we can start putting printk(\"\\n\") in front of larger\nprints (such as trapframes), like we do for panic and warnings.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1a9ce3dd9dfb7b7fdb28818015e39e09d99823fa",
      "old_mode": 33188,
      "old_path": "kern/drivers/dev/cons.c",
      "new_id": "ffa0df28f2a9b6e31ef92806d08b635fa95f0d7f",
      "new_mode": 33188,
      "new_path": "kern/drivers/dev/cons.c"
    },
    {
      "type": "modify",
      "old_id": "7b482aa59b3e400e9e81e0404ef24ad64bb4cf96",
      "old_mode": 33188,
      "old_path": "kern/include/kdebug.h",
      "new_id": "cde8b9636357e976683dfceda24ef8ab84f003e7",
      "new_mode": 33188,
      "new_path": "kern/include/kdebug.h"
    },
    {
      "type": "modify",
      "old_id": "60c64a719415dab928f4dc3c2cf8e3f1a3a8861c",
      "old_mode": 33188,
      "old_path": "kern/src/init.c",
      "new_id": "858a74ff0bc0af6ff199f9a9cba587c1b078ac83",
      "new_mode": 33188,
      "new_path": "kern/src/init.c"
    },
    {
      "type": "modify",
      "old_id": "984148472d81da47f735ed5e08b52b6886c36002",
      "old_mode": 33188,
      "old_path": "kern/src/kdebug.c",
      "new_id": "c1c598bf7e3383de465f4c0206827a97705a01bc",
      "new_mode": 33188,
      "new_path": "kern/src/kdebug.c"
    }
  ]
}
