On 4/28/2021 7:54 PM, Zhu Yanjun wrote:
Adding a prefix makes debug easy. This can help filter the functions. And a prefix can help us to verify the location of the function. Zhu Yanjun
For comparison here are all the subroutine names from a well known driver file. As you can see, 100% of the non static subroutines *do* have mlx5 in their name but the majority of the static ones *do not*, and these are by definition not shared anywhere else but this file. This is representative of the typical style in linux-rdma.
Bob static TYPE add_keys() static TYPE alloc_cacheable_mr() static TYPE alloc_cache_mr() static TYPE assign_mkey_variant() static TYPE __cache_work_func() static TYPE cache_work_func() static TYPE can_use_umr_rereg_access() static TYPE can_use_umr_rereg_pas() static TYPE clean_keys() static TYPE create_cache_mr() static TYPE create_mkey_callback() static TYPE create_real_mr() static TYPE create_user_odp_mr() static TYPE delayed_cache_work_func() static TYPE delay_time_func() static TYPE destroy_mkey() static TYPE get_cache_mr() static TYPE get_octo_len() static TYPE limit_read() static TYPE limit_write() static TYPE mlx5_alloc_integrity_descs() static TYPE mlx5_alloc_mem_reg_descs() static TYPE _mlx5_alloc_mkey_descs() static TYPE mlx5_alloc_priv_descs() static TYPE mlx5_alloc_sg_gaps_descs() static TYPE mlx5_free_priv_descs() static TYPE __mlx5_ib_alloc_mr() static TYPE mlx5_ib_alloc_pi_mr() static TYPE *mlx5_ib_alloc_xlt() static TYPE mlx5_ib_create_mkey() static TYPE mlx5_ib_create_mkey_cb() static TYPE *mlx5_ib_create_xlt_wr() static TYPE mlx5_ib_dmabuf_invalidate_cb() static TYPE mlx5_ib_free_xlt() static TYPE mlx5_ib_get_dm_mr() static TYPE mlx5_ib_init_umr_context() static TYPE mlx5_ib_map_klm_mr_sg_pi() static TYPE mlx5_ib_map_mtt_mr_sg_pi() static TYPE mlx5_ib_map_pa_mr_sg_pi() static TYPE mlx5_ib_post_send_wait() static TYPE mlx5_ib_sg_to_klms() static TYPE mlx5_ib_umr_done() static TYPE mlx5_ib_unmap_free_xlt() static TYPE mlx5_mr_cache_debugfs_cleanup() static TYPE mlx5_mr_cache_debugfs_init() static TYPE mlx5_mr_cache_free() static TYPE mlx5_set_page() static TYPE mlx5_set_page_pi() static TYPE mlx5_set_umr_free_mkey() static TYPE mlx5_umem_dmabuf_default_pgsz() static TYPE mr_cache_ent_from_order() static TYPE mr_cache_max_order() static TYPE queue_adjust_cache_locked() static TYPE reg_create() static TYPE remove_cache_mr_locked() static TYPE resize_available_mrs() static TYPE revoke_mr() static TYPE set_mkc_access_pd_addr_fields() static TYPE set_mr_fields() static TYPE size_read() static TYPE size_write() static TYPE someone_adding() static TYPE umr_can_use_indirect_mkey() static TYPE umr_rereg_pas() static TYPE umr_rereg_pd_access() static TYPE xlt_wr_final_send_flags() TYPE mlx5_ib_advise_mr() TYPE mlx5_ib_alloc_mr() TYPE mlx5_ib_alloc_mr_integrity() TYPE mlx5_ib_alloc_mw() TYPE mlx5_ib_check_mr_status() TYPE mlx5_ib_dealloc_mw() TYPE mlx5_ib_dereg_mr() TYPE mlx5_ib_get_dma_mr() TYPE mlx5_ib_map_mr_sg() TYPE mlx5_ib_map_mr_sg_pi() TYPE mlx5_ib_reg_dm_mr() TYPE mlx5_ib_reg_user_mr() TYPE mlx5_ib_reg_user_mr_dmabuf() TYPE mlx5_ib_rereg_user_mr() TYPE mlx5_ib_update_mr_pas() TYPE mlx5_ib_update_xlt() TYPE mlx5_mr_cache_cleanup() TYPE mlx5_mr_cache_init()