)]}'
{
  "commit": "8a35747a5d13b99e076b0222729e0caa48cb69b6",
  "tree": "387e2840fe46edd9cc36027cf188778f2c5ab1ff",
  "parents": [
    "bded64a7ff82f6af56426a4ff2483888e5ad5fe9"
  ],
  "author": {
    "name": "Herbert Xu",
    "email": "herbert@gondor.apana.org.au",
    "time": "Wed Jul 21 21:44:31 2010 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Thu Jul 22 13:08:56 2010 -0700"
  },
  "message": "macvtap: Limit packet queue length\n\nMark Wagner reported OOM symptoms when sending UDP traffic over\na macvtap link to a kvm receiver.\n\nThis appears to be caused by the fact that macvtap packet queues\nare unlimited in length.  This means that if the receiver can\u0027t\nkeep up with the rate of flow, then we will hit OOM. Of course\nit gets worse if the OOM killer then decides to kill the receiver.\n\nThis patch imposes a cap on the packet queue length, in the same\nway as the tuntap driver, using the device TX queue length.\n\nPlease note that macvtap currently has no way of giving congestion\nnotification, that means the software device TX queue cannot be\nused and packets will always be dropped once the macvtap driver\nqueue fills up.\n\nThis shouldn\u0027t be a great problem for the scenario where macvtap\nis used to feed a kvm receiver, as the traffic is most likely\nexternal in origin so congestion notification can\u0027t be applied\nanyway.\n\nOf course, if anybody decides to complain about guest-to-guest\nUDP packet loss down the track, then we may have to revisit this.\n\nIncidentally, this patch also fixes a real memory leak when\nmacvtap_get_queue fails.\n\nChris Wright noticed that for this patch to work, we need a\nnon-zero TX queue length.  This patch includes his work to change\nthe default macvtap TX queue length to 500.\n\nReported-by: Mark Wagner \u003cmwagner@redhat.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "87e8d4cb40579a8947419446012b38896b29064c",
      "old_mode": 33188,
      "old_path": "drivers/net/macvlan.c",
      "new_id": "f15fe2cf72ae1261fe6d0cde6ca263c2d0c54809",
      "new_mode": 33188,
      "new_path": "drivers/net/macvlan.c"
    },
    {
      "type": "modify",
      "old_id": "a8a94e2f6ddcfc04917ab2ec39305ac26e69ecf2",
      "old_mode": 33188,
      "old_path": "drivers/net/macvtap.c",
      "new_id": "ff02b836c3c4a3d23c6b78fc707508b40732d9f8",
      "new_mode": 33188,
      "new_path": "drivers/net/macvtap.c"
    },
    {
      "type": "modify",
      "old_id": "9ea047aca7955e7c654512b37648617d8c76c904",
      "old_mode": 33188,
      "old_path": "include/linux/if_macvlan.h",
      "new_id": "1ffaeffeff740f83e3e79b5d6e03b306410d6b3f",
      "new_mode": 33188,
      "new_path": "include/linux/if_macvlan.h"
    }
  ]
}
