| SystemTap Tapset ReferenceChapter 4. Timestamp Functions- function::get_cycles - Processor cycle count.
- function::gettimeofday_ns - Number of nanoseconds since UNIX epoch.
- function::gettimeofday_us - Number of microseconds since UNIX epoch.
- function::gettimeofday_ms - Number of milliseconds since UNIX epoch.
- function::gettimeofday_s - Number of seconds since UNIX epoch.
Each timestamp function returns a value to indicate when a function is executed. These returned values can then be used to indicate when an event occurred, provide an ordering for events, or compute the amount of time elapsed between two time stamps. Namefunction::get_cycles - Processor cycle count. Synopsisfunction get_cycles:long() DescriptionThis function returns the processor cycle counter value if available, else it returns zero. The cycle counter is free running and unsynchronized on each processor. Thus, the order of events cannot determined by comparing the results of the get_cycles function on different processors.
Namefunction::gettimeofday_ns - Number of nanoseconds since UNIX epoch. Synopsisfunction gettimeofday_ns:long() DescriptionThis function returns the number of nanoseconds since the UNIX epoch.
Namefunction::gettimeofday_us - Number of microseconds since UNIX epoch. Synopsisfunction gettimeofday_us:long() DescriptionThis function returns the number of microseconds since the UNIX epoch.
Namefunction::gettimeofday_ms - Number of milliseconds since UNIX epoch. Synopsisfunction gettimeofday_ms:long() DescriptionThis function returns the number of milliseconds since the UNIX epoch.
Namefunction::gettimeofday_s - Number of seconds since UNIX epoch. Synopsisfunction gettimeofday_s:long() DescriptionThis function returns the number of seconds since the UNIX epoch. Chapter 5. Time string utility function- function::ctime - Convert seconds since epoch into human readable date/time string.
Utility function to turn seconds since the epoch (as returned by the timestamp function gettimeofday_s()) into a human readable date/time string. Namefunction::ctime - Convert seconds since epoch into human readable date/time string. Synopsisfunction ctime:string(epochsecs:long) Argumentsepochsecs Number of seconds since epoch (as returned by gettimeofday_s ).
General Syntaxctime:string(epochsecs:long) DescriptionTakes an argument of seconds since the epoch as returned by gettimeofday_s . Returns a string of the form "Wed Jun 30 21:49:08 1993" The string will always be exactly 24 characters. If the time would be unreasonable far in the past (before what can be represented with a 32 bit offset in seconds from the epoch) the returned string will be "a long, long time ago...". If the time would be unreasonable far in the future the returned string will be "far far in the future..." (both these strings are also 24 characters wide). Note that the epoch (zero) corresponds to "Thu Jan 1 00:00:00 1970" The earliest full date given by ctime, corresponding to epochsecs -2147483648 is "Fri Dec 13 20:45:52 1901". The latest full date given by ctime, corresponding to epochsecs 2147483647 is "Tue Jan 19 03:14:07 2038". The abbreviations for the days of the week are �Sun�, �Mon�, �Tue�, �Wed�, �Thu�, �Fri�, and �Sat�. The abbreviations for the months are �Jan�, �Feb�, �Mar�, �Apr�, �May�, �Jun�, �Jul�, �Aug�, �Sep�, �Oct�, �Nov�, and �Dec�. Note that the real C library ctime function puts a newline ('\n') character at the end of the string that this function does not. Also note that since the kernel has no concept of timezones, the returned time is always in GMT. - function::vm_fault_contains - Test return value for page fault reason
- probe::vm.pagefault - Records that a page fault occurred.
- probe::vm.pagefault.return - Indicates what type of fault occurred.
- function::addr_to_node - Returns which node a given address belongs to within a NUMA system.
- probe::vm.write_shared - Attempts at writing to a shared page.
- probe::vm.write_shared_copy - Page copy for shared page write.
- probe::vm.mmap - Fires when an mmap is requested.
- probe::vm.munmap - Fires when an munmap is requested.
- probe::vm.brk - Fires when a brk is requested (i.e. the heap will be resized).
- probe::vm.oom_kill - Fires when a thread is selected for termination by the OOM killer.
- probe::vm.kmalloc - Fires when kmalloc is requested.
- probe::vm.kmem_cache_alloc - Fires when \
- probe::vm.kmalloc_node - Fires when kmalloc_node is requested.
- probe::vm.kmem_cache_alloc_node - Fires when \
- probe::vm.kfree - Fires when kfree is requested.
- probe::vm.kmem_cache_free - Fires when \
- function::proc_mem_size - Total program virtual memory size in pages
- function::proc_mem_size_pid - Total program virtual memory size in pages
- function::proc_mem_rss - Program resident set size in pages
- function::proc_mem_rss_pid - Program resident set size in pages
- function::proc_mem_shr - Program shared pages (from shared mappings)
- function::proc_mem_shr_pid - Program shared pages (from shared mappings)
- function::proc_mem_txt - Program text (code) size in pages
- function::proc_mem_txt_pid - Program text (code) size in pages
- function::proc_mem_data - Program data size (data + stack) in pages
- function::proc_mem_data_pid - Program data size (data + stack) in pages
- function::mem_page_size - Number of bytes in a page for this architecture
- function::bytes_to_string - Human readable string for given bytes
- function::pages_to_string - Turns pages into a human readable string
- function::proc_mem_string - Human readable string of current proc memory usage
- function::proc_mem_string_pid - Human readable string of process memory usage
This family of probe points is used to probe memory-related events or query the memory usage of the current process. It contains the following probe points: Namefunction::vm_fault_contains - Test return value for page fault reason Synopsisfunction vm_fault_contains:long(value:long,test:long) Argumentsvalue The fault_type returned by vm.page_fault.return test The type of fault to test for (VM_FAULT_OOM or similar)
Nameprobe::vm.pagefault - Records that a page fault occurred. Valueswrite_access Indicates whether this was a write or read access; 1 indicates a write, while 0 indicates a read. name address The address of the faulting memory access; i.e. the address that caused the page fault.
ContextThe process which triggered the fault
Nameprobe::vm.pagefault.return - Indicates what type of fault occurred. Synopsisvm.pagefault.return Valuesname fault_type Returns either 0 (VM_FAULT_OOM) for out of memory faults, 2 (VM_FAULT_MINOR) for minor faults, 3 (VM_FAULT_MAJOR) for major faults, or 1 (VM_FAULT_SIGBUS) if the fault was neither OOM, minor fault, nor major fault.
Namefunction::addr_to_node - Returns which node a given address belongs to within a NUMA system. Synopsisfunction addr_to_node:long(addr:long) Argumentsaddr The address of the faulting memory access.
General Syntaxaddr_to_node:long(addr:long) DescriptionThis function accepts an address, and returns the node that the given address belongs to in a NUMA system.
Nameprobe::vm.write_shared - Attempts at writing to a shared page. Valuesname address The address of the shared write.
ContextThe context is the process attempting the write. DescriptionFires when a process attempts to write to a shared page. If a copy is necessary, this will be followed by a vm.write_shared_copy.
Nameprobe::vm.write_shared_copy - Page copy for shared page write. Synopsisvm.write_shared_copy Valuesname zero Boolean indicating whether it is a zero page (can do a clear instead of a copy). address The address of the shared write.
ContextThe process attempting the write. DescriptionFires when a write to a shared page requires a page copy. This is always preceded by a vm.shared_write.
Nameprobe::vm.mmap - Fires when an mmap is requested. Valueslength The length of the memory segment name address
ContextThe process calling mmap.
Nameprobe::vm.munmap - Fires when an munmap is requested. Valueslength The length of the memory segment name address
ContextThe process calling munmap.
Nameprobe::vm.brk - Fires when a brk is requested (i.e. the heap will be resized). Valueslength The length of the memory segment name address
Nameprobe::vm.oom_kill - Fires when a thread is selected for termination by the OOM killer. ContextThe process that tried to consume excessive memory, and thus triggered the OOM.
Nameprobe::vm.kmalloc - Fires when kmalloc is requested. Valuesptr Pointer to the kmemory allocated caller_function Name of the caller function. call_site Address of the kmemory function. gfp_flag_name type of kmemory to allocate (in String format) name bytes_req bytes_alloc gfp_flags type of kmemory to allocate
Nameprobe::vm.kmem_cache_alloc - Fires when \ Synopsisvm.kmem_cache_alloc Valuesptr Pointer to the kmemory allocated caller_function Name of the caller function. call_site Address of the function calling this kmemory function. gfp_flag_name Type of kmemory to allocate(in string format) name bytes_req bytes_alloc gfp_flags type of kmemory to allocate
Descriptionkmem_cache_alloc is requested.
Nameprobe::vm.kmalloc_node - Fires when kmalloc_node is requested. Valuesptr Pointer to the kmemory allocated caller_function Name of the caller function. call_site Address of the function caling this kmemory function. gfp_flag_name Type of kmemory to allocate(in string format) name bytes_req bytes_alloc gfp_flags type of kmemory to allocate
Nameprobe::vm.kmem_cache_alloc_node - Fires when \ Synopsisvm.kmem_cache_alloc_node Valuesptr Pointer to the kmemory allocated caller_function Name of the caller function. call_site Address of the function calling this kmemory function. gfp_flag_name Type of kmemory to allocate(in string format) name bytes_req bytes_alloc gfp_flags type of kmemory to allocate
Descriptionkmem_cache_alloc_node is requested.
Nameprobe::vm.kfree - Fires when kfree is requested. Valuesptr Pointer to the kmemory allocated which is returned by kmalloc caller_function Name of the caller function. call_site Address of the function calling this kmemory function. name
Nameprobe::vm.kmem_cache_free - Fires when \ Synopsisvm.kmem_cache_free Valuesptr Pointer to the kmemory allocated which is returned by kmem_cache caller_function Name of the caller function. call_site Address of the function calling this kmemory function. name
Descriptionkmem_cache_free is requested.
Namefunction::proc_mem_size - Total program virtual memory size in pages Synopsisfunction proc_mem_size:long() DescriptionReturns the total virtual memory size in pages of the current process, or zero when there is no current process or the number of pages couldn't be retrieved.
Namefunction::proc_mem_size_pid - Total program virtual memory size in pages Synopsisfunction proc_mem_size_pid:long(pid:long) Argumentspid The pid of process to examine
DescriptionReturns the total virtual memory size in pages of the given process, or zero when that process doesn't exist or the number of pages couldn't be retrieved.
Namefunction::proc_mem_rss - Program resident set size in pages Synopsisfunction proc_mem_rss:long() DescriptionReturns the resident set size in pages of the current process, or zero when there is no current process or the number of pages couldn't be retrieved.
Namefunction::proc_mem_rss_pid - Program resident set size in pages Synopsisfunction proc_mem_rss_pid:long(pid:long) Argumentspid The pid of process to examine
DescriptionReturns the resident set size in pages of the given process, or zero when the process doesn't exist or the number of pages couldn't be retrieved.
Namefunction::proc_mem_shr - Program shared pages (from shared mappings) Synopsisfunction proc_mem_shr:long() DescriptionReturns the shared pages (from shared mappings) of the current process, or zero when there is no current process or the number of pages couldn't be retrieved.
Namefunction::proc_mem_shr_pid - Program shared pages (from shared mappings) Synopsisfunction proc_mem_shr_pid:long(pid:long) Argumentspid The pid of process to examine
DescriptionReturns the shared pages (from shared mappings) of the given process, or zero when the process doesn't exist or the number of pages couldn't be retrieved.
Namefunction::proc_mem_txt - Program text (code) size in pages Synopsisfunction proc_mem_txt:long() DescriptionReturns the current process text (code) size in pages, or zero when there is no current process or the number of pages couldn't be retrieved.
Namefunction::proc_mem_txt_pid - Program text (code) size in pages Synopsisfunction proc_mem_txt_pid:long(pid:long) Argumentspid The pid of process to examine
DescriptionReturns the given process text (code) size in pages, or zero when the process doesn't exist or the number of pages couldn't be retrieved.
Namefunction::proc_mem_data - Program data size (data + stack) in pages Synopsisfunction proc_mem_data:long() DescriptionReturns the current process data size (data + stack) in pages, or zero when there is no current process or the number of pages couldn't be retrieved.
Namefunction::proc_mem_data_pid - Program data size (data + stack) in pages Synopsisfunction proc_mem_data_pid:long(pid:long) Argumentspid The pid of process to examine
DescriptionReturns the given process data size (data + stack) in pages, or zero when the process doesn't exist or the number of pages couldn't be retrieved.
Namefunction::mem_page_size - Number of bytes in a page for this architecture Synopsisfunction mem_page_size:long()
Namefunction::bytes_to_string - Human readable string for given bytes Synopsisfunction bytes_to_string:string(bytes:long) Argumentsbytes Number of bytes to translate.
DescriptionReturns a string representing the number of bytes (up to 1024 bytes), the number of kilobytes (when less than 1024K) postfixed by 'K', the number of megabytes (when less than 1024M) postfixed by 'M' or the number of gigabytes postfixed by 'G'. If representing K, M or G, and the number is amount is less than 100, it includes a '.' plus the remainer. The returned string will be 5 characters wide (padding with whitespace at the front) unless negative or representing more than 9999G bytes.
Namefunction::pages_to_string - Turns pages into a human readable string Synopsisfunction pages_to_string:string(pages:long) Argumentspages Number of pages to translate.
DescriptionMultiplies pages by page_size to get the number of bytes and returns the result of bytes_to_string .
Namefunction::proc_mem_string - Human readable string of current proc memory usage Synopsisfunction proc_mem_string:string() DescriptionReturns a human readable string showing the size, rss, shr, txt and data of the memory used by the current process. For example "size: 301m, rss: 11m, shr: 8m, txt: 52k, data: 2248k".
Namefunction::proc_mem_string_pid - Human readable string of process memory usage Synopsisfunction proc_mem_string_pid:string(pid:long) Argumentspid The pid of process to examine
DescriptionReturns a human readable string showing the size, rss, shr, txt and data of the memory used by the given process. For example "size: 301m, rss: 11m, shr: 8m, txt: 52k, data: 2248k". Chapter 7. Task Time Tapset- function::task_utime - User time of the current task
- function::task_utime_tid - User time of the given task
- function::task_stime - System time of the current task
- function::task_stime_tid - System time of the given task
- function::cputime_to_msecs - Translates the given cputime into milliseconds
- function::msecs_to_string - Human readable string for given milliseconds
- function::cputime_to_string - Human readable string for given cputime
- function::task_time_string - Human readable string of task time usage
- function::task_time_string_tid - Human readable string of task time usage
This tapset defines utility functions to query time related properties of the current tasks, translate those in miliseconds and human readable strings. Namefunction::task_utime - User time of the current task Synopsisfunction task_utime:long() DescriptionReturns the user time of the current task in cputime. Does not include any time used by other tasks in this process, nor does it include any time of the children of this task.
Namefunction::task_utime_tid - User time of the given task Synopsisfunction task_utime_tid:long(tid:long) Argumentstid Thread id of the given task
DescriptionReturns the user time of the given task in cputime, or zero if the task doesn't exist. Does not include any time used by other tasks in this process, nor does it include any time of the children of this task.
Namefunction::task_stime - System time of the current task Synopsisfunction task_stime:long() DescriptionReturns the system time of the current task in cputime. Does not include any time used by other tasks in this process, nor does it include any time of the children of this task.
Namefunction::task_stime_tid - System time of the given task Synopsisfunction task_stime_tid:long(tid:long) Argumentstid Thread id of the given task
DescriptionReturns the system time of the given task in cputime, or zero if the task doesn't exist. Does not include any time used by other tasks in this process, nor does it include any time of the children of this task.
Namefunction::cputime_to_msecs - Translates the given cputime into milliseconds Synopsisfunction cputime_to_msecs:long(cputime:long) Argumentscputime Time to convert to milliseconds.
Namefunction::msecs_to_string - Human readable string for given milliseconds Synopsisfunction msecs_to_string:string(msecs:long) Argumentsmsecs Number of milliseconds to translate.
DescriptionReturns a string representing the number of milliseconds as a human readable string consisting of "XmY.ZZZs", where X is the number of minutes, Y is the number of seconds and ZZZ is the number of milliseconds.
Namefunction::cputime_to_string - Human readable string for given cputime Synopsisfunction cputime_to_string:string(cputime:long) DescriptionEquivalent to calling: msec_to_string (cputime_to_msecs (cputime).
Namefunction::task_time_string - Human readable string of task time usage Synopsisfunction task_time_string:string() DescriptionReturns a human readable string showing the user and system time the current task has used up to now. For example "usr: 0m12.908s, sys: 1m6.851s".
Namefunction::task_time_string_tid - Human readable string of task time usage Synopsisfunction task_time_string_tid:string(tid:long) Argumentstid Thread id of the given task
DescriptionReturns a human readable string showing the user and system time the given task has used up to now. For example "usr: 0m12.908s, sys: 1m6.851s". Chapter 8. IO Scheduler and block IO Tapset- probe::ioscheduler.elv_next_request - Fires when a request is retrieved from the request queue
- probe::ioscheduler.elv_next_request.return - Fires when a request retrieval issues a return signal
- probe::ioscheduler.elv_completed_request - Fires when a request is completed
- probe::ioscheduler.elv_add_request.kp - kprobe based probe to indicate that a request was added to the request queue
- probe::ioscheduler.elv_add_request.tp - tracepoint based probe to indicate a request is added to the request queue.
- probe::ioscheduler.elv_add_request - probe to indicate request is added to the request queue.
- probe::ioscheduler_trace.elv_completed_request - Fires when a request is
- probe::ioscheduler_trace.elv_issue_request - Fires when a request is
- probe::ioscheduler_trace.elv_requeue_request - Fires when a request is
- probe::ioscheduler_trace.elv_abort_request - Fires when a request is aborted.
- probe::ioscheduler_trace.plug - Fires when a request queue is plugged;
- probe::ioscheduler_trace.unplug_io - Fires when a request queue is unplugged;
- probe::ioscheduler_trace.unplug_timer - Fires when unplug timer associated
- probe::ioblock.request - Fires whenever making a generic block I/O request.
- probe::ioblock.end - Fires whenever a block I/O transfer is complete.
- probe::ioblock_trace.bounce - Fires whenever a buffer bounce is needed for at least one page of a block IO request.
- probe::ioblock_trace.request - Fires just as a generic block I/O request is created for a bio.
- probe::ioblock_trace.end - Fires whenever a block I/O transfer is complete.
This family of probe points is used to probe block IO layer and IO scheduler activities. It contains the following probe points: Nameprobe::ioscheduler.elv_next_request - Fires when a request is retrieved from the request queue Synopsisioscheduler.elv_next_request Valuesname elevator_name The type of I/O elevator currently enabled
Nameprobe::ioscheduler.elv_next_request.return - Fires when a request retrieval issues a return signal Synopsisioscheduler.elv_next_request.return Valuesdisk_major Disk major number of the request rq name disk_minor Disk minor number of the request rq_flags
Nameprobe::ioscheduler.elv_completed_request - Fires when a request is completed Synopsisioscheduler.elv_completed_request Valuesdisk_major Disk major number of the request rq name elevator_name The type of I/O elevator currently enabled disk_minor Disk minor number of the request rq_flags
Nameprobe::ioscheduler.elv_add_request.kp - kprobe based probe to indicate that a request was added to the request queue Synopsisioscheduler.elv_add_request.kp Valuesdisk_major Disk major number of the request rq q name elevator_name The type of I/O elevator currently enabled disk_minor Disk minor number of the request rq_flags
Nameprobe::ioscheduler.elv_add_request.tp - tracepoint based probe to indicate a request is added to the request queue. Synopsisioscheduler.elv_add_request.tp Valuesdisk_major Disk major no of request. rq q Pointer to request queue. name elevator_name The type of I/O elevator currently enabled. disk_minor Disk minor number of request. rq_flags
Nameprobe::ioscheduler.elv_add_request - probe to indicate request is added to the request queue. Synopsisioscheduler.elv_add_request Valuesdisk_major Disk major no of request. rq q Pointer to request queue. elevator_name The type of I/O elevator currently enabled. disk_minor Disk minor number of request. rq_flags
Nameprobe::ioscheduler_trace.elv_completed_request - Fires when a request is Synopsisioscheduler_trace.elv_completed_request Valuesdisk_major Disk major no of request. rq name elevator_name The type of I/O elevator currently enabled. disk_minor Disk minor number of request. rq_flags
Nameprobe::ioscheduler_trace.elv_issue_request - Fires when a request is Synopsisioscheduler_trace.elv_issue_request Valuesdisk_major Disk major no of request. rq name elevator_name The type of I/O elevator currently enabled. disk_minor Disk minor number of request. rq_flags
Nameprobe::ioscheduler_trace.elv_requeue_request - Fires when a request is Synopsisioscheduler_trace.elv_requeue_request Valuesdisk_major Disk major no of request. rq name elevator_name The type of I/O elevator currently enabled. disk_minor Disk minor number of request. rq_flags
Descriptionput back on the queue, when the hadware cannot accept more requests.
Nameprobe::ioscheduler_trace.elv_abort_request - Fires when a request is aborted. Synopsisioscheduler_trace.elv_abort_request Valuesdisk_major Disk major no of request. rq name elevator_name The type of I/O elevator currently enabled. disk_minor Disk minor number of request. rq_flags
Nameprobe::ioscheduler_trace.plug - Fires when a request queue is plugged; Synopsisioscheduler_trace.plug Descriptionie, requests in the queue cannot be serviced by block driver.
Nameprobe::ioscheduler_trace.unplug_io - Fires when a request queue is unplugged; Synopsisioscheduler_trace.unplug_io DescriptionEither, when number of pending requests in the queue exceeds threshold or, upon expiration of timer that was activated when queue was plugged.
Nameprobe::ioscheduler_trace.unplug_timer - Fires when unplug timer associated Synopsisioscheduler_trace.unplug_timer Descriptionwith a request queue expires.
Nameprobe::ioblock.request - Fires whenever making a generic block I/O request. Descriptionname - name of the probe point devname - block device name ino - i-node number of the mapped file sector - beginning sector for the entire bio flags - see below BIO_UPTODATE 0 ok after I/O completion BIO_RW_BLOCK 1 RW_AHEAD set, and read/write would block BIO_EOF 2 out-out-bounds error BIO_SEG_VALID 3 nr_hw_seg valid BIO_CLONED 4 doesn't own data BIO_BOUNCED 5 bio is a bounce bio BIO_USER_MAPPED 6 contains user pages BIO_EOPNOTSUPP 7 not supported rw - binary trace for read/write request vcnt - bio vector count which represents number of array element (page, offset, length) which make up this I/O request idx - offset into the bio vector array phys_segments - number of segments in this bio after physical address coalescing is performed hw_segments - number of segments after physical and DMA remapping hardware coalescing is performed size - total size in bytes bdev - target block device bdev_contains - points to the device object which contains the partition (when bio structure represents a partition) p_start_sect - points to the start sector of the partition structure of the device ContextThe process makes block I/O request
Nameprobe::ioblock.end - Fires whenever a block I/O transfer is complete. Descriptionname - name of the probe point devname - block device name ino - i-node number of the mapped file bytes_done - number of bytes transferred sector - beginning sector for the entire bio flags - see below BIO_UPTODATE 0 ok after I/O completion BIO_RW_BLOCK 1 RW_AHEAD set, and read/write would block BIO_EOF 2 out-out-bounds error BIO_SEG_VALID 3 nr_hw_seg valid BIO_CLONED 4 doesn't own data BIO_BOUNCED 5 bio is a bounce bio BIO_USER_MAPPED 6 contains user pages BIO_EOPNOTSUPP 7 not supported error - 0 on success rw - binary trace for read/write request vcnt - bio vector count which represents number of array element (page, offset, length) which makes up this I/O request idx - offset into the bio vector array phys_segments - number of segments in this bio after physical address coalescing is performed. hw_segments - number of segments after physical and DMA remapping hardware coalescing is performed size - total size in bytes ContextThe process signals the transfer is done.
Nameprobe::ioblock_trace.bounce - Fires whenever a buffer bounce is needed for at least one page of a block IO request. Synopsisioblock_trace.bounce Descriptionname - name of the probe point q - request queue on which this bio was queued. devname - device for which a buffer bounce was needed. ino - i-node number of the mapped file bytes_done - number of bytes transferred sector - beginning sector for the entire bio flags - see below BIO_UPTODATE 0 ok after I/O completion BIO_RW_BLOCK 1 RW_AHEAD set, and read/write would block BIO_EOF 2 out-out-bounds error BIO_SEG_VALID 3 nr_hw_seg valid BIO_CLONED 4 doesn't own data BIO_BOUNCED 5 bio is a bounce bio BIO_USER_MAPPED 6 contains user pages BIO_EOPNOTSUPP 7 not supported rw - binary trace for read/write request vcnt - bio vector count which represents number of array element (page, offset, length) which makes up this I/O request idx - offset into the bio vector array phys_segments - number of segments in this bio after physical address coalescing is performed. size - total size in bytes bdev - target block device bdev_contains - points to the device object which contains the partition (when bio structure represents a partition) p_start_sect - points to the start sector of the partition structure of the device Context The process creating a block IO request.
Nameprobe::ioblock_trace.request - Fires just as a generic block I/O request is created for a bio. Synopsisioblock_trace.request Descriptionname - name of the probe point q - request queue on which this bio was queued. devname - block device name ino - i-node number of the mapped file bytes_done - number of bytes transferred sector - beginning sector for the entire bio flags - see below BIO_UPTODATE 0 ok after I/O completion BIO_RW_BLOCK 1 RW_AHEAD set, and read/write would block BIO_EOF 2 out-out-bounds error BIO_SEG_VALID 3 nr_hw_seg valid BIO_CLONED 4 doesn't own data BIO_BOUNCED 5 bio is a bounce bio BIO_USER_MAPPED 6 contains user pages BIO_EOPNOTSUPP 7 not supported rw - binary trace for read/write request vcnt - bio vector count which represents number of array element (page, offset, length) which make up this I/O request idx - offset into the bio vector array phys_segments - number of segments in this bio after physical address coalescing is performed. size - total size in bytes bdev - target block device bdev_contains - points to the device object which contains the partition (when bio structure represents a partition) p_start_sect - points to the start sector of the partition structure of the device ContextThe process makes block I/O request
Nameprobe::ioblock_trace.end - Fires whenever a block I/O transfer is complete. Synopsisioblock_trace.end Descriptionname - name of the probe point q - request queue on which this bio was queued. devname - block device name ino - i-node number of the mapped file bytes_done - number of bytes transferred sector - beginning sector for the entire bio flags - see below BIO_UPTODATE 0 ok after I/O completion BIO_RW_BLOCK 1 RW_AHEAD set, and read/write would block BIO_EOF 2 out-out-bounds error BIO_SEG_VALID 3 nr_hw_seg valid BIO_CLONED 4 doesn't own data BIO_BOUNCED 5 bio is a bounce bio BIO_USER_MAPPED 6 contains user pages BIO_EOPNOTSUPP 7 not supported rw - binary trace for read/write request vcnt - bio vector count which represents number of array element (page, offset, length) which makes up this I/O request idx - offset into the bio vector array phys_segments - number of segments in this bio after physical address coalescing is performed. size - total size in bytes bdev - target block device bdev_contains - points to the device object which contains the partition (when bio structure represents a partition) p_start_sect - points to the start sector of the partition structure of the device ContextThe process signals the transfer is done. - probe::scsi.ioentry - Prepares a SCSI mid-layer request
- probe::scsi.iodispatching - SCSI mid-layer dispatched low-level SCSI command
- probe::scsi.iodone - SCSI command completed by low level driver and enqueued into the done queue.
- probe::scsi.iocompleted - SCSI mid-layer running the completion processing for block device I/O requests
- probe::scsi.ioexecute - Create mid-layer SCSI request and wait for the result
- probe::scsi.set_state - Order SCSI device state change
This family of probe points is used to probe SCSI activities. It contains the following probe points: Nameprobe::scsi.ioentry - Prepares a SCSI mid-layer request Valuesdisk_major The major number of the disk (-1 if no information) device_state_str The current state of the device, as a string device_state The current state of the device req_addr The current struct request pointer, as a number disk_minor The minor number of the disk (-1 if no information)
Nameprobe::scsi.iodispatching - SCSI mid-layer dispatched low-level SCSI command Synopsisscsi.iodispatching Valuesdevice_state_str The current state of the device, as a string dev_id channel data_direction The data_direction specifies whether this command is from/to the device 0 (DMA_BIDIRECTIONAL), 1 (DMA_TO_DEVICE), 2 (DMA_FROM_DEVICE), 3 (DMA_NONE) lun request_bufflen The request buffer length host_no device_state The current state of the device data_direction_str Data direction, as a string req_addr The current struct request pointer, as a number request_buffer The request buffer address
Nameprobe::scsi.iodone - SCSI command completed by low level driver and enqueued into the done queue. Valuesdevice_state_str The current state of the device, as a string dev_id channel data_direction The data_direction specifies whether this command is from/to the device. lun host_no data_direction_str Data direction, as a string device_state The current state of the device scsi_timer_pending 1 if a timer is pending on this request req_addr The current struct request pointer, as a number
Nameprobe::scsi.iocompleted - SCSI mid-layer running the completion processing for block device I/O requests Valuesdevice_state_str The current state of the device, as a string dev_id channel data_direction The data_direction specifies whether this command is from/to the device lun host_no data_direction_str Data direction, as a string device_state The current state of the device req_addr The current struct request pointer, as a number goodbytes
Nameprobe::scsi.ioexecute - Create mid-layer SCSI request and wait for the result Valuesretries Number of times to retry request device_state_str The current state of the device, as a string dev_id channel data_direction The data_direction specifies whether this command is from/to the device. lun timeout Request timeout in seconds request_bufflen The data buffer buffer length host_no data_direction_str Data direction, as a string device_state The current state of the device request_buffer
Nameprobe::scsi.set_state - Order SCSI device state change Valuesstate_str The new state of the device, as a string dev_id channel state The new state of the device old_state_str The current state of the device, as a string lun old_state The current state of the device host_no
- probe::tty.open - Called when a tty is opened
- probe::tty.release - Called when the tty is closed
- probe::tty.resize - Called when a terminal resize happens
- probe::tty.ioctl - called when a ioctl is request to the tty
- probe::tty.init - Called when a tty is being initalized
- probe::tty.register - Called when a tty device is registred
- probe::tty.unregister - Called when a tty device is being unregistered
- probe::tty.poll - Called when a tty device is being polled
- probe::tty.receive - called when a tty receives a message
- probe::tty.write - write to the tty line
- probe::tty.read - called when a tty line will be read
This family of probe points is used to probe TTY (Teletype) activities. It contains the following probe points: Nameprobe::tty.open - Called when a tty is opened Valuesinode_state file_name file_mode file_flags inode_number inode_flags
Nameprobe::tty.release - Called when the tty is closed Valuesinode_state file_name file_mode file_flags inode_number inode_flags
Nameprobe::tty.resize - Called when a terminal resize happens Valuesnew_ypixel old_col old_xpixel old_ypixel name old_row new_row new_xpixel new_col
Nameprobe::tty.ioctl - called when a ioctl is request to the tty
Nameprobe::tty.init - Called when a tty is being initalized Valuesdriver_name name the driver .dev_name name module
Nameprobe::tty.register - Called when a tty device is registred Valuesdriver_name name the driver .dev_name name index module
Nameprobe::tty.unregister - Called when a tty device is being unregistered Valuesdriver_name name the driver .dev_name name index module
Nameprobe::tty.poll - Called when a tty device is being polled
Nameprobe::tty.receive - called when a tty receives a message Valuesdriver_name count The amount of characters received name the name of the module file fp cp the buffer that was received index id
Nameprobe::tty.write - write to the tty line Valuesdriver_name buffer the buffer that will be written file_name the file name lreated to the tty nr
Nameprobe::tty.read - called when a tty line will be read Valuesdriver_name buffer the buffer that will receive the characters file_name the file name lreated to the tty nr The amount of characters to be read
|
| |
|