)]}'
{
  "log": [
    {
      "commit": "39286fa41a8b2c6a9c1f656a7b3c3efca95bc1b9",
      "tree": "1639935ff004a1ba9452314bd8921f81058bb29a",
      "parents": [
        "d6db3f5c11dc7ed5712d5d5682aa34025ee5248e"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "samudrala@us.ibm.com",
        "time": "Sun Feb 28 19:39:16 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Feb 28 19:50:33 2010 +0200"
      },
      "message": "vhost-net: restart tx poll on sk_sndbuf full\n\nguest to remote communication with vhost net sometimes stops until\nguest driver is restarted. This happens when we get guest kick precisely\nwhen the backend send queue is full, as a result handle_tx() returns without\npolling backend. This patch fixes this by restarting tx poll on this condition.\n\nSigned-off-by: Sridhar Samudrala \u003csamudrala@us.ibm.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nTested-by: Tom Lendacky \u003ctoml@us.ibm.com\u003e\n"
    },
    {
      "commit": "d6db3f5c11dc7ed5712d5d5682aa34025ee5248e",
      "tree": "30d7c7dd5987be4185943de23db686027e1a0867",
      "parents": [
        "73a99f083009d67d8e12603420e008d5c21b0b7d"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Feb 23 11:25:23 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Feb 28 19:42:36 2010 +0200"
      },
      "message": "vhost: fix get_user_pages_fast error handling\n\nget_user_pages_fast returns number of pages on success, negative value\non failure, but never 0. Fix vhost code to match this logic.\n\nReviewed-by: Juan Quintela \u003cquintela@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "73a99f083009d67d8e12603420e008d5c21b0b7d",
      "tree": "01937177ec99507ec28b912c0cadebd37f0becdb",
      "parents": [
        "86e9424d7252bae5ad1c17b4b8088193e6b27cbe"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Feb 23 11:23:45 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Feb 28 19:42:35 2010 +0200"
      },
      "message": "vhost: initialize log eventfd context pointer\n\nvq log eventfd context pointer needs to be initialized, otherwise\noperation may fail or oops if log is enabled but log eventfd not set by\nuserspace.  When log_ctx for device is created, it is copied to the vq.\nThis reset was missing.\n\nReviewed-by: Juan Quintela \u003cquintela@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "86e9424d7252bae5ad1c17b4b8088193e6b27cbe",
      "tree": "ff6bbcf61d5518bd4e06f4cd09c20a4b1f6fcaa4",
      "parents": [
        "655ffee284dfcf9a24ac0343f3e5ee6db85b85c5"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Feb 17 19:11:33 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Feb 28 19:42:35 2010 +0200"
      },
      "message": "vhost: logging thinko fix\n\nvhost was dong some complex math to get\noffset to log at, and got it wrong by a couple of bytes,\nwhile in fact it\u0027s simple: get address where we write,\nsubtract start of buffer, add log base.\n\nDo it this way.\n\nReviewed-by: Juan Quintela \u003cquintela@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n"
    },
    {
      "commit": "501c774cb13c3ef8fb7fc5f08fa19473f7d9a0db",
      "tree": "65db25ce76a5c038d69c304d9b6456e4f68e9f47",
      "parents": [
        "02df55d28c6001a3cdb7a997a34a0b01f01d015e"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Feb 18 05:46:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 18 14:08:38 2010 -0800"
      },
      "message": "net/macvtap: add vhost support\n\nThis adds support for passing a macvtap file descriptor into\nvhost-net, much like we already do for tun/tap.\n\nMost of the new code is taken from the respective patch\nin the tun driver and may get consolidated in the future.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5659338c88963ea791118e5e11e314b24f90c3eb",
      "tree": "1fbaa549d012e2ba9cd327ed6ac5dbcc773a0244",
      "parents": [
        "f10a1f2e7e93a35cb603b63090ff0e70a576a641"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Feb 01 07:21:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 14 22:42:53 2010 -0800"
      },
      "message": "vhost-net: switch to smp barriers\n\nvhost-net only uses memory barriers to control SMP effects\n(communication with userspace potentially running on a different CPU),\nso it should use SMP barriers and not mandatory barriers for memory\naccess ordering, as suggested by Documentation/memory-barriers.txt\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17660f81243e998f36257881ac3ae61685bf91c1",
      "tree": "a716bacdf97e7baff157b0ec0cb2f77ebe54c09c",
      "parents": [
        "4b258461c0b31ded170a1a56b944b0fded1c887b"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jan 21 01:28:45 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 21 01:28:45 2010 -0800"
      },
      "message": "vhost: fix TUN\u003dm VHOST_NET\u003dy\n\ndrivers/built-in.o: In function `get_tun_socket\u0027:\n    net.c:(.text+0x15436e): undefined reference to `tun_get_socket\u0027\n\nIf tun is a module, vhost must be a module, too.\nIf tun is built-in or disabled, vhost can be built-in.\n\nNote: TUN || !TUN might look a bit strange until you realize\nthat boolean logic rules do not apply for tristate variables.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a4d5c94e959359ece6d6b55045c3f046677f55c",
      "tree": "113cfe31540e3d77925837f6990c3284d425bfd1",
      "parents": [
        "5da779c34ccff5e1e617892b6c8bd8260fb1f04c"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jan 14 06:17:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 15 01:43:29 2010 -0800"
      },
      "message": "vhost_net: a kernel-level virtio server\n\nWhat it is: vhost net is a character device that can be used to reduce\nthe number of system calls involved in virtio networking.\nExisting virtio net code is used in the guest without modification.\n\nThere\u0027s similarity with vringfd, with some differences and reduced scope\n- uses eventfd for signalling\n- structures can be moved around in memory at any time (good for\n  migration, bug work-arounds in userspace)\n- write logging is supported (good for migration)\n- support memory table and not just an offset (needed for kvm)\n\ncommon virtio related code has been put in a separate file vhost.c and\ncan be made into a separate module if/when more backends appear.  I used\nRusty\u0027s lguest.c as the source for developing this part : this supplied\nme with witty comments I wouldn\u0027t be able to write myself.\n\nWhat it is not: vhost net is not a bus, and not a generic new system\ncall. No assumptions are made on how guest performs hypercalls.\nUserspace hypervisors are supported as well as kvm.\n\nHow it works: Basically, we connect virtio frontend (configured by\nuserspace) to a backend. The backend could be a network device, or a tap\ndevice.  Backend is also configured by userspace, including vlan/mac\netc.\n\nStatus: This works for me, and I haven\u0027t see any crashes.\nCompared to userspace, people reported improved latency (as I save up to\n4 system calls per packet), as well as better bandwidth and CPU\nutilization.\n\nFeatures that I plan to look at in the future:\n- mergeable buffers\n- zero copy\n- scalability tuning: figure out the best threading model to use\n\nNote on RCU usage (this is also documented in vhost.h, near\nprivate_pointer which is the value protected by this variant of RCU):\nwhat is happening is that the rcu_dereference() is being used in a\nworkqueue item.  The role of rcu_read_lock() is taken on by the start of\nexecution of the workqueue item, of rcu_read_unlock() by the end of\nexecution of the workqueue item, and of synchronize_rcu() by\nflush_workqueue()/flush_work(). In the future we might need to apply\nsome gcc attribute or sparse annotation to the function passed to\nINIT_WORK(). Paul\u0027s ack below is for this RCU usage.\n\n(Includes fixes by Alan Cox \u003calan@linux.intel.com\u003e,\nDavid L Stevens \u003cdlstevens@us.ibm.com\u003e,\nChris Wright \u003cchrisw@redhat.com\u003e)\n\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
