)]}'
{
  "commit": "b3c17f10fa2cfc29cf35e4821275e046e725213e",
  "tree": "f9b80110e242ab7f1c044970d7e31f71a7234d37",
  "parents": [
    "5ebda31686af6bb70affdcc5777ebc7ed81c0eac"
  ],
  "author": {
    "name": "David Hildenbrand",
    "email": "dahi@linux.vnet.ibm.com",
    "time": "Mon Feb 22 14:14:50 2016 +0100"
  },
  "committer": {
    "name": "Christian Borntraeger",
    "email": "borntraeger@de.ibm.com",
    "time": "Tue Mar 08 13:57:53 2016 +0100"
  },
  "message": "KVM: s390: wake up when the VCPU cpu timer expires\n\nWhen the VCPU cpu timer expires, we have to wake up just like when the ckc\ntriggers. For now, setting up a cpu timer in the guest and going into\nenabled wait will never lead to a wakeup. This patch fixes this problem.\nJust as for the ckc, we have to take care of waking up too early. We\nhave to recalculate the sleep time and go back to sleep.\n\nPlease note that the timer callback calls kvm_s390_get_cpu_timer() from\ninterrupt context. As the timer is canceled when leaving handle_wait(),\nand we don\u0027t do any VCPU cpu timer writes/updates in that function, we can\nbe sure that we will never try to read the VCPU cpu timer from the same cpu\nthat is currentyl updating the timer (deadlock).\n\nReported-by: Sascha Silbe \u003csilbe@linux.vnet.ibm.com\u003e\nTested-by: Sascha Silbe \u003csilbe@linux.vnet.ibm.com\u003e\nSigned-off-by: David Hildenbrand \u003cdahi@linux.vnet.ibm.com\u003e\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4604e9accc650a94f8203206a98a4217e803d6ae",
      "old_mode": 33188,
      "old_path": "arch/s390/kvm/interrupt.c",
      "new_id": "ef84a803433eeea0a3992f0aa5eaed3fe440bcdc",
      "new_mode": 33188,
      "new_path": "arch/s390/kvm/interrupt.c"
    }
  ]
}
