categories.py
来自「M5,一个功能强大的多处理器系统模拟器.很多针对处理器架构,性能的研究都使用它作」· Python 代码 · 共 1,042 行 · 第 1/5 页
PY
1,042 行
func_categories = { \ # Buffer management functions '__skb_linearize' : 'buffer', 'skb_clone' : 'buffer', 'skb_clone_fraglist' : 'buffer', 'skb_seq_read' : 'buffer', 'sock_alloc_send_skb' : 'buffer', 'sinic_rxskb_alloc' : 'buffer', # Copy functions 'sinic_copyfrom' : 'copy', '__copy_user' : 'copy', 'skb_copy_bits' : 'copy', 'skb_copy_datagram_iovec' : 'copy', 'sinic_vcopy_iov' : 'idle', # Driver functions 'do_tx_done' : 'driver', 'ns83820_get_drvinfo' : 'driver', 'ns83820_get_stats' : 'driver', 'ns83820_hard_start_xmit' : 'driver', 'ns83820_open' : 'driver', 'ns83820_rx_kick' : 'driver', 'ns83820_update_stats' : 'driver', 'ns83820_irq' : 'driver', 'phy_intr' : 'driver', 'rx_irq' : 'driver', 'rx_action' : 'driver', 'sinic_intr' : 'driver', 'sinic_xmit' : 'driver', 'sinic_rxskb_new' : 'driver', # Idle functions 'cpu_idle' : 'idle', # Interrupt functions 'do_entInt' : 'interrupt', 'entInt' : 'interrupt', 'handle_IRQ_event' : 'interrupt', 'irq_exit' : 'interrupt', # Other functions 'ret_from_sys_call' : 'other', 'top' : 'other', # Stack functions '__ip_conntrack_confirm' : 'stack', '__ip_conntrack_find' : 'stack', '__tcp_ack_snd_check' : 'stack', '__tcp_checksum_complete_user' : 'stack', 'dev_queue_xmit' : 'stack', 'eth_header_cache' : 'stack', 'ether_setup' : 'stack', 'icmp_error' : 'stack', 'ip_call_ra_chain' : 'stack', 'ip_conntrack_alter_reply' : 'stack', 'ip_conntrack_tcp_update' : 'stack', 'ip_ct_find_helper' : 'stack', 'ip_finish_output' : 'stack', 'ip_finish_output2' : 'stack', 'ip_local_deliver_finish' : 'stack', 'ip_nat_setup_info' : 'stack', 'ip_rcv' : 'stack', 'ip_rcv_finish' : 'stack', 'netif_receive_skb' : 'stack', 'nf_log_packet' : 'stack', 'nf_queue' : 'stack', 'tcp_connect' : 'stack', 'tcp_data_queue' : 'stack', 'tcp_packet' : 'stack', 'tcp_read_sock' : 'stack', 'tcp_rcv_established' : 'stack', 'tcp_recvmsg' : 'stack', 'tcp_sendpage' : 'stack', 'tcp_transmit_skb' : 'stack', 'tcp_v4_do_rcv' : 'stack', 'unregister_netdevice' : 'stack', # Syscall functions 'entSys' : 'syscall', # User functions 'user' : 'user', }def func_categorize(symbol): from categories import func_categories if symbol in func_categories: return func_categories[symbol] return Nonepc_categories = { 'CALL_PALrdunique_' : 'interrupt', # 'Call_Pal_Callsys' : 'interrupt', # 'Call_Pal_Rdps' : 'interrupt', # 'Call_Pal_Rdusp' : 'interrupt', # 'Call_Pal_Rti' : 'interrupt', # 'Call_Pal_Swpctx' : 'interrupt', # 'Call_Pal_Swpipl' : 'interrupt', # 'Call_Pal_Wrusp' : 'interrupt', # 'SHATransform': 'driver', # drivers/char/random.c, 'TRAP_INTERRUPT_10_' : 'interrupt', # 'Trap_Dtbmiss_Single' : 'buffer', # 'Trap_Dtbmiss_double' : 'buffer', # 'Trap_Interrupt' : 'interrupt', # 'Trap_Itbmiss' : 'buffer', # 'Trap_Unalign' : 'alignment', 'UNALIGN_NO_DISMISS' : 'alignment', 'UNALIGN_NO_DISMISS_10_' : 'alignment', '__alloc_pages' : 'buffer', # mm/page_alloc.c, '__anon_vma_link': 'buffer', # mm/rmap.c, include/linux/rmap.h, '__bio_add_page' : 'other', # fs/bio.c, '__bitmap_weight' : 'other', # lib/bitmap.c, include/linux/bitmap.h, '__blk_put_request' : 'other', # drivers/block/ll_rw_blk.c, '__block_commit_write' : 'other', # fs/buffer.c, '__block_prepare_write' : 'other', # fs/buffer.c, '__block_write_full_page': 'other', # fs/buffer.c, '__bread' : 'other', # fs/buffer.c, include/linux/buffer_head.h, '__brelse' : 'other', # fs/buffer.c, include/linux/buffer_head.h, '__bss_start' : 'user', '__bss_stop' : 'other', # include/asm-generic/sections.h, '__cond_resched' : 'other', # kernel/sched.c, include/linux/sched.h, '__const_udelay': 'other', # include/asm-i386/delay.h, '__constant_c_memset' : 'other', # include/asm-alpha/string.h, '__copy_from_user_ll': 'copy', # include/asm-i386/uaccess.h, '__copy_to_user_ll': 'copy', # include/asm-i386/uaccess.h, '__copy_user' : 'copy', # include/asm-alpha/uaccess.h, '__d_lookup' : 'other', # fs/dcache.c, include/linux/dcache.h, '__d_path': 'other', # fs/dcache.c, '__delay': 'other', # arch/alpha/lib/udelay.c, include/asm-alpha/delay.h, include/asm-i386/delay.h, '__dequeue_signal' : 'other', # kernel/signal.c, '__divl' : 'other', # arch/alpha/kernel/alpha_ksyms.c, '__divlu' : 'other', # arch/alpha/kernel/alpha_ksyms.c, '__divq' : 'other', # arch/alpha/kernel/alpha_ksyms.c, '__divqu' : 'other', # arch/alpha/kernel/alpha_ksyms.c, '__do_softirq' : 'stack', # kernel/softirq.c, '__down': 'interrupt', # include/asm-alpha/semaphore.h, include/asm-i386/semaphore.h, '__down_failed' : 'other', # arch/alpha/kernel/semaphore.c, include/asm-alpha/semaphore.h, '__down_trylock': 'interrupt', # include/asm-alpha/semaphore.h, include/asm-i386/semaphore.h, '__elv_add_request' : 'other', # drivers/block/elevator.c, include/linux/elevator.h, '__end_that_request_first' : 'other', # drivers/block/ll_rw_blk.c, '__exit_sighand': 'other', # kernel/signal.c, include/linux/sched.h, '__exit_signal': 'other', # kernel/signal.c, include/linux/sched.h, '__filemap_copy_from_user_iovec' : 'buffer', # mm/filemap.c, '__filemap_fdatawrite' : 'buffer', # mm/filemap.c, '__find_get_block' : 'other', # fs/buffer.c, include/linux/buffer_head.h, '__find_get_block_slow' : 'other', # fs/buffer.c, '__fput' : 'other', # fs/file_table.c, '__free_pages' : 'buffer', # mm/page_alloc.c, '__free_pages_ok': 'buffer', # mm/page_alloc.c, '__generic_file_aio_read': 'buffer', # mm/filemap.c, include/linux/fs.h, '__generic_unplug_device' : 'other', # drivers/block/ll_rw_blk.c, include/linux/blkdev.h, '__get_free_pages' : 'other', # mm/page_alloc.c, drivers/md/raid6.h, '__get_page_state': 'buffer', # mm/page_alloc.c, '__get_user_4': 'other', # include/asm-i386/uaccess.h, '__get_zone_counts': 'other', # '__getblk' : 'other', # fs/buffer.c, include/linux/buffer_head.h, '__getblk_slow' : 'other', # fs/buffer.c, '__group_complete_signal' : 'user', # kernel/signal.c, is kinda syscall '__group_send_sig_info' : 'user', # kernel/signal.c, is kinda syscall '__iget' : 'other', # fs/inode.c, include/linux/fs.h, '__insert_inode_hash': 'other', # fs/inode.c, include/linux/fs.h, '__insert_vm_struct': 'buffer', # mm/mmap.c, '__ip_conntrack_confirm' : 'stack', # net/ipv4/netfilter/ip_conntrack_core.c, include/linux/netfilter_ipv4/ip_conntrack_core.h, '__ip_conntrack_find' : 'stack', # net/ipv4/netfilter/ip_conntrack_core.c, '__ip_ct_find_proto' : 'stack', # net/ipv4/netfilter/ip_conntrack_core.c, include/linux/netfilter_ipv4/ip_conntrack_core.h, '__ip_route_output_key' : 'stack', # net/ipv4/route.c, '__kfree_skb' : 'buffer', # net/core/skbuff.c, include/linux/skbuff.h, '__kmalloc' : 'buffer', # mm/slab.c, include/linux/slab.h, '__load_new_mm_context': 'buffer', '__lookup': 'other', # lib/radix-tree.c, '__lookup_hash': 'other', # fs/namei.c, '__lookup_tag' : 'buffer', # lib/radix-tree.c, '__make_request' : 'driver', # drivers/block/ll_rw_blk.c, drivers/block/ll_rw_blk.c, '__mark_inode_dirty' : 'other', # fs/fs-writeback.c, include/linux/fs.h, '__memcpy_aligned_up' : 'copy', # arch/alpha/lib/memcpy.c, '__memcpy_unaligned_up' : 'copy', # arch/alpha/lib/memcpy.c, '__memset' : 'copy', # include/asm-alpha/string.h, '__mmdrop': 'other', # kernel/fork.c, '__mod_timer' : 'other', # kernel/timer.c, include/linux/timer.h, '__modify_IO_APIC_irq': 'interrupt', # '__net_random': 'other', # '__page_cache_release' : 'buffer', # mm/swap.c, '__pagevec_free': 'buffer', # mm/page_alloc.c, include/linux/pagevec.h, '__pagevec_lru_add' : 'buffer', # mm/swap.c, include/linux/pagevec.h, '__pagevec_lru_add_active': 'buffer', # mm/swap.c, include/linux/pagevec.h, '__pagevec_release' : 'buffer', # mm/swap.c, include/linux/pagevec.h, '__pollwait' : 'other', # fs/select.c, fs/select.c, '__pskb_trim_head': 'stack', # net/ipv4/tcp_output.c, '__put_task_struct': 'other', # kernel/fork.c, include/linux/sched.h, '__queue_work': 'other', # kernel/workqueue.c, '__rb_erase_color' : 'buffer', # lib/rbtree.c, '__rb_rotate_left' : 'buffer', # lib/rbtree.c, '__rb_rotate_right' : 'buffer', # lib/rbtree.c, '__rcu_process_callbacks': 'other', # '__read_page_state' : 'buffer', # mm/page_alloc.c, include/linux/page-flags.h, '__release_sock' : 'stack', # net/core/sock.c, '__remlu' : 'other', # arch/alpha/kernel/alpha_ksyms.c, '__remove_from_page_cache': 'buffer', # mm/filemap.c, include/linux/pagemap.h, '__remove_shared_vm_struct': 'buffer', # mm/mmap.c, '__remqu' : 'other', # arch/alpha/kernel/alpha_ksyms.c, '__rmqueue' : 'buffer', # mm/page_alloc.c, '__scsi_done' : 'other', # drivers/scsi/scsi.c, drivers/scsi/scsi_priv.h, '__scsi_get_command' : 'other', # drivers/scsi/scsi.c, '__set_page_buffers' : 'other', # fs/buffer.c, '__set_page_dirty_nobuffers' : 'buffer', # mm/page-writeback.c, include/linux/mm.h, '__sk_stream_mem_reclaim' : 'buffer', # net/core/stream.c, '__sock_create': 'stack', # net/socket.c,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?