search for: flush_work

Displaying 20 results from an estimated 340 matches for "flush_work".

2019 May 29
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...io_transport.c > index e694df10ab61..ad093ce96693 100644 > --- a/net/vmw_vsock/virtio_transport.c > +++ b/net/vmw_vsock/virtio_transport.c > @@ -660,6 +660,15 @@ static int virtio_vsock_probe(struct virtio_device *vdev) > return ret; > } > > +static void virtio_vsock_flush_works(struct virtio_vsock *vsock) > +{ > + flush_work(&vsock->loopback_work); > + flush_work(&vsock->rx_work); > + flush_work(&vsock->tx_work); > + flush_work(&vsock->event_work); > + flush_work(&vsock->send_pkt_work); > +} > + > static voi...
2019 May 29
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...io_transport.c > index e694df10ab61..ad093ce96693 100644 > --- a/net/vmw_vsock/virtio_transport.c > +++ b/net/vmw_vsock/virtio_transport.c > @@ -660,6 +660,15 @@ static int virtio_vsock_probe(struct virtio_device *vdev) > return ret; > } > > +static void virtio_vsock_flush_works(struct virtio_vsock *vsock) > +{ > + flush_work(&vsock->loopback_work); > + flush_work(&vsock->rx_work); > + flush_work(&vsock->tx_work); > + flush_work(&vsock->event_work); > + flush_work(&vsock->send_pkt_work); > +} > + > static voi...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...093ce96693 100644 >>> --- a/net/vmw_vsock/virtio_transport.c >>> +++ b/net/vmw_vsock/virtio_transport.c >>> @@ -660,6 +660,15 @@ static int virtio_vsock_probe(struct virtio_device *vdev) >>> return ret; >>> } >>> +static void virtio_vsock_flush_works(struct virtio_vsock *vsock) >>> +{ >>> + flush_work(&vsock->loopback_work); >>> + flush_work(&vsock->rx_work); >>> + flush_work(&vsock->tx_work); >>> + flush_work(&vsock->event_work); >>> + flush_work(&vsock->...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...093ce96693 100644 >>> --- a/net/vmw_vsock/virtio_transport.c >>> +++ b/net/vmw_vsock/virtio_transport.c >>> @@ -660,6 +660,15 @@ static int virtio_vsock_probe(struct virtio_device *vdev) >>> return ret; >>> } >>> +static void virtio_vsock_flush_works(struct virtio_vsock *vsock) >>> +{ >>> + flush_work(&vsock->loopback_work); >>> + flush_work(&vsock->rx_work); >>> + flush_work(&vsock->tx_work); >>> + flush_work(&vsock->event_work); >>> + flush_work(&vsock->...
2019 May 28
0
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...ock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c index e694df10ab61..ad093ce96693 100644 --- a/net/vmw_vsock/virtio_transport.c +++ b/net/vmw_vsock/virtio_transport.c @@ -660,6 +660,15 @@ static int virtio_vsock_probe(struct virtio_device *vdev) return ret; } +static void virtio_vsock_flush_works(struct virtio_vsock *vsock) +{ + flush_work(&vsock->loopback_work); + flush_work(&vsock->rx_work); + flush_work(&vsock->tx_work); + flush_work(&vsock->event_work); + flush_work(&vsock->send_pkt_work); +} + static void virtio_vsock_remove(struct virtio_device *vd...
2019 Jun 28
0
[PATCH v2 3/3] vsock/virtio: fix flush of works during the .remove()
.../vmw_vsock/virtio_transport.c index 1b44ec6f3f6c..96dafa978268 100644 --- a/net/vmw_vsock/virtio_transport.c +++ b/net/vmw_vsock/virtio_transport.c @@ -680,12 +680,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev) rcu_assign_pointer(the_virtio_vsock, NULL); synchronize_rcu(); - flush_work(&vsock->loopback_work); - flush_work(&vsock->rx_work); - flush_work(&vsock->tx_work); - flush_work(&vsock->event_work); - flush_work(&vsock->send_pkt_work); - /* Reset all connected sockets when the device disappear */ vsock_for_each_connected_socket(virtio_vs...
2019 Jul 05
0
[PATCH v3 3/3] vsock/virtio: fix flush of works during the .remove()
.../vmw_vsock/virtio_transport.c index 4dbdce7746bd..0815d1357861 100644 --- a/net/vmw_vsock/virtio_transport.c +++ b/net/vmw_vsock/virtio_transport.c @@ -681,12 +681,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev) rcu_assign_pointer(the_virtio_vsock, NULL); synchronize_rcu(); - flush_work(&vsock->loopback_work); - flush_work(&vsock->rx_work); - flush_work(&vsock->tx_work); - flush_work(&vsock->event_work); - flush_work(&vsock->send_pkt_work); - /* Reset all connected sockets when the device disappear */ vsock_for_each_connected_socket(virtio_vs...
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 30
0
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...a/net/vmw_vsock/virtio_transport.c > > > > +++ b/net/vmw_vsock/virtio_transport.c > > > > @@ -660,6 +660,15 @@ static int virtio_vsock_probe(struct virtio_device *vdev) > > > > return ret; > > > > } > > > > +static void virtio_vsock_flush_works(struct virtio_vsock *vsock) > > > > +{ > > > > + flush_work(&vsock->loopback_work); > > > > + flush_work(&vsock->rx_work); > > > > + flush_work(&vsock->tx_work); > > > > + flush_work(&vsock->event_work); > &...
2019 May 29
0
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...dex e694df10ab61..ad093ce96693 100644 > > --- a/net/vmw_vsock/virtio_transport.c > > +++ b/net/vmw_vsock/virtio_transport.c > > @@ -660,6 +660,15 @@ static int virtio_vsock_probe(struct virtio_device *vdev) > > return ret; > > } > > +static void virtio_vsock_flush_works(struct virtio_vsock *vsock) > > +{ > > + flush_work(&vsock->loopback_work); > > + flush_work(&vsock->rx_work); > > + flush_work(&vsock->tx_work); > > + flush_work(&vsock->event_work); > > + flush_work(&vsock->send_pkt_work); &g...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...mw_vsock/virtio_transport.c >>>>> +++ b/net/vmw_vsock/virtio_transport.c >>>>> @@ -660,6 +660,15 @@ static int virtio_vsock_probe(struct virtio_device *vdev) >>>>> return ret; >>>>> } >>>>> +static void virtio_vsock_flush_works(struct virtio_vsock *vsock) >>>>> +{ >>>>> + flush_work(&vsock->loopback_work); >>>>> + flush_work(&vsock->rx_work); >>>>> + flush_work(&vsock->tx_work); >>>>> + flush_work(&vsock->event_work); &...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...mw_vsock/virtio_transport.c >>>>> +++ b/net/vmw_vsock/virtio_transport.c >>>>> @@ -660,6 +660,15 @@ static int virtio_vsock_probe(struct virtio_device *vdev) >>>>> return ret; >>>>> } >>>>> +static void virtio_vsock_flush_works(struct virtio_vsock *vsock) >>>>> +{ >>>>> + flush_work(&vsock->loopback_work); >>>>> + flush_work(&vsock->rx_work); >>>>> + flush_work(&vsock->tx_work); >>>>> + flush_work(&vsock->event_work); &...
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
2019 Sep 25
2
[PATCH v2 03/27] drm/dp_mst: Destroy MSTBs asynchronously
...dp_finish_destroy_branch_device/drm_dp_delayed_destroy_mstb/ > s/drm_dp_finish_destroy_port/drm_dp_delayed_destroy_port/ > - danvet > * Use two loops in drm_dp_delayed_destroy_work() - danvet > * Better explain why we need to do this - danvet > * Use cancel_work_sync() instead of flush_work() - flush_work() doesn't > account for work requeing > > Cc: Juston Li <juston.li at intel.com> > Cc: Imre Deak <imre.deak at intel.com> > Cc: Ville Syrjälä <ville.syrjala at linux.intel.com> > Cc: Harry Wentland <hwentlan at amd.com> > Cc: Daniel...
2014 Oct 06
1
[PATCH 08/16] virtio_net: drop config_enable
...ifier(&vi->nb); > > /* Prevent config work handler from accessing the device. */ Same comment as for the equivalent comment in the virtio-blk code. > - mutex_lock(&vi->config_lock); > - vi->config_enable = false; > - mutex_unlock(&vi->config_lock); > + flush_work(&vi->config_work); > > unregister_netdev(vi->dev); > > remove_vq_common(vi); > > - flush_work(&vi->config_work); > - > free_percpu(vi->stats); > free_netdev(vi->dev); > } > @@ -1899,9 +1888,7 @@ static int virtnet_freeze(struct vir...
2014 Oct 06
1
[PATCH 08/16] virtio_net: drop config_enable
...ifier(&vi->nb); > > /* Prevent config work handler from accessing the device. */ Same comment as for the equivalent comment in the virtio-blk code. > - mutex_lock(&vi->config_lock); > - vi->config_enable = false; > - mutex_unlock(&vi->config_lock); > + flush_work(&vi->config_work); > > unregister_netdev(vi->dev); > > remove_vq_common(vi); > > - flush_work(&vi->config_work); > - > free_percpu(vi->stats); > free_netdev(vi->dev); > } > @@ -1899,9 +1888,7 @@ static int virtnet_freeze(struct vir...
2019 Sep 27
1
[PATCH v2 03/27] drm/dp_mst: Destroy MSTBs asynchronously
...troy_mstb/ > > > s/drm_dp_finish_destroy_port/drm_dp_delayed_destroy_port/ > > > - danvet > > > * Use two loops in drm_dp_delayed_destroy_work() - danvet > > > * Better explain why we need to do this - danvet > > > * Use cancel_work_sync() instead of flush_work() - flush_work() doesn't > > > account for work requeing > > > > > > Cc: Juston Li <juston.li at intel.com> > > > Cc: Imre Deak <imre.deak at intel.com> > > > Cc: Ville Syrjälä <ville.syrjala at linux.intel.com> > > > Cc...
2023 May 24
1
[PATCH V3 net-next 1/2] virtio-net: convert rx mode setting to use workqueue
...ork_enabled) + schedule_work(&vi->rx_mode_work); +} + static int virtnet_vlan_rx_add_vid(struct net_device *dev, __be16 proto, u16 vid) { @@ -3181,6 +3222,8 @@ static void virtnet_freeze_down(struct virtio_device *vdev) /* Make sure no work handler is accessing the device */ flush_work(&vi->config_work); + disable_rx_mode_work(vi); + flush_work(&vi->rx_mode_work); netif_tx_lock_bh(vi->dev); netif_device_detach(vi->dev); @@ -3203,6 +3246,7 @@ static int virtnet_restore_up(struct virtio_device *vdev) virtio_device_ready(vdev); enable_delayed_refill(v...
2019 Sep 03
0
[PATCH v2 03/27] drm/dp_mst: Destroy MSTBs asynchronously
...ed_destroy_work/ s/drm_dp_finish_destroy_branch_device/drm_dp_delayed_destroy_mstb/ s/drm_dp_finish_destroy_port/drm_dp_delayed_destroy_port/ - danvet * Use two loops in drm_dp_delayed_destroy_work() - danvet * Better explain why we need to do this - danvet * Use cancel_work_sync() instead of flush_work() - flush_work() doesn't account for work requeing Cc: Juston Li <juston.li at intel.com> Cc: Imre Deak <imre.deak at intel.com> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com> Cc: Harry Wentland <hwentlan at amd.com> Cc: Daniel Vetter <daniel at ffwll.ch>...