)]}'
{
  "commit": "ec13ee80145ccb95b00e6e610044bbd94a170051",
  "tree": "44c1f5ef734398ec15e0ca2dd45a1a474899919c",
  "parents": [
    "b8ae0eb320b38415da94a41f75e9f99e0aaff06c"
  ],
  "author": {
    "name": "Michael S. Tsirkin",
    "email": "mst@redhat.com",
    "time": "Wed May 16 10:57:12 2012 +0300"
  },
  "committer": {
    "name": "Michael S. Tsirkin",
    "email": "mst@redhat.com",
    "time": "Thu May 17 12:16:38 2012 +0300"
  },
  "message": "virtio_net: invoke softirqs after __napi_schedule\n\n__napi_schedule might raise softirq but nothing\ncauses do_softirq to trigger, so it does not in fact\nrun. As a result,\nthe error message \"NOHZ: local_softirq_pending 08\"\nsometimes occurs during boot of a KVM guest when the network service is\nstarted and we are oom:\n\n  ...\n  Bringing up loopback interface:  [  OK  ]\n  Bringing up interface eth0:\n  Determining IP information for eth0...NOHZ: local_softirq_pending 08\n   done.\n  [  OK  ]\n  ...\n\nFurther, receive queue processing might get delayed\nindefinitely until some interrupt triggers:\nvirtio_net expected napi to be run immediately.\n\nOne way to cause do_softirq to be executed is by\ninvoking local_bh_enable(). As __napi_schedule is\nnormally called from bh or irq context, this\nseems to make sense: disable bh before __napi_schedule\nand enable afterwards.\n\nIn fact it\u0027s a very complicated way of calling do_softirq(),\nand works since this function is only used when we are not\nin interrupt context.  It\u0027s not hot at all, in any ideal scenario.\n\nReported-by: Ulrich Obergfell \u003cuobergfe@redhat.com\u003e\nTested-by: Ulrich Obergfell \u003cuobergfe@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "af8acc85f4bbd15bf01e939db20932845d7b8312",
      "old_mode": 33188,
      "old_path": "drivers/net/virtio_net.c",
      "new_id": "cbefe671bcc6926111b0735fca734031e8b11268",
      "new_mode": 33188,
      "new_path": "drivers/net/virtio_net.c"
    }
  ]
}
