MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Kernel Functions for Drivers                         disksort(9F)



NAME
     disksort - single direction elevator seek sort for buffers

SYNOPSIS
     #include 
     #include 
     #include 
     void

     disksort(struct diskhd *dp, struct buf *bp);


INTERFACE LEVEL
     Solaris DI specific (Solaris DI).

PARAMETERS
     dp    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 avforw and avback 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 strategy(9E)). The driver is  responsible
           for  initializing  the  bresid structure element to a
           meaningful sort key value prior to calling disksort().


DESCRIPTION
     The function disksort() sorts a pointer to a buffer  into  a
     single  forward linked list headed by the avforw 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 buffer structure element bresid.


     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  avforw
     structure  element  of  the  argument  *dp.  The tail of the
     linked list is found by use of the avback structure element



SunOS 5.11          Last change: 16 Jan 2006                    1






Kernel Functions for Drivers                         disksort(9F)



     of the argument *dp. The avforw 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.

CONTEXT
     This function can be called from user, interrupt, or  kernel
     context.

SEE ALSO
     strategy(9E), buf(9S)


     Writing Device Drivers

WARNINGS
     The disksort() function  does  no  locking.  Therefore,  any
     locking is completely the responsibility of the caller.





































SunOS 5.11          Last change: 16 Jan 2006                    2



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™