Query: disksort
OS: sunos
Section: 9f
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
disksort(9F) Kernel Functions for Drivers disksort(9F)NAMEdisksort - single direction elevator seek sort for buffersSYNOPSIS#include <sys/conf.h> #include <sys/ddi.h> #include <sys/sunddi.h> void disksort(struct diskhd *dp, struct buf *bp);INTERFACE LEVELSolaris DDI specific (Solaris DDI).PARAMETERSdp A pointer to a diskhd structure. A diskhd structure is essentially identical to head of a buffer structure (see buf(9S)). The only defined items of interest for this structure are the av_forw and av_back structure elements which are used to maintain the front and tail pointers of the forward linked I/O request queue. bp A pointer to a buffer structure. Typically this is the I/O request that the driver receives in its strategy routine (see strat- egy(9E)). The driver is responsible for initializing the b_resid structure element to a meaningful sort key value prior to calling disksort().DESCRIPTIONThe function disksort() sorts a pointer to a buffer into a single forward linked list headed by the av_forw element of the argument *dp. It uses a one-way elevator algorithm that sorts buffers into the queue in ascending order based upon a key value held in the argument buf- fer structure element b_resid. This value can either be the driver calculated cylinder number for the I/O request described by the buffer argument, or simply the absolute logical block for the I/O request, depending on how fine grained the sort is desired to be or how applicable either quantity is to the device in question. The head of the linked list is found by use of the av_forw structure element of the argument *dp. The tail of the linked list is found by use of the av_back structure element of the argument *dp. The av_forw element of the *bp argument is used by disksort() to maintain the forward linkage. The value at the head of the list presumably indicates the currently active disk area.CONTEXTThis function can be called from user or interrupt context.SEE ALSOstrategy(9E), buf(9S) Writing Device DriversWARNINGSdisksort() does no locking. Therefore, any locking is completely the responsibility of the caller. SunOS 5.10 30 Jul 1993 disksort(9F)
Related Man Pages |
---|
disksort(9f) - sunos |
kstat_runq_back_to_waitq(9f) - sunos |
kstat_waitq_enter(9f) - sunos |
kstat_waitq_exit(9f) - sunos |
kstat_waitq_exit(9f) - opensolaris |
Similar Topics in the Unix Linux Community |
---|
Convert block size to mb |
Reverse single linked list |
how to check if something exists in a struct linked list? |