diff options
author | Michael S. Tsirkin <[email protected]> | 2010-07-27 22:56:50 +0300 |
---|---|---|
committer | Michael S. Tsirkin <[email protected]> | 2010-07-28 15:45:18 +0300 |
commit | 9e3d195720d1c8b1e09013185ab8c3b749180fc2 (patch) | |
tree | 365fad241060b88546d7d5523e9c5a74c968a56c | |
parent | d7926ee38f5c6e0bbebe712304f99a4c67e40f84 (diff) |
vhost: apply cgroup to vhost workers
Apply the cgroup of the owner task to the created vhost worker.
Based on patches from Sridhar Samudrala's and Tejun Heo.
Later we'll need to also apply cpumask and probably priority
of the owner process.
Discussion on the best way to do this is still ongoing.
Signed-off-by: Michael S. Tsirkin <[email protected]>
Cc: Tejun Heo <[email protected]>
Cc: Sridhar Samudrala <[email protected]>
Cc: Li Zefan <[email protected]>
-rw-r--r-- | drivers/vhost/vhost.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 30d93c2b45b8..dd2d019b889f 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -23,6 +23,7 @@ #include <linux/highmem.h> #include <linux/slab.h> #include <linux/kthread.h> +#include <linux/cgroup.h> #include <linux/net.h> #include <linux/if_packet.h> @@ -253,9 +254,14 @@ static long vhost_dev_set_owner(struct vhost_dev *dev) } dev->worker = worker; + err = cgroup_attach_task_current_cg(worker); + if (err) + goto err_cgroup; wake_up_process(worker); /* avoid contributing to loadavg */ return 0; +err_cgroup: + kthread_stop(worker); err_worker: if (dev->mm) mmput(dev->mm); |