All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@redhat.com>
To: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.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: Thu, 21 Oct 2010 18:50:51 -0200	[thread overview]
Message-ID: <20101021205051.GK3826@ghostprotocols.net> (raw)
In-Reply-To: <20101021101335.3542.31003.stgit@ltc236.sdl.hitachi.co.jp>

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:

                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.

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

  reply	other threads:[~2010-10-21 20:51 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 [this message]
2010-10-22  2:25     ` Masami Hiramatsu
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=20101021205051.GK3826@ghostprotocols.net \
    --to=acme@redhat.com \
    --cc=2nddept-manager@sdl.hitachi.co.jp \
    --cc=a.p.zijlstra@chello.nl \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.