asd_post_ascb_list(9)
π¦ asd_post_ascb_list(9) π¦
okay so bestie, this is the Kernel API Manual page for asd_post_ascb_list(9), and it's literally the function that posts a list of 1 or more aSCBs to the host adapter. main character energy fr fr π
β¨ NAME β¨
asd_post_ascb_list β post a list of 1 or more aSCBs to the host adapter π
πΈ SYNOPSIS πΈ
int asd_post_ascb_list (struct asd_ha_struct *asd_ha , struct asd_ascb
*ascb , int num );
π ARGUMENTS π
asd_haβ pointer to a host adapter structure. iconic pointer behavior, no cap.ascbβ pointer to the first aSCB in the list. it's giving "start here" π«Άnumβ number of aSCBs in the list (to be posted). yes, the count matters, bestie.
π DESCRIPTION π
See the queueing comment in asd_post_escb_list. the lore is over there, iykyk β¨
Additional note on queuing: in order to minimize the ratio of memcpy to the number of ascbs sent, we try to batch-send as many ascbs as possible in one go. batch-send slay π
Two cases are possible: A) can_queue >= num, B) can_queue < num.
- Case A: we can send the whole batch at once. Increment
"pending"in the beginning of this function, when it is checked, in order to eliminate races when this function is called by multiple processes. yes, race elimination is the vibe check π₯ - Case B: should never happen. like, ever. lowkey do not want π
π SEE ALSO π
Kernel file ./drivers/scsi/aic94xx/aic94xx_hwi.c is the spot, and the whole squad is:
asd_init_scbs(9)asd_init_escbs(9)asd_chip_hardrst(9)asd_init_chip(9)asd_init_ctxmem(9)asd_chip_reset(9)asd_process_donelist_isr(9)asd_com_sas_isr(9)asd_dch_sas_isr(9)asd_rbi_exsi_isr(9)asd_hst_pcix_isr(9)asd_hw_isr(9)asd_ascb_alloc_list(9)asd_swap_head_scb(9)asd_start_scb_timers(9)asd_post_escb_list(9)asd_turn_led(9)asd_control_led(9)
made with π«Ά from ./drivers/scsi/aic94xx, dated October 2026 β periodt. π
π¦ 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