STRUCT OP_REPLY_QINFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 from 1, 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’s segment_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 in enum 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