drivers/infiniband/ulp/rtrs/rtrs-srv.c
Source file repositories/reference/linux-study-clean/drivers/infiniband/ulp/rtrs/rtrs-srv.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/infiniband/ulp/rtrs/rtrs-srv.c- Extension
.c- Size
- 61550 bytes
- Lines
- 2420
- Domain
- Driver Families
- Bucket
- drivers/infiniband
- Inferred role
- Driver Families: exported/initcall integration point
- Status
- integration implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/module.hrtrs-srv.hrtrs-log.hrdma/ib_cm.hrdma/ib_verbs.hrtrs-srv-trace.h
Detected Declarations
function rtrs_srv_change_statefunction free_idfunction rtrs_srv_free_ops_idsfunction rtrs_srv_inflight_ref_releasefunction rtrs_srv_alloc_ops_idsfunction rtrs_srv_get_ops_idsfunction rtrs_srv_put_ops_idsfunction rtrs_srv_reg_mr_donefunction rdma_write_sgfunction send_io_resp_immfunction close_pathfunction rtrs_srv_resp_rdmafunction rtrs_srv_set_sess_privfunction unmap_cont_bufsfunction map_cont_bufsfunction for_each_sgfunction rtrs_srv_hb_err_handlerfunction rtrs_srv_init_hbfunction rtrs_srv_start_hbfunction rtrs_srv_stop_hbfunction rtrs_srv_info_rsp_donefunction rtrs_srv_path_upfunction rtrs_srv_path_downfunction exist_pathnamefunction list_for_each_entryfunction process_info_reqfunction rtrs_srv_info_req_donefunction post_recv_info_reqfunction post_recv_iofunction post_recv_pathfunction process_readfunction process_writefunction process_io_reqfunction rtrs_srv_inv_rkey_donefunction rtrs_srv_inv_rkeyfunction rtrs_rdma_process_wr_wait_listfunction rtrs_srv_rdma_donefunction rtrs_srv_get_path_namefunction rtrs_srv_get_queue_depthfunction find_next_bit_ringfunction rtrs_srv_get_next_cq_vectorfunction rtrs_srv_dev_releasefunction free_srvfunction put_srvfunction __add_path_to_srvfunction del_path_from_srvfunction sockaddr_cmpfunction rtrs_srv_check_close_path
Annotated Snippet
module_init(rtrs_server_init);
module_exit(rtrs_server_exit);
Annotation
- Immediate include surface: `linux/module.h`, `rtrs-srv.h`, `rtrs-log.h`, `rdma/ib_cm.h`, `rdma/ib_verbs.h`, `rtrs-srv-trace.h`.
- Detected declarations: `function rtrs_srv_change_state`, `function free_id`, `function rtrs_srv_free_ops_ids`, `function rtrs_srv_inflight_ref_release`, `function rtrs_srv_alloc_ops_ids`, `function rtrs_srv_get_ops_ids`, `function rtrs_srv_put_ops_ids`, `function rtrs_srv_reg_mr_done`, `function rdma_write_sg`, `function send_io_resp_imm`.
- Atlas domain: Driver Families / drivers/infiniband.
- Implementation status: integration implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.