)]}'
{
  "commit": "9e472e101f37233f4e32d181d2fee29014c1cf2f",
  "tree": "11355529c87a6dce782b8500ce53236b4744600c",
  "parents": [
    "235262cf364a839d94e7e9d5b469ac8efb703285"
  ],
  "author": {
    "name": "aliguori",
    "email": "aliguori@c046a42c-6fe2-441c-8c8c-71466251a162",
    "time": "Wed Oct 08 19:50:24 2008 +0000"
  },
  "committer": {
    "name": "aliguori",
    "email": "aliguori@c046a42c-6fe2-441c-8c8c-71466251a162",
    "time": "Wed Oct 08 19:50:24 2008 +0000"
  },
  "message": "Fix IO performance regression in sparc\n\nReplace signalfd with signal handler/pipe.  There is no way to interrupt\nthe CPU execution loop when a file descriptor becomes readable.  This\nresults in a large performance regression in sparc emulation during\nbootup.\n   \nThis patch switches us to signal handler/pipe which was originally\nsuggested by Ian Jackson.  The signal handler lets us interrupt the\nCPU emulation loop while the write to a pipe lets us avoid the\nselect/signal race condition.\n    \nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\n\n\n\ngit-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5451 c046a42c-6fe2-441c-8c8c-71466251a162\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "35061a4b11745c03d73928b88af13a68f638452b",
      "old_mode": 33188,
      "old_path": "Makefile",
      "new_id": "36b36cd26aa34e8666e444adba85edbe50f248cb",
      "new_mode": 33188,
      "new_path": "Makefile"
    },
    {
      "type": "modify",
      "old_id": "c2016d1e139beae88dc328247f86b6b228044e06",
      "old_mode": 33188,
      "old_path": "Makefile.target",
      "new_id": "f6ec8efba9953c44334173820a6433841bb4592f",
      "new_mode": 33188,
      "new_path": "Makefile.target"
    },
    {
      "type": "modify",
      "old_id": "c0404fad5ee9dde9e02d96c4b8de9671dd4c8428",
      "old_mode": 33188,
      "old_path": "block-raw-posix.c",
      "new_id": "83a358cd4dd45f2eda72049568b927d5753cc197",
      "new_mode": 33188,
      "new_path": "block-raw-posix.c"
    },
    {
      "type": "delete",
      "old_id": "cc5ced39670ff1d90d90fbfa39650faedb7ec7df",
      "old_mode": 33188,
      "old_path": "compatfd.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "55a111a572cf2094199d3d9ad3f5b04321c3ee12",
      "old_mode": 33188,
      "old_path": "compatfd.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "9192fcf94b558c9841011556282ae060c27b91b0",
      "old_mode": 33261,
      "old_path": "configure",
      "new_id": "ba80f1c5577b27a2dc8a322018cf9f5421f0a18a",
      "new_mode": 33261,
      "new_path": "configure"
    },
    {
      "type": "modify",
      "old_id": "07312235f77396428b7eb83651295a6db1801998",
      "old_mode": 33188,
      "old_path": "qemu-common.h",
      "new_id": "cc95fe62bbf7758d0d1ff4d39c8365c8edca14b9",
      "new_mode": 33188,
      "new_path": "qemu-common.h"
    },
    {
      "type": "modify",
      "old_id": "63e205675c966887c04daf4bb7243a5cc6d08bba",
      "old_mode": 33188,
      "old_path": "qemu-tool.c",
      "new_id": "87cc2949b2291b9d50af5ca750601685fc78db9b",
      "new_mode": 33188,
      "new_path": "qemu-tool.c"
    },
    {
      "type": "modify",
      "old_id": "5fe288e08612c113911e9ded463ce0692814b2a1",
      "old_mode": 33188,
      "old_path": "vl.c",
      "new_id": "e8410a8a1b9785e59aa1791e19ccffbd80d7410d",
      "new_mode": 33188,
      "new_path": "vl.c"
    }
  ]
}
