[Contents] [Help]


Index


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A


aligned
        defined

alignment
        defined
        implementation on Alpha CPU hardware platforms
        placement of data item in memory

allocating data structures
        review of techniques

asserting a complex write lock
        by calling lock_write

asserting a read-only complex lock
        by calling lock_read

asserting an exclusive lock
        by calling simple_lock

asserting that the current kernel thread is about to block
        by calling assert_wait_mesg kernel interface

assert_wait_mesg kernel interface
        explanation of code fragment
        explanation of code fragment

atomicity
        defined
        type of serialization

awakening kernel thread
        See unblocking kernel thread


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

B


block size
        conversion

bus configuration interfaces
        summary descriptions

busy wait time
        defined


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

C


close interface
        disk device driver

complex lock structure
        declared in code fragment

complex lock
        asserting a read-only complex lock with lock_read
        asserting a write complex lock with lock_write
        declaring complex lock structure with lock_data_t
        defined
        description of
        initializing a complex lock with lock_init
        kernel interfaces and data structures associated with
        performing access operations on
        releasing previously asserted complex lock with lock_done
        terminating a complex lock with lock_terminate
        trying to assert with lock_try_read
        trying to assert with lock_try_write

configuration models


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

D


data structures
        allocation techniques for

deadlock
        defined
        issue to consider when using kernel threads

declaring complex lock structure
        explanation of code fragment

declaring simple lock structure

decl_simple_lock_data kernel interface
        declaring simple lock structure
        explanation of code fragment

designing a device driver

DEVGETGEOM ioctl command
        disk device driver

DEVGETINFO ioctl command
        disk device driver

device driver development
        choosing a locking method
        deciding the resources to lock in a device driver
        understanding atomicity
        understanding the locking methods
        understanding the need for locking in an SMP environment

device driver
        concepts
        designing
        disk
        review of allocating techniques
        review of device driver kits delivery process

device name
        disk

device special files
        disk

device-specific structure
        disk

DIOCGCURPT ioctl command
        disk device driver

DIOCGDEFPT ioctl command
        disk device driver

DIOCGDINFO ioctl command
        disk device driver

DIOCGPART ioctl command
        disk device driver

DIOCSDINFO ioctl command
        disk device driver

DIOCWDINFO ioctl command
        disk device driver

DIOCWLABEL ioctl command
        disk device driver

disk device driver

disk label
        reading into memory
        read_label subroutine

driver interfaces
        list of

dump interface
        disk device driver


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

F


funnel
        defined
        description of
        ensuring no locks are required


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

G


gathering information about host system and device

geometry
        disk

get_def_partitionmap kernel interface

global variables
        summary descriptions

granularity of data access
        defined
        implementation on Alpha CPU hardware platforms
        with reference to size of neighboring units of memory


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

H


hardware issues related to synchronization

header files
        list of with summary descriptions


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

I


identifying device interrupt handler registration method

information gathering about host system and device

interrupt handlers
        method for registering

ioctl interface
        disk device driver

ioctl macros and commands
        summary descriptions


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

K


kernel support interfaces
        summary descriptions of I/O support interfaces

kernel thread
        advantages of using in device drivers
        asserting a block by calling assert_wait_mesg kernel interface
        blocking by calling mpsleep kernel interface
        defined
        execution issues
        issues related to device driver design
        issues related to using
        kernel interfaces and data structures associated with
        operations to be performed by
        setting a timer on by calling thread_set_timeout kernel interface
        starting a fixed priority kernel thread
        starting by calling kernel_thread_w_arg kernel interface
        terminating by calling thread_halt_self kernel interface
        terminating by calling thread_terminate kernel interface
        unblocking by calling thread_wakeup kernel interface
        unblocking by calling thread_wakeup_one kernel interface

kernel threads
        example use in device driver

kernel_isrthread kernel interface
        explanation of code fragment

kernel_thread_w_arg kernel interface
        explanation of code fragment


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

L


layout
        disk device

lock structure
        declared in code fragment

locking considerations
        accessing a read-only resource
        description of choices
        description of complex locks
        description of funnels
        description of simple locks
        device CSR addresses
        driver-specific global resources
        example analysis of device driver to determine resources to lock
        method choices
        need for locks in device drivers operating in an SMP environment
        resources to lock in a device driver
        summary of locking methods
        system-specific global resources

locking
        lock analysis table for device register offset definitions
        summary of device driver resources
        summary of SMP-related characteristics

lock_data_t data type
        to declare complex lock data structure

lock_done kernel interface
        explanation of code fragment
        explanation of code fragment
        releasing previously asserted complex lock

lock_init kernel interface
        explanation of code fragment
        initializing a complex lock

lock_read kernel interface
        explanation of code fragment

lock_terminate kernel interface
        explanation of code fragment
        terminating a complex lock

lock_try_read kernel interface
        explanation of code fragment
        trying to assert complex lock

lock_try_write kernel interface
        explanation of code fragment
        trying to assert complex lock

lock_write kernel interface
        explanation of code fragment
        explanation of code fragment

logical block number


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

M


MAKEDEV script
        disk devices

minor number
        disk device

minphys interface
        disk device driver

mpsleep kernel interface
        explanation of code fragment


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

O


open interface
        disk device driver


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

P


partition map
        default values

partition
        locating target of a request

performing access operations on complex lock

physical block number

portable device drivers

priority inversion
        defined
        issue to consider when using kernel threads


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

R


race condition
        defined
        issue to consider when using kernel threads

read interface
        disk device driver

readdisklabel
        kernel interface

read_label subroutine
        disk device driver example

releasing a complex write lock
        by calling lock_done

releasing an exclusive lock
        by calling simple_unlock

resource
        defined


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

S


setting a timer on kernel thread
        by calling thread_set_timeout kernel interface

simple lock
        asserting read and write access with simple_lock
        declaring simple lock structure with decl_simple_lock_data
        defined
        description of
        initializing a simple lock structure with simple_lock_init
        kernel interfaces and data structures associated with
        releasing previously asserted simple lock with simple_unlock
        terminating a simple lock with simple_lock_terminate
        trying to obtain simple lock with simple_lock_try
        using spl interfaces

simple_lock kernel interface
        asserting read and write access
        explanation of code fragment

simple_lock_init kernel interface
        explanation of code fragment
        initializing a simple lock structure

simple_lock_terminate kernel interface
        explanation of code fragment
        terminating a simple lock

simple_lock_try kernel interface
        explanation of code fragment
        trying to obtain simple lock

simple_unlock kernel interface
        explanation of code fragment
        releasing previously asserted simple lock

size interface
        disk device driver

SMP
        asserting complex lock
        asserting read and write access with simple_lock
        declaring complex lock structure with lock_data_t
        declaring simple lock structure with decl_simple_lock_data
        defined
        description of complex locks
        description of funnels
        description of locking methods
        description of simple locks
        ensuring no locks are required with funnels
        example analysis of device driver to determine resources to lock
        initializing a complex lock with lock_init
        initializing a simple lock structure with simple_lock_init
        locking methods
        need for locking device drivers
        releasing previously asserted complex lock with lock_done
        releasing previously asserted simple lock with simple_unlock
        resources to lock in a device driver
        summary of locking methods
        terminating a complex lock with lock_terminate
        terminating a simple lock with simple_lock_terminate
        trying to assert complex lock with lock_try_read
        trying to assert complex lock with lock_try_write
        trying to obtain simple lock with simple_lock_try
        using spl interfaces

software synchronization
        defined

spin lock
        See simple lock
        using spl interfaces

spltty kernel interface
        explanation of code fragment

splx kernel interface
        explanation of code fragment

starting a fixed priority kernel thread
        by calling kernel_thread_w_arg kernel interface

starting kernel thread
        by calling kernel_thread_w_arg kernel interface

strategy interface
        disk device driver

structure
        summary descriptions

symmetric multiprocessing
        See SMP

synchronization
        hardware issues related to


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

T


task structure

terminating a kernel thread
        by calling thread_halt_self kernel interface
        by calling thread_terminate kernel interface

thread structure

thread
        defined
        See also kernel thread

thread_block kernel interface
        explanation of code fragment
        explanation of code fragment

thread_set_timeout kernel interface
        explanation of code fragment

trying to assert a read-only complex lock
        by calling lock_try_read

trying to assert a write complex lock
        by calling lock_try_write

trying to assert an exclusive lock
        by calling simple_lock_try


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

U


unblocking kernel thread
        by calling thread_wakeup kernel interface
        by calling thread_wakeup_one kernel interface

using the symmetric multiprocessor sleep interface
        by calling mpsleep kernel interface


Click letter for quick access:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

W


waking up kernel thread
        See unblocking kernel thread

write interface
        disk device driver