search for: event_run

Displaying 20 results from an estimated 21 matches for "event_run".

2019 May 31
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...;>>> On Wed, May 29, 2019 at 11:22:40AM +0800, Jason Wang wrote: >>>>>> On 2019/5/28 ??6:56, Stefano Garzarella wrote: >>>>>>> @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev) >>>>>>> vsock->event_run = false; >>>>>>> mutex_unlock(&vsock->event_lock); >>>>>>> + /* Flush all pending works */ >>>>>>> + virtio_vsock_flush_works(vsock); >>>>>>> + >>>>>>> /* Flush all device wri...
2019 May 31
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...;>>> On Wed, May 29, 2019 at 11:22:40AM +0800, Jason Wang wrote: >>>>>> On 2019/5/28 ??6:56, Stefano Garzarella wrote: >>>>>>> @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev) >>>>>>> vsock->event_run = false; >>>>>>> mutex_unlock(&vsock->event_lock); >>>>>>> + /* Flush all pending works */ >>>>>>> + virtio_vsock_flush_works(vsock); >>>>>>> + >>>>>>> /* Flush all device wri...
2019 Jun 13
1
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...29, 2019 at 11:22:40AM +0800, Jason Wang wrote: >>>>>>>> On 2019/5/28 ??6:56, Stefano Garzarella wrote: >>>>>>>>> @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev) >>>>>>>>> vsock->event_run = false; >>>>>>>>> mutex_unlock(&vsock->event_lock); >>>>>>>>> + /* Flush all pending works */ >>>>>>>>> + virtio_vsock_flush_works(vsock); >>>>>>>>> + >>>>>>&...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...;>>> /* Reset all connected sockets when the device disappear */ >>>>> vsock_for_each_connected_socket(virtio_vsock_reset_sock); >>>>> @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev) >>>>> vsock->event_run = false; >>>>> mutex_unlock(&vsock->event_lock); >>>>> + /* Flush all pending works */ >>>>> + virtio_vsock_flush_works(vsock); >>>>> + >>>>> /* Flush all device writes and interrupts, device will not use an...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...;>>> /* Reset all connected sockets when the device disappear */ >>>>> vsock_for_each_connected_socket(virtio_vsock_reset_sock); >>>>> @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev) >>>>> vsock->event_run = false; >>>>> mutex_unlock(&vsock->event_lock); >>>>> + /* Flush all pending works */ >>>>> + virtio_vsock_flush_works(vsock); >>>>> + >>>>> /* Flush all device writes and interrupts, device will not use an...
2019 May 29
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...gt; - flush_work(&vsock->send_pkt_work); > - > /* Reset all connected sockets when the device disappear */ > vsock_for_each_connected_socket(virtio_vsock_reset_sock); > > @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev) > vsock->event_run = false; > mutex_unlock(&vsock->event_lock); > > + /* Flush all pending works */ > + virtio_vsock_flush_works(vsock); > + > /* Flush all device writes and interrupts, device will not use any > * more buffers. > */ > @@ -726,6 +732,11 @@ static void...
2019 May 29
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...gt; - flush_work(&vsock->send_pkt_work); > - > /* Reset all connected sockets when the device disappear */ > vsock_for_each_connected_socket(virtio_vsock_reset_sock); > > @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev) > vsock->event_run = false; > mutex_unlock(&vsock->event_lock); > > + /* Flush all pending works */ > + virtio_vsock_flush_works(vsock); > + > /* Flush all device writes and interrupts, device will not use any > * more buffers. > */ > @@ -726,6 +732,11 @@ static void...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...d_pkt_work); >>> - >>> /* Reset all connected sockets when the device disappear */ >>> vsock_for_each_connected_socket(virtio_vsock_reset_sock); >>> @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev) >>> vsock->event_run = false; >>> mutex_unlock(&vsock->event_lock); >>> + /* Flush all pending works */ >>> + virtio_vsock_flush_works(vsock); >>> + >>> /* Flush all device writes and interrupts, device will not use any >>> * more buffers. >&g...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...d_pkt_work); >>> - >>> /* Reset all connected sockets when the device disappear */ >>> vsock_for_each_connected_socket(virtio_vsock_reset_sock); >>> @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev) >>> vsock->event_run = false; >>> mutex_unlock(&vsock->event_lock); >>> + /* Flush all pending works */ >>> + virtio_vsock_flush_works(vsock); >>> + >>> /* Flush all device writes and interrupts, device will not use any >>> * more buffers. >&g...
2019 Jun 06
0
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...19 at 11:22:40AM +0800, Jason Wang wrote: > > > > > > > On 2019/5/28 ??6:56, Stefano Garzarella wrote: > > > > > > > > @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev) > > > > > > > > vsock->event_run = false; > > > > > > > > mutex_unlock(&vsock->event_lock); > > > > > > > > + /* Flush all pending works */ > > > > > > > > + virtio_vsock_flush_works(vsock); > > > > > > > > + > > >...
2019 May 31
0
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...t; > > On Wed, May 29, 2019 at 11:22:40AM +0800, Jason Wang wrote: > > > > > On 2019/5/28 ??6:56, Stefano Garzarella wrote: > > > > > > @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev) > > > > > > vsock->event_run = false; > > > > > > mutex_unlock(&vsock->event_lock); > > > > > > + /* Flush all pending works */ > > > > > > + virtio_vsock_flush_works(vsock); > > > > > > + > > > > > > /* Flush all device...
2019 Jun 28
0
[PATCH v2 2/3] vsock/virtio: stop workers during the .remove()
...54,7 @@ struct virtio_vsock { * must be accessed with rx_lock held. */ struct mutex rx_lock; + bool rx_run; int rx_buf_nr; int rx_buf_max_nr; @@ -60,6 +62,7 @@ struct virtio_vsock { * vqs[VSOCK_VQ_EVENT] must be accessed with event_lock held. */ struct mutex event_lock; + bool event_run; struct virtio_vsock_event event_list[8]; u32 guest_cid; @@ -94,6 +97,10 @@ static void virtio_transport_loopback_work(struct work_struct *work) spin_unlock_bh(&vsock->loopback_list_lock); mutex_lock(&vsock->rx_lock); + + if (!vsock->rx_run) + goto out; + while (!lis...
2019 Jul 05
0
[PATCH v3 2/3] vsock/virtio: stop workers during the .remove()
...54,7 @@ struct virtio_vsock { * must be accessed with rx_lock held. */ struct mutex rx_lock; + bool rx_run; int rx_buf_nr; int rx_buf_max_nr; @@ -60,6 +62,7 @@ struct virtio_vsock { * vqs[VSOCK_VQ_EVENT] must be accessed with event_lock held. */ struct mutex event_lock; + bool event_run; struct virtio_vsock_event event_list[8]; u32 guest_cid; @@ -94,6 +97,10 @@ static void virtio_transport_loopback_work(struct work_struct *work) spin_unlock_bh(&vsock->loopback_list_lock); mutex_lock(&vsock->rx_lock); + + if (!vsock->rx_run) + goto out; + while (!lis...
2019 May 28
8
[PATCH 0/4] vsock/virtio: several fixes in the .probe() and .remove()
During the review of "[PATCH] vsock/virtio: Initialize core virtio vsock before registering the driver", Stefan pointed out some possible issues in the .probe() and .remove() callbacks of the virtio-vsock driver. This series tries to solve these issues: - Patch 1 postpones the 'the_virtio_vsock' assignment at the end of the .probe() to avoid that some sockets queue works when
2019 May 28
8
[PATCH 0/4] vsock/virtio: several fixes in the .probe() and .remove()
During the review of "[PATCH] vsock/virtio: Initialize core virtio vsock before registering the driver", Stefan pointed out some possible issues in the .probe() and .remove() callbacks of the virtio-vsock driver. This series tries to solve these issues: - Patch 1 postpones the 'the_virtio_vsock' assignment at the end of the .probe() to avoid that some sockets queue works when
2019 May 29
0
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...&vsock->send_pkt_work); > > - > > /* Reset all connected sockets when the device disappear */ > > vsock_for_each_connected_socket(virtio_vsock_reset_sock); > > @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev) > > vsock->event_run = false; > > mutex_unlock(&vsock->event_lock); > > + /* Flush all pending works */ > > + virtio_vsock_flush_works(vsock); > > + > > /* Flush all device writes and interrupts, device will not use any > > * more buffers. > > */ > >...
2019 May 30
0
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...> > > > /* Reset all connected sockets when the device disappear */ > > > > vsock_for_each_connected_socket(virtio_vsock_reset_sock); > > > > @@ -690,6 +693,9 @@ static void virtio_vsock_remove(struct virtio_device *vdev) > > > > vsock->event_run = false; > > > > mutex_unlock(&vsock->event_lock); > > > > + /* Flush all pending works */ > > > > + virtio_vsock_flush_works(vsock); > > > > + > > > > /* Flush all device writes and interrupts, device will not use any >...
2019 Jun 28
11
[PATCH v2 0/3] vsock/virtio: several fixes in the .probe() and .remove()
During the review of "[PATCH] vsock/virtio: Initialize core virtio vsock before registering the driver", Stefan pointed out some possible issues in the .probe() and .remove() callbacks of the virtio-vsock driver. This series tries to solve these issues: - Patch 1 adds RCU critical sections to avoid use-after-free of 'the_virtio_vsock' pointer. - Patch 2 stops workers before to
2019 Jun 28
11
[PATCH v2 0/3] vsock/virtio: several fixes in the .probe() and .remove()
During the review of "[PATCH] vsock/virtio: Initialize core virtio vsock before registering the driver", Stefan pointed out some possible issues in the .probe() and .remove() callbacks of the virtio-vsock driver. This series tries to solve these issues: - Patch 1 adds RCU critical sections to avoid use-after-free of 'the_virtio_vsock' pointer. - Patch 2 stops workers before to
2019 Jul 05
4
[PATCH v3 0/3] vsock/virtio: several fixes in the .probe() and .remove()
During the review of "[PATCH] vsock/virtio: Initialize core virtio vsock before registering the driver", Stefan pointed out some possible issues in the .probe() and .remove() callbacks of the virtio-vsock driver. This series tries to solve these issues: - Patch 1 adds RCU critical sections to avoid use-after-free of 'the_virtio_vsock' pointer. - Patch 2 stops workers before to