search for: send_pkt_work

Displaying 20 results from an estimated 75 matches for "send_pkt_work".

2019 May 29
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...gt; > +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 *vdev) > { > struct virtio_vsock *vsock = vdev->priv; > @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev) > mutex_lock(&the_virtio_vsock_mutex); > the_virtio_...
2019 May 29
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...gt; > +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 *vdev) > { > struct virtio_vsock *vsock = vdev->priv; > @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev) > mutex_lock(&the_virtio_vsock_mutex); > the_virtio_...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...s(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 *vdev) >>> { >>> struct virtio_vsock *vsock = vdev->priv; >>> @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev) >>>...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...s(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 *vdev) >>> { >>> struct virtio_vsock *vsock = vdev->priv; >>> @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev) >>>...
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()
...o_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 *vdev) > > { > > struct virtio_vsock *vsock = vdev->priv; > > @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev) > > mutex_lock(&the_virti...
2013 Jun 27
2
[RFC 4/5] VSOCK: Introduce vhost-vsock.ko
.../* Vhost vsock virtqueue*/ > + struct vhost_vsock_virtqueue vqs[VSOCK_VQ_MAX]; > + /* Link to global vhost_vsock_list*/ > + struct list_head list; > + /* Head for pkt from host to guest */ > + struct list_head send_pkt_list; > + /* Work item to send pkt */ > + struct vhost_work send_pkt_work; > + /* Guest contex id this vhost_vsock instance handles */ > + u32 guest_cid; > +}; > + > +static u32 vhost_transport_get_local_cid(void) > +{ > + u32 cid = VHOST_VSOCK_DEFAULT_HOST_CID; > + return cid; > +} > + Interesting. So all hosts in fact have the same CID?...
2013 Jun 27
2
[RFC 4/5] VSOCK: Introduce vhost-vsock.ko
.../* Vhost vsock virtqueue*/ > + struct vhost_vsock_virtqueue vqs[VSOCK_VQ_MAX]; > + /* Link to global vhost_vsock_list*/ > + struct list_head list; > + /* Head for pkt from host to guest */ > + struct list_head send_pkt_list; > + /* Work item to send pkt */ > + struct vhost_work send_pkt_work; > + /* Guest contex id this vhost_vsock instance handles */ > + u32 guest_cid; > +}; > + > +static u32 vhost_transport_get_local_cid(void) > +{ > + u32 cid = VHOST_VSOCK_DEFAULT_HOST_CID; > + return cid; > +} > + Interesting. So all hosts in fact have the same CID?...
2019 May 30
0
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...t; > +{ > > > > + 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 *vdev) > > > > { > > > > struct virtio_vsock *vsock = vdev->priv; > > > > @@ -668,12 +677,6 @@ static void virtio_vsock_remove(str...
2013 Jun 27
0
[RFC 4/5] VSOCK: Introduce vhost-vsock.ko
...evice */ + struct vhost_dev dev; + /* Vhost vsock virtqueue*/ + struct vhost_vsock_virtqueue vqs[VSOCK_VQ_MAX]; + /* Link to global vhost_vsock_list*/ + struct list_head list; + /* Head for pkt from host to guest */ + struct list_head send_pkt_list; + /* Work item to send pkt */ + struct vhost_work send_pkt_work; + /* Guest contex id this vhost_vsock instance handles */ + u32 guest_cid; +}; + +static u32 vhost_transport_get_local_cid(void) +{ + u32 cid = VHOST_VSOCK_DEFAULT_HOST_CID; + return cid; +} + +static struct vhost_vsock *vhost_vsock_get(u32 guest_cid) +{ + struct vhost_vsock *vsock; + + mutex_lock...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...t; +{ >>>>> + 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 *vdev) >>>>> { >>>>> struct virtio_vsock *vsock = vdev->priv; >>>>> @@ -668,12 +677,6 @@ static void virtio_vsock_r...
2019 May 30
2
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...t; +{ >>>>> + 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 *vdev) >>>>> { >>>>> struct virtio_vsock *vsock = vdev->priv; >>>>> @@ -668,12 +677,6 @@ static void virtio_vsock_r...
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
2015 Dec 09
0
[PATCH v3 3/4] VSOCK: Introduce vhost-vsock.ko
...evice */ + struct vhost_dev dev; + /* Vhost vsock virtqueue*/ + struct vhost_vsock_virtqueue vqs[VSOCK_VQ_MAX]; + /* Link to global vhost_vsock_list*/ + struct list_head list; + /* Head for pkt from host to guest */ + struct list_head send_pkt_list; + /* Work item to send pkt */ + struct vhost_work send_pkt_work; + /* Wait queue for send pkt */ + wait_queue_head_t queue_wait; + /* Used for global tx buf limitation */ + u32 total_tx_buf; + /* Guest contex id this vhost_vsock instance handles */ + u32 guest_cid; +}; + +static u32 vhost_transport_get_local_cid(void) +{ + return VHOST_VSOCK_DEFAULT_HOST_CID; +...
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 May 28
0
[PATCH 3/4] vsock/virtio: fix flush of works during the .remove()
...t 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 *vdev) { struct virtio_vsock *vsock = vdev->priv; @@ -668,12 +677,6 @@ static void virtio_vsock_remove(struct virtio_device *vdev) mutex_lock(&the_virtio_vsock_mutex); the_virtio_vsock = NULL; - flush_work(&vsock->l...
2019 Jun 28
0
[PATCH v2 3/3] vsock/virtio: fix flush of works during the .remove()
..._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_vsock_reset_sock); @@ -740,6 +734,15 @@ static void virtio_vsock_remove(struct virtio_device *vdev) /* Delete virtqueues and flush outstanding callbacks if any */ vdev->config->del...
2019 Jul 05
0
[PATCH v3 3/3] vsock/virtio: fix flush of works during the .remove()
..._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_vsock_reset_sock); @@ -741,6 +735,15 @@ static void virtio_vsock_remove(struct virtio_device *vdev) /* Delete virtqueues and flush outstanding callbacks if any */ vdev->config->del...