STRUCT OP_REPLY_QINFO(9)
π NAME π
okay so bestie, welcome to the struct op_reply_qinfo(9) page in the Kernel API Manual β this is the tea on struct op_reply_qinfo, aka Operational Reply Queue Information. no cap, itβs giving βreply queue loreβ and weβre gonna read every field like the main characters they are π«Ά.
β¨ SYNOPSIS β¨
hereβs the whole struct, verbatim, because we do not gatekeep:
struct op_reply_qinfo {
u16 ci;
u16 qid;
u16 num_replies;
u16 num_segments;
u16 segment_qd;
struct segments *q_segments;
void *q_segment_list;
dma_addr_t q_segment_list_dma;
u8 ephase;
atomic_t pend_ios;
bool enable_irq_poll;
atomic_t in_use;
enum queue_type qtype;
u16 qfull_watermark;
};
π«Ά Members π«Ά
this is the cast list, and every single one of them matters. periodt π
ciβ the consumer index. thatβs literally its whole job, iykyk.qidβ the Queue Id, and yes it starts from1, bestie.num_repliesβ the maximum number of entries in the queue. iconic capacity behavior.num_segmentsβ the number of discontiguous memory segments. we love a memory layout moment.segment_qdβ the depth of each segment β thatβssegment_qdβs whole thing, fr fr.q_segmentsβ the segment descriptor pointer. very βpointer to the pointer lore.βq_segment_listβ the segment list base virtual address. virtual vibes only.q_segment_list_dmaβ the segment list base DMA address. DMA stays in its own lane.ephaseβ the expected phased identifier for the reply queue. do not ask her to explain, sheβs booked.pend_iosβ the number of IOs pending in HW for this queue. HW said βmine.βenable_irq_pollβ a flag to indicate polling is enabled</flag> β okay wait, itβs a flag, and it indicates polling is enabled. slay.in_useβ the queue is handled by poll/ISR. so sheβs busy, okay?!qtypeβ the type of queue (types defined inenum queue_type). the enum is the blueprint, bestie.qfull_watermarkβ the watermark defined in reply queue to avoid reply queue full. prevention queen π.
π SEE ALSO π
Kernel file ./drivers/scsi/mpi3mr/mpi3mr.h β thatβs the home base. and the whole cross-ref bestie squad is:
struct mpi3mr_nvme_pt_sge(9)struct mpi3mr_buf_map(9)struct mpi3mr_compimg_ver(9)struct segments(9)struct op_req_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)
okay thatβs the whole page, mwah π β source/version ./drivers/scsi/mpi3mr, dated October 2026, and yes bestie itβs the struct op_reply_qinfo(9) manual page. 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