STRUCT OP_REQ_QINFO(9)
πΈ struct op_req_qinfo(9) β like, the whole vibe πΈ
okay so bestie, welcome to the Kernel API Manual entry for struct op_req_qinfo π
no cap, this is the Operational Request Queue Information struct and it's literally the main character of the operation request queue. buckle up π
β¨ NAME β¨
struct op_req_qinfo β Operational Request Queue Information π¦
β¨ SYNOPSIS β¨
here's the whole shape of her, copied exactly, don't @ me:
struct op_req_qinfo {
u16 ci;
u16 pi;
u16 num_requests;
u16 qid;
u16 reply_qid;
u16 num_segments;
u16 segment_qd;
spinlock_t q_lock;
struct segments *q_segments;
void *q_segment_list;
dma_addr_t q_segment_list_dma;
u16 last_full_host_tag;
u64 qfull_io_count;
u32 qfull_instances;
};
π«Ά MEMBERS π«Ά
okay so let's meet the cast, member by member, everyone gets their moment β
ciβ the consumer index πpiβ the producer index β¨qidβ the Queue Id, and it starts from1(not zero, bestie,1) πreply_qidβ the Associated reply queue Id πΈnum_segmentsβ Number of discontiguous memory segments π¦segment_qdβ Depth of each segments πq_lockβ Concurrent queue access lock π₯ (yes she's aspinlock_t, we stan a lock)q_segmentsβ Segment descriptor pointer πq_segment_listβ Segment list base virtual address πq_segment_list_dmaβ Segment list base DMA address βlast_full_host_tagβ Hosttag of last IO returned to SML due to queue full πqfull_io_countβ Number of IOs returned back to SML due to queue full πqfull_instancesβ Total queue full occurrences. One occurrence starts with queue full detection and ends with queue full breaks π
tiny note fr fr: num_requests is chilling in the struct definition up there in the SYNOPSIS, but the original Members list doesn't give it a description β so I'm not gonna make one up, iykyk π§
π SEE ALSO π
Kernel file ./drivers/scsi/mpi3mr/mpi3mr.h and the whole friend group, all of them, no gatekeeping:
struct mpi3mr_nvme_pt_sge(9), struct mpi3mr_buf_map(9), struct mpi3mr_compimg_ver(9), struct segments(9), struct op_reply_qinfo(9), struct mpi3mr_intr_info(9), struct mpi3mr_throttle_group_info(9), struct mpi3mr_hba_port(9), struct mpi3mr_sas_port(9), struct mpi3mr_sas_phy(9), struct mpi3mr_sas_node(9), struct mpi3mr_enclosure_node(9), struct tgt_dev_sas_sata(9), struct tgt_dev_pcie(9), struct tgt_dev_vd(9), union _form_spec_inf(9), struct mpi3mr_tgt_dev(9), mpi3mr_tgtdev_get(9), mpi3mr_free_tgtdev(9), mpi3mr_tgtdev_put(9), struct mpi3mr_stgt_priv_data(9), struct mpi3mr_drv_cmd(9), union mpi3mr_trigger_data(9), struct trigger_event_data(9), struct diag_buffer_desc(9), struct dma_memory_desc(9), struct chain_element(9), struct scmd_priv(9), struct mpi3mr_ioc(9), struct mpi3mr_fwevt(9), struct delayed_dev_rmhs_node(9), struct delayed_evt_ack_node(9)
and that's the whole page, bestie π huge thank you to the source /drivers/scsi/mpi3mr β this one dropped October 2026 and it's filed right back under struct op_req_qinfo(9) where it belongs π slay, bye! πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms