)]}'
{
  "commit": "94f5a43704129ca4995aa3385303c5ae225bde42",
  "tree": "84258ec091fadb00976a785a320c66211f58174d",
  "parents": [
    "79cf9fad341e6e7bd6b55395b71d5c5727d7f5b0"
  ],
  "author": {
    "name": "Liang Li",
    "email": "liang.z.li@intel.com",
    "time": "Mon Nov 02 15:37:00 2015 +0800"
  },
  "committer": {
    "name": "Juan Quintela",
    "email": "quintela@redhat.com",
    "time": "Wed Nov 04 13:40:13 2015 +0100"
  },
  "message": "migration: defer migration_end \u0026 blk_mig_cleanup\n\nBecause of the patch 3ea3b7fa9af067982f34b of kvm, which introduces a\nlazy collapsing of small sptes into large sptes mechanism, now\nmigration_end() is a time consuming operation because it calls\nmemroy_global_dirty_log_stop(), which will trigger the dropping of small\nsptes operation and takes about dozens of milliseconds, so call\nmigration_end() before all the vmsate data has already been transferred\nto the destination will prolong VM downtime. This operation should be\ndeferred after all the data has been transferred to the destination.\n\nblk_mig_cleanup() can be deferred too.\n\nFor a VM with 8G RAM, this patch can reduce the VM downtime about 30 ms.\n\nSigned-off-by: Liang Li \u003cliang.z.li@intel.com\u003e\nReviewed-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nReviewed-by: Juan Quintela \u003cquintela@redhat.com\u003eal3\nReviewed-by: Amit Shah \u003camit.shah@redhat.com\u003eal3\nSigned-off-by: Juan Quintela \u003cquintela@redhat.com\u003eal3\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f7bb1e012669cff5fe511896e7747d3b5c2ef3c9",
      "old_mode": 33188,
      "old_path": "migration/block.c",
      "new_id": "8401597bcc7a88497784333df03f786edd292cc0",
      "new_mode": 33188,
      "new_path": "migration/block.c"
    },
    {
      "type": "modify",
      "old_id": "b092f386b4ebd07256b1ab2cf0f47678bbf89035",
      "old_mode": 33188,
      "old_path": "migration/migration.c",
      "new_id": "d5a7304e765e97793f0dff621d87026f8067ef52",
      "new_mode": 33188,
      "new_path": "migration/migration.c"
    },
    {
      "type": "modify",
      "old_id": "a25bcc7db1e8a8a730272331120252d09942f26a",
      "old_mode": 33188,
      "old_path": "migration/ram.c",
      "new_id": "25e9eebea67d88b10749401d488199e7127e5b19",
      "new_mode": 33188,
      "new_path": "migration/ram.c"
    }
  ]
}
