From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>, Steven Rostedt <rostedt@goodmis.org>,
Srikar Dronamraju <srikar@linux.vnet.ibm.com>,
linux-kernel@vger.kernel.org, 2nddept-manager@sdl.hitachi.co.jp,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Paul Mackerras <paulus@samba.org>,
Frederic Weisbecker <fweisbec@gmail.com>
Subject: Re: [PATCH -tip 6/7] perf probe: Show accessible global variables
Date: Fri, 22 Oct 2010 11:25:35 +0900 [thread overview]
Message-ID: <4CC0F61F.8000501@hitachi.com> (raw)
In-Reply-To: <20101021205051.GK3826@ghostprotocols.net>
(2010/10/22 5:50), Arnaldo Carvalho de Melo wrote:
> Em Thu, Oct 21, 2010 at 07:13:35PM +0900, Masami Hiramatsu escreveu:
>> Add --externs for allowing --vars to show accessible
>> global(externally defined) variables from a given probe
>> point too.
>> This will give you a hint which globals can be accessible
>> from the probe point.
>
> Cool, but perhaps we need to filter out some of the globals? Things
> like:
Hmm, yeah. So is that enough to filter out symbols which start with
__k???tab_ and __crc_ ?
>
> long unsigned int __kcrctab_tcp_hashinfo
> long unsigned int __kcrctab_tcp_proc_register
> long unsigned int __kcrctab_tcp_proc_unregister
> long unsigned int __kcrctab_tcp_prot
>
> If --verbose is specified we could then show everything.
--verbose is already used for showing debug messages, ;)
so how about using --all/--allextras?
Or, perhaps we can add more generic filtering for listing
events/vars/funcs.
Thank you,
>
> So that it doesn't get this long:
>
> [root@emilia ~]# perf probe -V tcp_v4_do_rcv:28 --externs
> Available variables at tcp_v4_do_rcv:28
> @<tcp_v4_do_rcv+390>
> (function_type)* ip_nat_decode_session
> (unknown_type) __crc_ipv4_specific
> (unknown_type) __crc_sysctl_tcp_low_latency
> (unknown_type) __crc_tcp4_gro_complete
> (unknown_type) __crc_tcp4_gro_receive
> (unknown_type) __crc_tcp_hashinfo
> (unknown_type) __crc_tcp_proc_register
> (unknown_type) __crc_tcp_proc_unregister
> (unknown_type) __crc_tcp_prot
> (unknown_type) __crc_tcp_twsk_unique
> (unknown_type) __crc_tcp_v4_conn_request
> (unknown_type) __crc_tcp_v4_connect
> (unknown_type) __crc_tcp_v4_destroy_sock
> (unknown_type) __crc_tcp_v4_do_rcv
> (unknown_type) __crc_tcp_v4_md5_do_add
> (unknown_type) __crc_tcp_v4_md5_do_del
> (unknown_type) __crc_tcp_v4_md5_hash_skb
> (unknown_type) __crc_tcp_v4_md5_lookup
> (unknown_type) __crc_tcp_v4_remember_stamp
> (unknown_type) __crc_tcp_v4_send_check
> (unknown_type) __crc_tcp_v4_syn_recv_sock
> __u8* ip_tos2prio
> atomic_long_t* vm_stat
> atomic_t tcp_memory_allocated
> bool c1e_detected
> char __pcpu_scope_cpu_core_map
> char __pcpu_scope_cpu_info
> char __pcpu_scope_cpu_llc_id
> char __pcpu_scope_cpu_number
> char __pcpu_scope_cpu_sibling_map
> char __pcpu_scope_current_task
> char __pcpu_scope_init_tss
> char __pcpu_scope_irq_count
> char __pcpu_scope_irq_regs
> char __pcpu_scope_irq_stack_ptr
> char __pcpu_scope_irq_stack_union
> char __pcpu_scope_irq_stat
> char __pcpu_scope_kernel_stack
> char __pcpu_scope_numa_node
> char __pcpu_scope_orig_ist
> char __pcpu_scope_process_counts
> char __pcpu_scope_softirq_work_list
> char __pcpu_scope_softnet_data
> char __pcpu_scope_this_cpu_off
> char __pcpu_scope_tick_cpu_device
> char __pcpu_scope_vector_irq
> char __pcpu_scope_vm_event_states
> char __pcpu_scope_x2apic_extra_bits
> char __pcpu_scope_x86_bios_cpu_apicid
> char __pcpu_scope_x86_cpu_to_apicid
> char __pcpu_scope_x86_cpu_to_node_map
> char* __kstrtab_ipv4_specific
> char* __kstrtab_sysctl_tcp_low_latency
> char* __kstrtab_tcp4_gro_complete
> char* __kstrtab_tcp4_gro_receive
> char* __kstrtab_tcp_hashinfo
> char* __kstrtab_tcp_proc_register
> char* __kstrtab_tcp_proc_unregister
> char* __kstrtab_tcp_prot
> char* __kstrtab_tcp_twsk_unique
> char* __kstrtab_tcp_v4_conn_request
> char* __kstrtab_tcp_v4_connect
> char* __kstrtab_tcp_v4_destroy_sock
> char* __kstrtab_tcp_v4_do_rcv
> char* __kstrtab_tcp_v4_md5_do_add
> char* __kstrtab_tcp_v4_md5_do_del
> char* __kstrtab_tcp_v4_md5_hash_skb
> char* __kstrtab_tcp_v4_md5_lookup
> char* __kstrtab_tcp_v4_remember_stamp
> char* __kstrtab_tcp_v4_send_check
> char* __kstrtab_tcp_v4_syn_recv_sock
> char* hex_asc
> char* inet_csk_timer_bug_msg
> cpumask_var_t cpu_callout_mask
> cpumask_var_t cpu_core_map
> cpumask_var_t cpu_sibling_map
> cpumask_var_t* node_to_cpumask_map
> int acpi_disabled
> int acpi_noirq
> int acpi_pci_disabled
> int audit_enabled
> int cpu_number
> int debug_locks
> int disable_apic
> int net_msg_warn
> int nr_cpu_ids
> int nr_online_nodes
> int numa_node
> int page_group_by_mobility_disabled
> int percpu_counter_batch
> int prof_on
> int sched_mc_power_savings
> int sched_smt_power_savings
> int smp_found_config
> int sysctl_max_syn_backlog
> int sysctl_tcp_adv_win_scale
> int sysctl_tcp_cookie_size
> int sysctl_tcp_ecn
> int sysctl_tcp_fin_timeout
> int sysctl_tcp_keepalive_intvl
> int sysctl_tcp_keepalive_probes
> int sysctl_tcp_keepalive_time
> int sysctl_tcp_low_latency
> int sysctl_tcp_max_orphans
> int sysctl_tcp_reordering
> int sysctl_tcp_syncookies
> int sysctl_tcp_tw_reuse
> int tcp_memory_pressure
> int time_status
> int timer_stats_active
> int x2apic_phys
> int x86_cpu_to_node_map
> int* console_printk
> int* sysctl_tcp_mem
> int* sysctl_tcp_rmem
> int* sysctl_tcp_wmem
> int* x86_cpu_to_node_map_early_ptr
> irq_cpustat_t irq_stat
> long unsigned int __kcrctab_ipv4_specific
> long unsigned int __kcrctab_sysctl_tcp_low_latency
> long unsigned int __kcrctab_tcp4_gro_complete
> long unsigned int __kcrctab_tcp4_gro_receive
> long unsigned int __kcrctab_tcp_hashinfo
> long unsigned int __kcrctab_tcp_proc_register
> long unsigned int __kcrctab_tcp_proc_unregister
> long unsigned int __kcrctab_tcp_prot
> long unsigned int __kcrctab_tcp_twsk_unique
> long unsigned int __kcrctab_tcp_v4_conn_request
> long unsigned int __kcrctab_tcp_v4_connect
> long unsigned int __kcrctab_tcp_v4_destroy_sock
> long unsigned int __kcrctab_tcp_v4_do_rcv
> long unsigned int __kcrctab_tcp_v4_md5_do_add
> long unsigned int __kcrctab_tcp_v4_md5_do_del
> long unsigned int __kcrctab_tcp_v4_md5_hash_skb
> long unsigned int __kcrctab_tcp_v4_md5_lookup
> long unsigned int __kcrctab_tcp_v4_remember_stamp
> long unsigned int __kcrctab_tcp_v4_send_check
> long unsigned int __kcrctab_tcp_v4_syn_recv_sock
> long unsigned int jiffies
> long unsigned int kernel_stack
> long unsigned int mmap_min_addr
> long unsigned int mmu_cr4_features
> long unsigned int* __per_cpu_offset
> long unsigned int* cpu_bit_bitmap
> long unsigned int* sysctl_local_reserved_ports
> nodemask_t* node_states
> pg_data_t** node_data
> physid_mask_t phys_cpu_present_map
> pteval_t __supported_pte_mask
> spinlock_t dcache_lock
> struct address_space swapper_space
> struct apic* apic
> struct cache_sizes* malloc_sizes
> struct cpuinfo_x86 boot_cpu_data
> struct cpuinfo_x86 cpu_info
> struct cpumask* cpu_online_mask
> struct cpumask* cpu_possible_mask
> struct cpumask* cpu_present_mask
> struct device x86_dma_fallback_dev
> struct dma_map_ops* dma_ops
> struct dqstats dqstats
> struct icmp_err* icmp_err_convert
> struct inet_connection_sock_af_ops ipv4_specific
> struct inet_hashinfo tcp_hashinfo
> struct inet_timewait_death_row tcp_death_row
> struct kernel_symbol __ksymtab_ipv4_specific
> struct kernel_symbol __ksymtab_sysctl_tcp_low_latency
> struct kernel_symbol __ksymtab_tcp4_gro_complete
> struct kernel_symbol __ksymtab_tcp4_gro_receive
> struct kernel_symbol __ksymtab_tcp_hashinfo
> struct kernel_symbol __ksymtab_tcp_proc_register
> struct kernel_symbol __ksymtab_tcp_proc_unregister
> struct kernel_symbol __ksymtab_tcp_prot
> struct kernel_symbol __ksymtab_tcp_twsk_unique
> struct kernel_symbol __ksymtab_tcp_v4_conn_request
> struct kernel_symbol __ksymtab_tcp_v4_connect
> struct kernel_symbol __ksymtab_tcp_v4_destroy_sock
> struct kernel_symbol __ksymtab_tcp_v4_do_rcv
> struct kernel_symbol __ksymtab_tcp_v4_md5_do_add
> struct kernel_symbol __ksymtab_tcp_v4_md5_do_del
> struct kernel_symbol __ksymtab_tcp_v4_md5_hash_skb
> struct kernel_symbol __ksymtab_tcp_v4_md5_lookup
> struct kernel_symbol __ksymtab_tcp_v4_remember_stamp
> struct kernel_symbol __ksymtab_tcp_v4_send_check
> struct kernel_symbol __ksymtab_tcp_v4_syn_recv_sock
> struct list_head* nf_hooks
> struct mem_section** mem_section
> struct memnode memnode
> struct neigh_table nd_tbl
> struct nf_afinfo** nf_afinfo
> struct percpu_counter tcp_orphan_count
> struct percpu_counter tcp_sockets_allocated
> struct pernet_operations tcp4_net_ops
> struct pernet_operations tcp_sk_ops
> struct pglist_data** node_data
> struct pid* cad_pid
> struct pid_namespace init_pid_ns
> struct proto tcp_prot
> struct pt_regs* irq_regs
> struct pv_apic_ops pv_apic_ops
> struct pv_cpu_ops pv_cpu_ops
> struct pv_info pv_info
> struct pv_irq_ops pv_irq_ops
> struct pv_mmu_ops pv_mmu_ops
> struct pv_time_ops pv_time_ops
> struct request_sock_ops tcp_request_sock_ops
> struct resource ioport_resource
> struct rps_sock_flow_table* rps_sock_flow_table
> struct sk_buff* skb
> struct smp_ops smp_ops
> struct sock* sk
> struct task_struct* current_task
> struct tcp_congestion_ops tcp_init_congestion_ops
> struct tcp_request_sock_ops tcp_request_sock_ipv4_ops
> struct tcp_seq_afinfo tcp4_seq_afinfo
> struct tcp_sock_af_ops tcp_sock_ipv4_specific
> struct timewait_sock_ops tcp_timewait_sock_ops
> struct tracepoint __tracepoint_irq_handler_entry
> struct tracepoint __tracepoint_irq_handler_exit
> struct tracepoint __tracepoint_kfree
> struct tracepoint __tracepoint_kmalloc
> struct tracepoint __tracepoint_kmalloc_node
> struct tracepoint __tracepoint_kmem_cache_alloc
> struct tracepoint __tracepoint_kmem_cache_alloc_node
> struct tracepoint __tracepoint_kmem_cache_free
> struct tracepoint __tracepoint_mm_page_alloc
> struct tracepoint __tracepoint_mm_page_alloc_extfrag
> struct tracepoint __tracepoint_mm_page_alloc_zone_locked
> struct tracepoint __tracepoint_mm_page_free_direct
> struct tracepoint __tracepoint_mm_page_pcpu_drain
> struct tracepoint __tracepoint_mm_pagevec_free
> struct tracepoint __tracepoint_module_free
> struct tracepoint __tracepoint_module_get
> struct tracepoint __tracepoint_module_load
> struct tracepoint __tracepoint_module_put
> struct tracepoint __tracepoint_module_request
> struct tracepoint __tracepoint_softirq_entry
> struct tracepoint __tracepoint_softirq_exit
> struct tracepoint __tracepoint_softirq_raise
> struct vm_event_state vm_event_states
> struct x86_init_ops x86_init
> struct x86_platform_ops x86_platform
> u16 x86_bios_cpu_apicid
> u32 inet_ehash_secret
> union irq_stack_union irq_stack_union
> unsigned int apic_verbosity
> unsigned int sysctl_timer_migration
>
> - Arnaldo
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Masami HIRAMATSU
2nd Dept. Linux Technology Center
Hitachi, Ltd., Systems Development Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com
next prev parent reply other threads:[~2010-10-22 2:25 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-21 10:12 [PATCH -tip 0/7] Perf probe update (--vars/--module) Masami Hiramatsu
2010-10-21 10:13 ` [PATCH -tip 1/7] [BUGFIX] perf probe: Fix type searching Masami Hiramatsu
2010-10-23 19:40 ` [tip:perf/urgent] " tip-bot for Masami Hiramatsu
2010-10-21 10:13 ` [PATCH -tip 2/7] [BUGFIX] perf probe: Fix local variable searching loop Masami Hiramatsu
2010-10-23 19:40 ` [tip:perf/urgent] " tip-bot for Masami Hiramatsu
2010-10-21 10:13 ` [PATCH -tip 3/7] perf probe: Support global variables Masami Hiramatsu
2010-10-23 19:40 ` [tip:perf/urgent] " tip-bot for Masami Hiramatsu
2010-10-21 10:13 ` [PATCH -tip 4/7] perf probe: Show accessible local variables Masami Hiramatsu
2010-10-23 19:41 ` [tip:perf/urgent] " tip-bot for Masami Hiramatsu
2010-10-21 10:13 ` [PATCH -tip 5/7] perf probe: Function style fix Masami Hiramatsu
2010-10-23 19:41 ` [tip:perf/urgent] " tip-bot for Masami Hiramatsu
2010-10-21 10:13 ` [PATCH -tip 6/7] perf probe: Show accessible global variables Masami Hiramatsu
2010-10-21 20:50 ` Arnaldo Carvalho de Melo
2010-10-22 2:25 ` Masami Hiramatsu [this message]
2010-10-22 5:31 ` Masami Hiramatsu
2010-10-23 19:42 ` [tip:perf/urgent] " tip-bot for Masami Hiramatsu
2010-10-21 10:13 ` [PATCH -tip 7/7] perf probe: Add basic module support Masami Hiramatsu
2010-10-23 19:42 ` [tip:perf/urgent] " tip-bot for Masami Hiramatsu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CC0F61F.8000501@hitachi.com \
--to=masami.hiramatsu.pt@hitachi.com \
--cc=2nddept-manager@sdl.hitachi.co.jp \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=rostedt@goodmis.org \
--cc=srikar@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox