)]}'
{
  "commit": "d57ed95da483418e8b0433da693c9168dd0a2df6",
  "tree": "0eb215813f3066bf634a395d02cf4aab3ba94fc6",
  "parents": [
    "97a545ab6ce922a0f868d192718a48a0091ebc5e"
  ],
  "author": {
    "name": "Michael S. Tsirkin",
    "email": "mst@redhat.com",
    "time": "Thu Jan 28 00:42:23 2010 +0200"
  },
  "committer": {
    "name": "Rusty Russell",
    "email": "rusty@rustcorp.com.au",
    "time": "Wed Feb 24 14:22:25 2010 +1030"
  },
  "message": "virtio: use smp_XX barriers on SMP\n\nvirtio is communicating with a virtual \"device\" that actually runs on\nanother host processor. Thus SMP barriers can be used to control\nmemory access ordering.\n\nWhere possible, we should use SMP barriers which are more lightweight than\nmandatory barriers, because mandatory barriers also control MMIO effects on\naccesses through relaxed memory I/O windows (which virtio does not use)\n(compare specifically smp_rmb and rmb on x86_64).\n\nWe can\u0027t just use smp_mb and friends though, because\nwe must force memory ordering even if guest is UP since host could be\nrunning on another CPU, but SMP barriers are defined to barrier() in\nthat configuration. So, for UP fall back to mandatory barriers instead.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1ee97d402a48e1d39079760a4571fc1a1d549d98",
      "old_mode": 33188,
      "old_path": "drivers/virtio/virtio_ring.c",
      "new_id": "827f7e0426108dcf6b9a9c8bc04b3ab7a337db39",
      "new_mode": 33188,
      "new_path": "drivers/virtio/virtio_ring.c"
    }
  ]
}
