search for: vhost_vq_detach_work

Displaying 4 results from an estimated 4 matches for "vhost_vq_detach_work".

Did you mean: vhost_vq_detach_worker
2023 Apr 10
1
[PATCH v6 11/11] vhost: allow userspace to create workers
...;worker->refcount)) > >> + return; > >> + > >> WARN_ON(!llist_empty(&worker->work_list)); > >> vhost_task_stop(worker->vtsk); > >> kfree(worker); > >> } > >> > >> +static void vhost_vq_detach_worker(struct vhost_virtqueue *vq) > >> +{ > >> + if (vq->worker) > > > > What happens to the pending work that queues for the old worker? > > I didn't think there would be works queued at this time. I see your comment > below about my assumption about...
2023 Mar 28
1
[PATCH v6 11/11] vhost: allow userspace to create workers
...) { - struct vhost_worker *worker = dev->worker; - if (!worker) return; - dev->worker = NULL; + if (!refcount_dec_and_test(&worker->refcount)) + return; + WARN_ON(!llist_empty(&worker->work_list)); vhost_task_stop(worker->vtsk); kfree(worker); } +static void vhost_vq_detach_worker(struct vhost_virtqueue *vq) +{ + if (vq->worker) + vhost_worker_put(vq->dev, vq->worker); + vq->worker = NULL; +} + +static void vhost_workers_free(struct vhost_dev *dev) +{ + struct vhost_worker *worker; + unsigned long i; + + if (!dev->use_worker) + return; + + for (i = 0; i &l...
2023 Apr 12
1
[PATCH v6 11/11] vhost: allow userspace to create workers
...d worker during attach. > > I see. We actually don't free until VHOST_FREE_WORKER. > > When we create the worker from VHOST_NEW_WORKER we set the refcount > to 1. Then each time a virtqueue and worker are attached to each other > we increase the refcount. > > When you do vhost_vq_detach_worker then it drops the refcount from the > attach. Then if you detached the worker from all the virtqueues you > still have the refcount=1 from the VHOST_NEW_WORKER call. > > The refcount decrement in VHOST_FREE_WORKER via vhost_worker_put would > be the final put. Note that if userspac...
2023 Mar 28
12
[PATCH v6 00/11] vhost: multiple worker support
The following patches were built over linux-next which contains various vhost patches in mst's tree and the vhost_task patchset in Christian Brauner's tree: git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git kernel.user_worker branch: https://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git/log/?h=kernel.user_worker The latter patchset handles the review comment