]> sourceware.org Git - systemtap.git/commitdiff
latencytap sample: update, compress
authorFrank Ch. Eigler <fche@redhat.com>
Fri, 25 Jul 2014 17:08:55 +0000 (13:08 -0400)
committerFrank Ch. Eigler <fche@redhat.com>
Fri, 25 Jul 2014 17:08:55 +0000 (13:08 -0400)
Added a few more unexplained backtraces (as visible with -Gdebug=1
runs), automated explanation-width calculations, and compressed the
initialization of the explanation/priority lookup tables.

testsuite/systemtap.examples/profiling/latencytap.stp

index f4c7f9c43f7db81cd34a9f3a1459ccc732c3e05a..4b961b9cc624a424019fe126994d0715f1cd1bfb 100755 (executable)
@@ -14,6 +14,7 @@ global priority, reason;
 global traced_pid, sleep_time, dequeue;
 global this_sleep;
 global debug = 0;
+global reason_len;
 
 function log_event:long (p:long)
 {
@@ -99,15 +100,15 @@ function global_report_latencies() {
   }
 
   ansi_clear_screen();
-  printf("%-32s %12s %12s %12s %7s%%\n",
-    "Reason", "Count", "Average(us)", "Maximum(us)", "Percent");
+  printf("%-*s %12s %12s %12s %7s%%\n",
+         @max(reason_len)+1, "Reason", "Count", "Average(us)", "Maximum(us)", "Percent");
   foreach ([backtrace] in sort_latencies- limit 20) {
     #print reason count average max percentage
     cause = translate (backtrace);
     # if can't find reason print out a backtrace
     if (cause == "" && debug)
       printf("%s\n", func_backtrace(backtrace));
-    printf("%-32s ", cause);
+    printf("%-*s ", @max(reason_len)+1, cause);
     p = (@sum(sleep_time[backtrace])*100)/total;
     printf("%12d %12d %12d %7d%%\n",
           @count(sleep_time[backtrace]),
@@ -131,437 +132,166 @@ probe begin {
 # The vast majority of translations were mechanically generated from the
 # latencytop (http://www.latencytop.org/) translation file:
 # /usr/share/latencytop/latencytop.trans .
-probe begin {
-  priority["vfs_read"] = 1;
-  reason["vfs_read"] = "Reading from file";
-
-  priority["vfs_write"] = 1;
-  reason["vfs_write"] = "Writing to file";
-
-  priority["__mark_inode_dirty"] = 1;
-  reason["__mark_inode_dirty"] = "Marking inode dirty";
-
-  priority["vfs_readdir"] = 1;
-  reason["vfs_readdir"] = "Reading directory content";
-
-  priority["vfs_unlink"] = 1;
-  reason["vfs_unlink"] = "Unlinking file";
-
-  priority["blocking_notifier_call_chain"] = 1;
-  reason["blocking_notifier_call_chain"] = "Blocking notifier";
-
-  priority["lock_super"] = 1;
-  reason["lock_super"] = "Superblock lock contention";
-
-  priority["bdi_sync_supers"] = 1;
-  reason["bdi_sync_supers"] = "Sync superblock";
-
-  priority["vfs_create"] = 1;
-  reason["vfs_create"] = "Creating a file";
-
-  priority["__bread"] = 2;
-  reason["__bread"] = "Synchronous buffer read";
-
-  priority["do_generic_mapping_read"] = 2;
-  reason["do_generic_mapping_read"] = "Reading file data";
-
-  priority["sock_sendmsg"] = 2;
-  reason["sock_sendmsg"] = "Sending data over socket";
-
-  priority["do_sys_open"] = 2;
-  reason["do_sys_open"] = "Opening file";
-
-  priority["do_sys_poll"] = 2;
-  reason["do_sys_poll"] = "Waiting for event (poll)";
-
-  priority["core_sys_select"] = 2;
-  reason["core_sys_select"] = "Waiting for event (select)";
-
-  priority["proc_reg_read"] = 2;
-  reason["proc_reg_read"] = "Reading from /proc file";
-
-  priority["__pollwait"] = 2;
-  reason["__pollwait"] = "Waiting for event (poll)";
-
-  priority["sys_fcntl"] = 2;
-  reason["sys_fcntl"] = "FCNTL system call";
-
-  priority["scsi_error_handler"] = 2;
-  reason["scsi_error_handler"] = "SCSI error handler";
-
-  priority["proc_root_readdir"] = 2;
-  reason["proc_root_readdir"] = "Reading /proc directory";
-
-  priority["ksoftirqd"] = 2;
-  reason["ksoftirqd"] = "Waking ksoftirqd";
-
-  priority["run_ksoftirqd"] = 2;
-  reason["run_ksoftirqd"] = "Waking ksoftirqd";
-
-  priority["migration_thread"] = 2;
-  reason["migration_thread"] = "migration() kernel thread";
-
-  priority["do_unlinkat"] = 2;
-  reason["do_unlinkat"] = "Unlinking file";
-
-  priority["__wait_on_buffer"] = 2;
-  reason["__wait_on_buffer"] = "Waiting for buffer IO to complete";
-
-  priority["pdflush"] = 2;
-  reason["pdflush"] = "pdflush() kernel thread";
-
-  priority["kjournald"] = 2;
-  reason["kjournald"] = "kjournald() kernel thread";
-
-  priority["kjournald2"] = 2;
-  reason["kjournald2"] = "jdb2() kernel thread";
-
-  priority["bdi_writeback_task"] = 2;
-  reason["bdi_writeback_task"] = "Flush data to backing device";
-
-  priority["bdi_writeback_thread"] = 2;
-  reason["bdi_writeback_thread"] = "Flush data to backing dev";
-
-  priority["bdi_forker_task"] = 2;
-  reason["bdi_forker_task"] = "bdi-* kernel thread";
-
-  priority["dm_wait_for_completion"] = 2;
-  reason["dm_wait_for_completion"] = "Waiting for device mapper ops";
-
-  priority["blkdev_ioctl"] = 2;
-  reason["blkdev_ioctl"] = "block device IOCTL";
-
-  priority["kauditd_thread"] = 2;
-  reason["kauditd_thread"] = "kernel audit daemon";
-
-  priority["tty_ioctl"] = 2;
-  reason["tty_ioctl"] = "TTY IOCTL";
-
-  priority["do_sync_write"] = 2;
-  reason["do_sync_write"] = "synchronous write";
-
-  priority["kthreadd"] = 2;
-  reason["kthreadd"] = "kthreadd kernel thread";
-
-  priority["usb_port_resume"] = 2;
-  reason["usb_port_resume"] = "Waking up USB device";
-
-  priority["usb_autoresume_device"] = 2;
-  reason["usb_autoresume_device"] = "Waking up USB device";
-
-  priority["khugepaged"] = 2;
-  reason["khugepaged"] = "khugepaged() kernel thread";
-
-  priority["kswapd"] = 2;
-  reason["kswapd"] = "kswapd() kernel thread";
-
-  priority["md_thread"] = 2;
-  reason["md_thread"] = "Raid resync kernel thread";
-
-  priority["i915_wait_request"] = 2;
-  reason["i915_wait_request"] = "Waiting for GPU command to complete";
-
-  priority["request_module"] = 2;
-  reason["request_module"] = "Loading a kernel module";
-
-  priority["tty_wait_until_sent"] = 3;
-  reason["tty_wait_until_sent"] = "Waiting for TTY to finish sending";
-
-  priority["pipe_read"] = 3;
-  reason["pipe_read"] = "Reading from a pipe";
-
-  priority["pipe_write"] = 3;
-  reason["pipe_write"] = "Writing to a pipe";
-
-  priority["pipe_wait"] = 3;
-  reason["pipe_wait"] = "Waiting for pipe data";
-
-  priority["read_block_bitmap"] = 3;
-  reason["read_block_bitmap"] = "Reading EXT3 block bitmaps";
-
-  priority["scsi_execute_req"] = 3;
-  reason["scsi_execute_req"] = "Executing raw SCSI command";
-
-  priority["sys_wait4"] = 3;
-  reason["sys_wait4"] = "Waiting for a process to die";
-
-  priority["sr_media_change"] = 3;
-  reason["sr_media_change"] = "Checking for media change";
-
-  priority["sr_do_ioctl"] = 3;
-  reason["sr_do_ioctl"] = "SCSI cdrom ioctl";
-
-  priority["sd_ioctl"] = 3;
-  reason["sd_ioctl"] = "SCSI disk ioctl";
-
-  priority["sr_cd_check"] = 3;
-  reason["sr_cd_check"] = "Checking CDROM media present";
-
-  priority["ext3_read_inode"] = 3;
-  reason["ext3_read_inode"] = "Reading EXT3 inode";
-
-  priority["htree_dirblock_to_tree"] = 3;
-  reason["htree_dirblock_to_tree"] = "Reading EXT3 directory htree";
-
-  priority["ext3_readdir"] = 3;
-  reason["ext3_readdir"] = "Reading EXT3 directory";
-
-  priority["ext3_bread"] = 3;
-  reason["ext3_bread"] = "Synchronous EXT3 read";
-
-  priority["ext3_free_branches"] = 3;
-  reason["ext3_free_branches"] = "Unlinking file on EXT3";
-
-  priority["ext3_get_branch"] = 3;
-  reason["ext3_get_branch"] = "Reading EXT3 indirect blocks";
-
-  priority["ext3_find_entry"] = 3;
-  reason["ext3_find_entry"] = "EXT3: Looking for file";
-
-  priority["__ext3_get_inode_loc"] = 3;
-  reason["__ext3_get_inode_loc"] = "Reading EXT3 inode";
-
-  priority["ext3_delete_inode"] = 3;
-  reason["ext3_delete_inode"] = "EXT3 deleting inode";
-
-  priority["sync_page"] = 3;
-  reason["sync_page"] = "Writing a page to disk";
-
-  priority["tty_poll"] = 3;
-  reason["tty_poll"] = "Waiting for TTY data";
-
-  priority["tty_read"] = 3;
-  reason["tty_read"] = "Waiting for TTY input";
-
-  priority["tty_write"] = 3;
-  reason["tty_write"] = "Writing data to TTY";
-
-  priority["update_atime"] = 3;
-  reason["update_atime"] = "Updating inode atime";
-
-  priority["page_cache_sync_readahead"] = 3;
-  reason["page_cache_sync_readahead"] = "Pagecache sync readahead";
-
-  priority["do_fork"] = 3;
-  reason["do_fork"] = "Fork() system call";
-
-  priority["sys_mkdirat"] = 3;
-  reason["sys_mkdirat"] = "Creating directory";
-
-  priority["lookup_create"] = 3;
-  reason["lookup_create"] = "Creating file";
 
-  priority["inet_sendmsg"] = 3;
-  reason["inet_sendmsg"] = "Sending TCP/IP data";
-
-  priority["tcp_recvmsg"] = 3;
-  reason["tcp_recvmsg"] = "Receiving TCP/IP data";
-
-  priority["link_path_walk"] = 3;
-  reason["link_path_walk"] = "Following symlink";
-
-  priority["path_walk"] = 3;
-  reason["path_walk"] = "Walking directory tree";
-
-  priority["sys_getdents"] = 3;
-  reason["sys_getdents"] = "Reading directory content";
-
-  priority["unix_stream_recvmsg"] = 3;
-  reason["unix_stream_recvmsg"] = "Waiting for data on unix socket";
-
-  priority["ext3_mkdir"] = 3;
-  reason["ext3_mkdir"] = "EXT3: Creating a directory";
-
-  priority["journal_get_write_access"] = 3;
-  reason["journal_get_write_access"] = "EXT3: Waiting for journal access";
-
-  priority["synchronize_rcu"] = 3;
-  reason["synchronize_rcu"] = "Waiting for RCU";
-
-  priority["input_close_device"] = 3;
-  reason["input_close_device"] = "Closing input device";
-
-  priority["mousedev_close_device"] = 3;
-  reason["mousedev_close_device"] = "Closing mouse device";
-
-  priority["mousedev_release"] = 3;
-  reason["mousedev_release"] = "Closing mouse device";
-
-  priority["mousedev_open"] = 3;
-  reason["mousedev_open"] = "Opening mouse device";
-
-  priority["kmsg_read"] = 3;
-  reason["kmsg_read"] = "Reading from dmesg";
-
-  priority["sys_futex"] = 3;
-  reason["sys_futex"] = "Userspace lock contention";
-
-  priority["do_futex"] = 3;
-  reason["do_futex"] = "Userspace lock contention";
-
-  priority["vt_waitactive"] = 3;
-  reason["vt_waitactive"] = "vt_waitactive IOCTL";
-
-  priority["acquire_console_sem"] = 3;
-  reason["acquire_console_sem"] = "Waiting for console access";
-
-  priority["filp_close"] = 3;
-  reason["filp_close"] = "Closing a file";
-
-  priority["sync_inode"] = 3;
-  reason["sync_inode"] = "(f)syncing an inode to disk";
-
-  priority["ata_exec_internal_sg"] = 3;
-  reason["ata_exec_internal_sg"] = "Executing internal ATA command";
-
-  priority["writeback_inodes"] = 3;
-  reason["writeback_inodes"] = "Writing back inodes";
-
-  priority["ext3_orphan_add "] = 3;
-  reason["ext3_orphan_add "] = "EXT3 adding orphan";
-
-  priority["ext3_mark_inode_dirty "] = 3;
-  reason["ext3_mark_inode_dirty "] = "EXT3 marking inode dirty";
-
-  priority["ext3_unlink "] = 3;
-  reason["ext3_unlink "] = "EXT3 unlinking file";
-
-  priority["ext3_create"] = 3;
-  reason["ext3_create"] = "EXT3 Creating a file";
-
-  priority["log_do_checkpoint"] = 3;
-  reason["log_do_checkpoint"] = "EXT3 journal checkpoint";
-
-  priority["generic_delete_inode"] = 3;
-  reason["generic_delete_inode"] = "Deleting an inode";
-
-  priority["proc_delete_inode"] = 3;
-  reason["proc_delete_inode"] = "Removing /proc file";
-
-  priority["do_truncate"] = 3;
-  reason["do_truncate"] = "Truncating file";
-
-  priority["sys_execve"] = 3;
-  reason["sys_execve"] = "Executing a program";
-
-  priority["journal_commit_transaction"] = 3;
-  reason["journal_commit_transaction"] = "EXT3: committing transaction";
-
-  priority["__stop_machine_run"] = 3;
-  reason["__stop_machine_run"] = "Freezing the kernel (for module load)";
-
-  priority["sys_munmap"] = 3;
-  reason["sys_munmap"] = "unmapping memory";
-
-  priority["sys_mmap"] = 3;
-  reason["sys_mmap"] = "mmaping memory";
-
-  priority["sync_buffer"] = 3;
-  reason["sync_buffer"] = "Writing buffer to disk (synchronous)";
-
-  priority["inotify_inode_queue_event"] = 3;
-  reason["inotify_inode_queue_event"] = "Inotify event";
-
-  priority["proc_lookup"] = 3;
-  reason["proc_lookup"] = "Looking up /proc file";
-
-  priority["generic_make_request"] = 3;
-  reason["generic_make_request"] = "Creating block layer request";
-
-  priority["get_request_wait"] = 3;
-  reason["get_request_wait"] = "Creating block layer request";
-
-  priority["alloc_page_vma"] = 3;
-  reason["alloc_page_vma"] = "Allocating a VMA";
-
-  priority["blkdev_direct_IO"] = 3;
-  reason["blkdev_direct_IO"] = "Direct block device IO";
-
-  priority["sys_mprotect"] = 3;
-  reason["sys_mprotect"] = "mprotect() system call";
-
-  priority["shrink_icache_memory"] = 3;
-  reason["shrink_icache_memory"] = "reducing inode cache memory footprint";
-
-  priority["vfs_stat_fd"] = 3;
-  reason["vfs_stat_fd"] = "stat() operation";
-
-  priority["cdrom_open"] = 3;
-  reason["cdrom_open"] = "opening cdrom device";
-
-  priority["sys_epoll_wait"] = 3;
-  reason["sys_epoll_wait"] = "Waiting for event (epoll)";
-
-  priority["sync_sb_inodes"] = 3;
-  reason["sync_sb_inodes"] = "Syncing inodes";
-
-  priority["tcp_connect"] = 3;
-  reason["tcp_connect"] = "TCP/IP connect";
-
-  priority["ata_scsi_ioctl"] = 3;
-  reason["ata_scsi_ioctl"] = "ATA/SCSI disk ioctl";
-
-  priority["kvm_vcpu_ioctl"] = 3;
-  reason["kvm_vcpu_ioctl"] = "KVM ioctl";
-
-  priority["do_rmdir"] = 3;
-  reason["do_rmdir"] = "Removing directory";
-
-  priority["vfs_rmdir"] = 3;
-  reason["vfs_rmdir"] = "Removing directory";
-
-  priority["sys_flock"] = 3;
-  reason["sys_flock"] = "flock() on a file";
-
-  priority["usbdev_open"] = 3;
-  reason["usbdev_open"] = "opening USB device";
-
-  priority["lock_kernel"] = 3;
-  reason["lock_kernel"] = "Big Kernel Lock contention";
-
-  priority["blk_execute_rq"] = 3;
-  reason["blk_execute_rq"] = "Submitting block IO";
-
-  priority["scsi_cmd_ioctl"] = 3;
-  reason["scsi_cmd_ioctl"] = "SCSI ioctl command";
-
-  priority["acpi_ec_transaction"] = 3;
-  reason["acpi_ec_transaction"] = "ACPI hardware access";
-
-  priority["journal_get_undo_access"] = 3;
-  reason["journal_get_undo_access"] = "Waiting for EXT3 journal undo operation";
-
-  priority["i915_irq_wait"] = 3;
-  reason["i915_irq_wait"] = "Waiting for GPU interrupt";
-
-  priority["i915_gem_throttle_ioctl"] = 3;
-  reason["i915_gem_throttle_ioctl"] = "Throttling GPU while waiting for commands";
-
-  priority["do_page_fault"] = 5;
-  reason["do_page_fault"] = "Page fault";
-
-  priority["handle_mm_fault"] = 5;
-  reason["handle_mm_fault"] = "Page fault";
-
-  priority["filemap_fault"] = 5;
-  reason["filemap_fault"] = "Page fault";
-
-  priority["sync_filesystems"] = 5;
-  reason["sync_filesystems"] = "Syncing filesystem";
-
-  priority["sys_nanosleep"] = 5;
-  reason["sys_nanosleep"] = "Application requested delay";
-
-  priority["sys_pause"] = 5;
-  reason["sys_pause"] = "Application requested delay";
-
-  priority["evdev_read"] = 5;
-  reason["evdev_read"] = "Reading keyboard/mouse input";
-
-  priority["do_fsync"] = 5;
-  reason["do_fsync"] = "fsync() on a file";
-
-  priority["__log_wait_for_space"] = 5;
-  reason["__log_wait_for_space"] = "Waiting for EXT3 journal space";
+function explain(symbol,pri,blah) {
+  priority[symbol] = pri
+  reason[symbol] = blah
+  reason_len <<< strlen(blah)
+}
 
+probe begin {
+  explain("SyS_epoll_wait",3,"Waiting for event (epoll)");
+  explain("SyS_flock",3,"flock() on a file");
+  explain("SyS_nanosleep",5,"Application requested delay");
+  explain("SyS_pause",5,"Application requested delay");
+  explain("__bread",2,"Synchronous buffer read");
+  explain("__ext3_get_inode_loc",3,"Reading EXT3 inode");
+  explain("__log_wait_for_space",5,"Waiting for EXT3 journal space");
+  explain("__mark_inode_dirty",1,"Marking inode dirty");
+  explain("__pollwait",2,"Waiting for event (poll)");
+  explain("__stop_machine_run",3,"Freezing the kernel (for module load)");
+  explain("__wait_on_buffer",2,"Waiting for buffer IO to complete");
+  explain("acpi_ec_transaction",3,"ACPI hardware access");
+  explain("acquire_console_sem",3,"Waiting for console access");
+  explain("alloc_page_vma",3,"Allocating a VMA");
+  explain("ata_exec_internal_sg",3,"Executing internal ATA command");
+  explain("ata_scsi_ioctl",3,"ATA/SCSI disk ioctl");
+  explain("bdi_forker_task",2,"bdi-* kernel thread");
+  explain("bdi_sync_supers",1,"Sync superblock");
+  explain("bdi_writeback_task",2,"Flush data to backing device");
+  explain("bdi_writeback_thread",2,"Flush data to backing dev");
+  explain("blk_execute_rq",3,"Submitting block IO");
+  explain("blkdev_direct_IO",3,"Direct block device IO");
+  explain("blkdev_ioctl",2,"block device IOCTL");
+  explain("blocking_notifier_call_chain",1,"Blocking notifier");
+  explain("cdrom_open",3,"opening cdrom device");
+  explain("core_sys_select",2,"Waiting for event (select)");
+  explain("dm_wait_for_completion",2,"Waiting for device mapper ops");
+  explain("do_fork",3,"Fork() system call");
+  explain("do_fsync",5,"fsync() on a file");
+  explain("do_futex",3,"Userspace lock contention");
+  explain("do_generic_mapping_read",2,"Reading file data");
+  explain("do_page_fault",5,"Page fault");
+  explain("do_rmdir",3,"Removing directory");
+  explain("do_sync_write",2,"synchronous write");
+  explain("do_sys_open",2,"Opening file");
+  explain("do_sys_poll",2,"Waiting for event (poll)");
+  explain("do_truncate",3,"Truncating file");
+  explain("do_unlinkat",2,"Unlinking file");
+  explain("evdev_read",5,"Reading keyboard/mouse input");
+  explain("ext3_bread",3,"Synchronous EXT3 read");
+  explain("ext3_create",3,"EXT3 Creating a file");
+  explain("ext3_delete_inode",3,"EXT3 deleting inode");
+  explain("ext3_find_entry",3,"EXT3: Looking for file");
+  explain("ext3_free_branches",3,"Unlinking file on EXT3");
+  explain("ext3_get_branch",3,"Reading EXT3 indirect blocks");
+  explain("ext3_mark_inode_dirty ",3,"EXT3 marking inode dirty");
+  explain("ext3_mkdir",3,"EXT3: Creating a directory");
+  explain("ext3_orphan_add ",3,"EXT3 adding orphan");
+  explain("ext3_read_inode",3,"Reading EXT3 inode");
+  explain("ext3_readdir",3,"Reading EXT3 directory");
+  explain("ext3_unlink ",3,"EXT3 unlinking file");
+  explain("filemap_fault",5,"Page fault");
+  explain("filp_close",3,"Closing a file");
+  explain("generic_delete_inode",3,"Deleting an inode");
+  explain("generic_make_request",3,"Creating block layer request");
+  explain("get_request_wait",3,"Creating block layer request");
+  explain("handle_mm_fault",5,"Page fault");
+  explain("htree_dirblock_to_tree",3,"Reading EXT3 directory htree");
+  explain("i915_gem_throttle_ioctl",3,"Throttling GPU while waiting for commands");
+  explain("i915_irq_wait",3,"Waiting for GPU interrupt");
+  explain("i915_wait_request",2,"Waiting for GPU command to complete");
+  explain("inet_sendmsg",3,"Sending TCP/IP data");
+  explain("inotify_inode_queue_event",3,"Inotify event");
+  explain("input_close_device",3,"Closing input device");
+  explain("journal_commit_transaction",3,"EXT3: committing transaction");
+  explain("journal_get_undo_access",3,"Waiting for EXT3 journal undo operation");
+  explain("journal_get_write_access",3,"EXT3: Waiting for journal access");
+  explain("kauditd_thread",2,"kernel audit daemon");
+  explain("khugepaged",2,"khugepaged() kernel thread");
+  explain("kjournald",2,"kjournald() kernel thread");
+  explain("kjournald2",2,"jdb2() kernel thread");
+  explain("kmsg_read",3,"Reading from dmesg");
+  explain("ksoftirqd",2,"Waking ksoftirqd");
+  explain("kswapd",2,"kswapd() kernel thread");
+  explain("kthreadd",2,"kthreadd kernel thread");
+  explain("kvm_vcpu_ioctl",3,"KVM ioctl");
+  explain("link_path_walk",3,"Following symlink");
+  explain("lock_kernel",3,"Big Kernel Lock contention");
+  explain("lock_super",1,"Superblock lock contention");
+  explain("log_do_checkpoint",3,"EXT3 journal checkpoint");
+  explain("lookup_create",3,"Creating file");
+  explain("md_thread",2,"Raid resync kernel thread");
+  explain("migration_thread",2,"migration() kernel thread");
+  explain("mousedev_close_device",3,"Closing mouse device");
+  explain("mousedev_open",3,"Opening mouse device");
+  explain("mousedev_release",3,"Closing mouse device");
+  explain("page_cache_sync_readahead",3,"Pagecache sync readahead");
+  explain("path_walk",3,"Walking directory tree");
+  explain("pdflush",2,"pdflush() kernel thread");
+  explain("pipe_read",3,"Reading from a pipe");
+  explain("pipe_wait",3,"Waiting for pipe data");
+  explain("pipe_write",3,"Writing to a pipe");
+  explain("proc_delete_inode",3,"Removing /proc file");
+  explain("proc_lookup",3,"Looking up /proc file");
+  explain("proc_reg_read",2,"Reading from /proc file");
+  explain("proc_root_readdir",2,"Reading /proc directory");
+  explain("rcu_gp_kthread",2,"RCU grace period kernel thread");
+  explain("read_block_bitmap",3,"Reading EXT3 block bitmaps");
+  explain("request_module",2,"Loading a kernel module");
+  explain("run_ksoftirqd",2,"Waking ksoftirqd");
+  explain("scsi_cmd_ioctl",3,"SCSI ioctl command");
+  explain("scsi_error_handler",2,"SCSI error handler");
+  explain("scsi_execute_req",3,"Executing raw SCSI command");
+  explain("sd_ioctl",3,"SCSI disk ioctl");
+  explain("shrink_icache_memory",3,"reducing inode cache memory footprint");
+  explain("smpboot_thread_fn",2,"percpu hotplug kernel thread");
+  explain("sock_sendmsg",2,"Sending data over socket");
+  explain("sr_cd_check",3,"Checking CDROM media present");
+  explain("sr_do_ioctl",3,"SCSI cdrom ioctl");
+  explain("sr_media_change",3,"Checking for media change");
+  explain("sync_buffer",3,"Writing buffer to disk (synchronous)");
+  explain("sync_filesystems",5,"Syncing filesystem");
+  explain("sync_inode",3,"(f)syncing an inode to disk");
+  explain("sync_page",3,"Writing a page to disk");
+  explain("sync_sb_inodes",3,"Syncing inodes");
+  explain("synchronize_rcu",3,"Waiting for RCU");
+  explain("sys_epoll_wait",3,"Waiting for event (epoll)");
+  explain("sys_execve",3,"Executing a program");
+  explain("sys_fcntl",2,"FCNTL system call");
+  explain("sys_flock",3,"flock() on a file");
+  explain("sys_futex",3,"Userspace lock contention");
+  explain("sys_getdents",3,"Reading directory content");
+  explain("sys_mkdirat",3,"Creating directory");
+  explain("sys_mmap",3,"mmaping memory");
+  explain("sys_mprotect",3,"mprotect() system call");
+  explain("sys_munmap",3,"unmapping memory");
+  explain("sys_nanosleep",5,"Application requested delay");
+  explain("sys_pause",5,"Application requested delay");
+  explain("sys_wait4",3,"Waiting for a process to die");
+  explain("tcp_connect",3,"TCP/IP connect");
+  explain("tcp_recvmsg",3,"Receiving TCP/IP data");
+  explain("tty_ioctl",2,"TTY IOCTL");
+  explain("tty_poll",3,"Waiting for TTY data");
+  explain("tty_read",3,"Waiting for TTY input");
+  explain("tty_wait_until_sent",3,"Waiting for TTY to finish sending");
+  explain("tty_write",3,"Writing data to TTY");
+  explain("udp_recvmsg",3,"Receiving UDP/IP data");
+  explain("unix_stream_recvmsg",3,"Waiting for data on unix socket");
+  explain("update_atime",3,"Updating inode atime");
+  explain("usb_autoresume_device",2,"Waking up USB device");
+  explain("usb_port_resume",2,"Waking up USB device");
+  explain("usb_stor_control_thread",2,"usb storage control kernel thread");
+  explain("usbdev_open",3,"opening USB device");
+  explain("vfs_create",1,"Creating a file");
+  explain("vfs_read",1,"Reading from file");
+  explain("vfs_lock_file",1,"Locking a file");
+  explain("vfs_readdir",1,"Reading directory content");
+  explain("vfs_rmdir",3,"Removing directory");
+  explain("vfs_stat_fd",3,"stat() operation");
+  explain("vfs_unlink",1,"Unlinking file");
+  explain("vfs_write",1,"Writing to file");
+  explain("vt_waitactive",3,"vt_waitactive IOCTL");
+  explain("worker_thread",2,"kernel workqueue thread");
+  explain("writeback_inodes",3,"Writing back inodes");
 }
This page took 0.042137 seconds and 5 git commands to generate.