1
0
Fork 0
alistair23-linux/drivers/vhost
Tejun Heo c23f3445e6 vhost: replace vhost_workqueue with per-vhost kthread
Replace vhost_workqueue with per-vhost kthread.  Other than callback
argument change from struct work_struct * to struct vhost_work *,
there's no visible change to vhost_poll_*() interface.

This conversion is to make each vhost use a dedicated kthread so that
resource control via cgroup can be applied.

Partially based on Sridhar Samudrala's patch.

* Updated to use sub structure vhost_work instead of directly using
  vhost_poll at Michael's suggestion.

* Added flusher wake_up() optimization at Michael's suggestion.

Changes by MST:
* Converted atomics/barrier use to a spinlock.
* Create thread on SET_OWNER
* Fix flushing

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Cc: Sridhar Samudrala <samudrala.sridhar@gmail.com>
2010-07-28 15:44:53 +03:00
..
Kconfig net/macvtap: add vhost support 2010-02-18 14:08:38 -08:00
Makefile vhost_net: a kernel-level virtio server 2010-01-15 01:43:29 -08:00
net.c vhost: replace vhost_workqueue with per-vhost kthread 2010-07-28 15:44:53 +03:00
vhost.c vhost: replace vhost_workqueue with per-vhost kthread 2010-07-28 15:44:53 +03:00
vhost.h vhost: replace vhost_workqueue with per-vhost kthread 2010-07-28 15:44:53 +03:00