)]}'
{
  "commit": "b4521e610d7fed4d05f76aceb019f933874ba00a",
  "tree": "068608091c518a867549fde49e4e768dc721ba2f",
  "parents": [
    "0362326de13b4934887b58cb95d868604881c648"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Fri Jan 06 14:19:43 2017 -0500"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Mon Jan 09 19:01:40 2017 -0500"
  },
  "message": "Allow larger CEQs (XCC)\n\nPreviously, the user may have been punished for having a very large CEQ\nevent space.  This is the range of possible event IDs the CEQ would ever\nsee.  For FDs, technically the user might want NR_FILE_DESC_MAX (2^19).\nThat\u0027d be about a 16 MB CEQ structure, and an O(2^19) recovery scan.\n\nWith this change, we only grow the CEQ\u0027s actual memory use on demand (soft\npage fault) and only scan up to the max ever seen.  The memory tricks are\nOK - the kernel needs to protect against PFs when accessing user memory\nanyways, and it is safe for vcore context to have a soft PF on anonymous\nmemory.  (If we\u0027re OOM, we\u0027d need to handle that regardless of whether or\nnot the user happened to be in vcore context).\n\nRebuild the world.  (At least glibc and dropbear.  Probably anything\nmulticore too).\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fa23e7e4ee306028ef13b1ebd2ba3b2ed71ca58c",
      "old_mode": 33188,
      "old_path": "kern/include/ros/ceq.h",
      "new_id": "4dce3deb152cb86d78394a1711daf71af9acf8b8",
      "new_mode": 33188,
      "new_path": "kern/include/ros/ceq.h"
    },
    {
      "type": "modify",
      "old_id": "1ae61569a5845e8d13330f23492e17ff80c52ae6",
      "old_mode": 33188,
      "old_path": "kern/src/ceq.c",
      "new_id": "6a3cdd962e8de161e6163087466ff42c59f6ac3a",
      "new_mode": 33188,
      "new_path": "kern/src/ceq.c"
    },
    {
      "type": "modify",
      "old_id": "0af89a51fe76793019cf948b0a891ab14d3befe6",
      "old_mode": 33188,
      "old_path": "user/parlib/ceq.c",
      "new_id": "ae5aedf74a0b6e81137243f6f4fb14727196a10c",
      "new_mode": 33188,
      "new_path": "user/parlib/ceq.c"
    }
  ]
}
