/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ /* *Copyright(c)2013-2020,MellanoxTechnologiesinc.Allrightsreserved.
*/
#ifndef _MLX5_IB_FS_H #define _MLX5_IB_FS_H
#include"mlx5_ib.h"
int mlx5_ib_fs_init(struct mlx5_ib_dev *dev); void mlx5_ib_fs_cleanup_anchor(struct mlx5_ib_dev *dev);
staticinlinevoid mlx5_ib_fs_cleanup(struct mlx5_ib_dev *dev)
{ int i;
/* When a steering anchor is created, a special flow table is also *createdfortheusertoreference.Sincetheusercanreferenceit, *thekernelcannottrustthatwhentheuserdestroysthesteering *anchor,theynolongerreferencetheflowtable. * *Toaddressthisissue,whenauserdestroysasteeringanchor,only *theflowsteeringruleinthetableisdestroyed,butthetable *itselfiskepttodealwiththeabovescenario.Theremaining *resourcesareonlyremovedwhentheRDMAdeviceisdestroyed,which *isasafeassumptionthatallreferencesaregone.
*/
mlx5_ib_fs_cleanup_anchor(dev); for (i = 0; i < MLX5_RDMA_TRANSPORT_BYPASS_PRIO; i++)
kfree(dev->flow_db->rdma_transport_tx[i]); for (i = 0; i < MLX5_RDMA_TRANSPORT_BYPASS_PRIO; i++)
kfree(dev->flow_db->rdma_transport_rx[i]);
kfree(dev->flow_db);
} #endif/* _MLX5_IB_FS_H */
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.