)]}'
{
  "commit": "6c8dca5d53f95009d4fff00195bf38f277dc4366",
  "tree": "60cc83cf949d6e598e6dc80dc668aebd42c65540",
  "parents": [
    "a8a11f06973fa63ad692a8f97694cb5eeb70b3f3"
  ],
  "author": {
    "name": "Rusty Russell",
    "email": "rusty@rustcorp.com.au",
    "time": "Fri Jul 27 13:42:52 2007 +1000"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Sat Jul 28 19:54:33 2007 -0700"
  },
  "message": "Provide timespec to guests rather than jiffies clock.\n\nA non-periodic clock_event_device and the \"jiffies\" clock don\u0027t mix well:\ntick_handle_periodic() can go into an infinite loop.\n\nCurrently lguest guests use the jiffies clock when the TSC is\nunusable.  Instead, make the Host write the current time into the lguest\npage on every interrupt.  This doesn\u0027t cost much but is more precise\nand at least as accurate as the jiffies clock.  It also gets rid of\nthe GET_WALLCLOCK hypercall.\n\nAlso, delay setting sched_clock until our clock is set up, otherwise\nthe early printk timestamps can go backwards (not harmful, just ugly).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7a5299f9679ddcbe083cb7b16657ecc22cf1e2aa",
      "old_mode": 33188,
      "old_path": "drivers/lguest/hypercalls.c",
      "new_id": "db6caace3b9c22a7ce16a85580de212d318c4cd2",
      "new_mode": 33188,
      "new_path": "drivers/lguest/hypercalls.c"
    },
    {
      "type": "modify",
      "old_id": "bd0091bf79ec485edacedcdaf47194e429a35cb3",
      "old_mode": 33188,
      "old_path": "drivers/lguest/interrupts_and_traps.c",
      "new_id": "49787e964a0dfcae6b03fa044aaf2c0a03fd2a04",
      "new_mode": 33188,
      "new_path": "drivers/lguest/interrupts_and_traps.c"
    },
    {
      "type": "modify",
      "old_id": "269116eee85f93944485270e06933c8653861ee3",
      "old_mode": 33188,
      "old_path": "drivers/lguest/lg.h",
      "new_id": "64f0abed317c2fbb6afe4c7d3ca881c163353ef7",
      "new_mode": 33188,
      "new_path": "drivers/lguest/lg.h"
    },
    {
      "type": "modify",
      "old_id": "3386b0e76900cd5428b4227a143a2630ac08f62e",
      "old_mode": 33188,
      "old_path": "drivers/lguest/lguest.c",
      "new_id": "1bc1546c7fd03c1fbb2a07bad1ffd5e15d498e13",
      "new_mode": 33188,
      "new_path": "drivers/lguest/lguest.c"
    },
    {
      "type": "modify",
      "old_id": "e76c151c71290a9669db0d503d98f90eb4494976",
      "old_mode": 33188,
      "old_path": "include/linux/lguest.h",
      "new_id": "157ad64aa7ce8e020759db4498a7288d31345662",
      "new_mode": 33188,
      "new_path": "include/linux/lguest.h"
    }
  ]
}
