[PATCH v3] virtio_balloon: Convert vballoon kthread into a workqueue

2014-11-20 Thread Petr Mladek
Workqueues have clean and rich API for all basic operations. The code is usually easier and better readable. It can be easily tuned for the given purpose. In many cases, it allows to avoid an extra kernel thread. It helps to stop the growing number of them. Also there will be less thread-specific

Re: [PATCH v3] virtio_balloon: Convert vballoon kthread into a workqueue

2014-11-20 Thread Tejun Heo
On Thu, Nov 20, 2014 at 05:03:17PM +0100, Petr Mladek wrote: ... @@ -476,7 +460,6 @@ static void virtballoon_remove(struct virtio_device *vdev) { struct virtio_balloon *vb = vdev-priv; - kthread_stop(vb-thread); remove_common(vb); kfree(vb); } Shouldn't the work

Re: [PATCH v3] virtio_balloon: Convert vballoon kthread into a workqueue

2014-11-20 Thread Michael S. Tsirkin
On Thu, Nov 20, 2014 at 11:07:46AM -0500, Tejun Heo wrote: On Thu, Nov 20, 2014 at 05:03:17PM +0100, Petr Mladek wrote: ... @@ -476,7 +460,6 @@ static void virtballoon_remove(struct virtio_device *vdev) { struct virtio_balloon *vb = vdev-priv; - kthread_stop(vb-thread);

Re: [PATCH v3] virtio_balloon: Convert vballoon kthread into a workqueue

2014-11-20 Thread Michael S. Tsirkin
On Thu, Nov 20, 2014 at 06:25:43PM +0200, Michael S. Tsirkin wrote: On Thu, Nov 20, 2014 at 11:07:46AM -0500, Tejun Heo wrote: On Thu, Nov 20, 2014 at 05:03:17PM +0100, Petr Mladek wrote: ... @@ -476,7 +460,6 @@ static void virtballoon_remove(struct virtio_device *vdev) {

Re: [PATCH v3] virtio_balloon: Convert vballoon kthread into a workqueue

2014-11-20 Thread Tejun Heo
On Thu, Nov 20, 2014 at 06:26:24PM +0200, Michael S. Tsirkin wrote: On Thu, Nov 20, 2014 at 06:25:43PM +0200, Michael S. Tsirkin wrote: On Thu, Nov 20, 2014 at 11:07:46AM -0500, Tejun Heo wrote: On Thu, Nov 20, 2014 at 05:03:17PM +0100, Petr Mladek wrote: ... @@ -476,7 +460,6 @@

Re: [PATCH v3] virtio_balloon: Convert vballoon kthread into a workqueue

2014-11-20 Thread Tejun Heo
On Thu, Nov 20, 2014 at 06:47:11PM +0200, Michael S. Tsirkin wrote: There's cancel_work_sync() to stop the self-requeueing ones. What happens if queue_work runs while cancel_work_sync is in progress? Does it fail to queue? cancel_work_sync() is guaranteed to take self-requeueing work items

Re: [PATCH v3] virtio_balloon: Convert vballoon kthread into a workqueue

2014-11-20 Thread Tejun Heo
On Thu, Nov 20, 2014 at 11:49:33AM -0500, Tejun Heo wrote: On Thu, Nov 20, 2014 at 06:47:11PM +0200, Michael S. Tsirkin wrote: There's cancel_work_sync() to stop the self-requeueing ones. What happens if queue_work runs while cancel_work_sync is in progress? Does it fail to queue?

Re: [PATCH v3] virtio_balloon: Convert vballoon kthread into a workqueue

2014-11-20 Thread Michael S. Tsirkin
On Thu, Nov 20, 2014 at 11:49:33AM -0500, Tejun Heo wrote: On Thu, Nov 20, 2014 at 06:47:11PM +0200, Michael S. Tsirkin wrote: There's cancel_work_sync() to stop the self-requeueing ones. What happens if queue_work runs while cancel_work_sync is in progress? Does it fail to queue?

Re: [PATCH v3] virtio_balloon: Convert vballoon kthread into a workqueue

2014-11-20 Thread Petr Mladek
On Thu 2014-11-20 11:29:35, Tejun Heo wrote: On Thu, Nov 20, 2014 at 06:26:24PM +0200, Michael S. Tsirkin wrote: On Thu, Nov 20, 2014 at 06:25:43PM +0200, Michael S. Tsirkin wrote: On Thu, Nov 20, 2014 at 11:07:46AM -0500, Tejun Heo wrote: On Thu, Nov 20, 2014 at 05:03:17PM +0100, Petr

Re: [PATCH v3] virtio_balloon: Convert vballoon kthread into a workqueue

2014-11-20 Thread Michael S. Tsirkin
On Thu, Nov 20, 2014 at 05:55:58PM +0100, Petr Mladek wrote: On Thu 2014-11-20 11:29:35, Tejun Heo wrote: On Thu, Nov 20, 2014 at 06:26:24PM +0200, Michael S. Tsirkin wrote: On Thu, Nov 20, 2014 at 06:25:43PM +0200, Michael S. Tsirkin wrote: On Thu, Nov 20, 2014 at 11:07:46AM -0500,

Re: [PATCH v3] virtio_balloon: Convert vballoon kthread into a workqueue

2014-11-20 Thread Petr Mladek
On Thu 2014-11-20 19:00:16, Michael S. Tsirkin wrote: On Thu, Nov 20, 2014 at 05:55:58PM +0100, Petr Mladek wrote: On Thu 2014-11-20 11:29:35, Tejun Heo wrote: On Thu, Nov 20, 2014 at 06:26:24PM +0200, Michael S. Tsirkin wrote: On Thu, Nov 20, 2014 at 06:25:43PM +0200, Michael S. Tsirkin