search for: unregister_link_notifier

Displaying 6 results from an estimated 6 matches for "unregister_link_notifier".

2023 Apr 03
0
[Patch v3] vdpa/mlx5: Avoid losing link state updates
...>nb_registered && ndev->config_cb.callback) > > It looks to me nb_registered is accessed without synchronization. Or > > we don't even need to check that if we do: > > > > unregister(); > > flush_workqueue(); > > > > which has been done in unregister_link_notifier(). > > > >> + ndev->config_cb.callback(ndev->config_cb.private); > >> + > >> + kfree(wqent); > >> +} > >> + > >> +static int queue_link_work(struct mlx5_vdpa_net *ndev) > >> +{ > >> + struc...
2023 Jul 04
1
[PATCH] mlx5_vdpa: offer VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK
...tio_ids.h> >> #include <uapi/linux/vdpa.h> >> +#include <uapi/linux/vhost_types.h> >> #include <linux/virtio_config.h> >> #include <linux/auxiliary_bus.h> >> #include <linux/mlx5/cq.h> >> @@ -2499,6 +2500,11 @@ static void unregister_link_notifier(struct mlx5_vdpa_net *ndev) >> flush_workqueue(ndev->mvdev.wq); >> } >> >> +static u64 mlx5_vdpa_get_backend_features(const struct vdpa_device *vdpa) >> +{ >> + return BIT_ULL(VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK); >> +} >> + >>...
2023 Jul 03
1
[PATCH] mlx5_vdpa: offer VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK
...#include <uapi/linux/virtio_ids.h> > #include <uapi/linux/vdpa.h> > +#include <uapi/linux/vhost_types.h> > #include <linux/virtio_config.h> > #include <linux/auxiliary_bus.h> > #include <linux/mlx5/cq.h> > @@ -2499,6 +2500,11 @@ static void unregister_link_notifier(struct mlx5_vdpa_net *ndev) > flush_workqueue(ndev->mvdev.wq); > } > > +static u64 mlx5_vdpa_get_backend_features(const struct vdpa_device *vdpa) > +{ > + return BIT_ULL(VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK); > +} > + > static int mlx5_vdpa_set_driver_features...
2023 Sep 09
0
[PATCH RFC v2 2/4] vdpa/mlx5: implement .reset_map driver op
...ge_map, unsigned int asid) { diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c index 37be945..3cb5db6 100644 --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c @@ -2824,7 +2824,6 @@ static int mlx5_vdpa_reset(struct vdpa_device *vdev) unregister_link_notifier(ndev); teardown_driver(ndev); clear_vqs_ready(ndev); - mlx5_vdpa_destroy_mr(&ndev->mvdev); ndev->mvdev.status = 0; ndev->mvdev.suspended = false; ndev->cur_num_vqs = 0; @@ -2835,10 +2834,6 @@ static int mlx5_vdpa_reset(struct vdpa_device *vdev) init_group_to_asid_map(mvd...
2023 Sep 09
4
[PATCH RFC v2 0/4] vdpa: decouple reset of iotlb mapping from device reset
In order to reduce needlessly high setup and teardown cost of iotlb mapping during live migration, it's crucial to decouple the vhost-vdpa iotlb abstraction from the virtio device life cycle, i.e. iotlb mappings should be left intact across virtio device reset [1]. For it to work, the on-chip IOMMU parent device should implement a separate .reset_map() operation callback to restore 1:1 DMA
2023 Sep 09
4
[PATCH RFC v3 0/4] vdpa: decouple reset of iotlb mapping from device reset
In order to reduce needlessly high setup and teardown cost of iotlb mapping during live migration, it's crucial to decouple the vhost-vdpa iotlb abstraction from the virtio device life cycle, i.e. iotlb mappings should be left intact across virtio device reset [1]. For it to work, the on-chip IOMMU parent device should implement a separate .reset_map() operation callback to restore 1:1 DMA