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