Hardware counter profiling on Solaris/X64

Hi,I want to buy X4100 for my development. Hardware counter profiling is crucial for my work.I know how it works on Solaris/Sparc. Can anybody confirm that Solaris/X64 on X4100 supportsall hardware counters of Opteron?
[246 byte] By [xli15] at [2007-11-26 8:46:09]
# 1

I use Opteron hardware performance counters extensively myself. The table of

counters that ships with Solaris is missing a few, basically the ones that

were added with RevD and RevE processors, and the undocumented ones. I created

my own table by editing opteron_pcbe.c from OpenSolaris source, which I compile

to create a replacement /usr/kernel/pcbe/amd64/pcbe.AuthenticAMD.15

rechabite at 2007-7-6 22:31:21 > top of Java-index,Development Tools,Solaris and Linux Development Tools...
# 2

A 4100 system we have in our lab,

- ncpus = 2, clock frequency 2593 MHz.

- memory: 524174 pages @ 4096 bytes = 2047 MB.

shows that Analyzer can access the following hardware counters without modification to the Solaris driver:

FP_dispatched_fpu_ops[/{0|1|2|3}],1000003 (events)

FP_cycles_no_fpu_ops_retired[/{0|1|2|3}],1000003 (CPU-cycles)

FP_dispatched_fpu_ops_ff[/{0|1|2|3}],1000003 (events)

LS_seg_reg_load[/{0|1|2|3}],1000003 (load-store events)

LS_uarch_resync_self_modify[/{0|1|2|3}],1000003 (events)

LS_uarch_resync_snoop[/{0|1|2|3}],1000003 (not-program-related events)

LS_buffer_2_full[/{0|1|2|3}],1000003 (events)

LS_locked_operation[/{0|1|2|3}],1000003 (events)

LS_uarch_late_cancel_op[/{0|1|2|3}],1000003 (events)

LS_retired_cflush[/{0|1|2|3}],1000003 (events)

LS_retired_cpuid[/{0|1|2|3}],1000003 (events)

DC_access[/{0|1|2|3}],1000003 (load-store events)

DC_miss[/{0|1|2|3}],1000003 (load-store events)

DC_refill_from_L2[/{0|1|2|3}],1000003 (load-store events)

DC_refill_from_system[/{0|1|2|3}],1000003 (load-store events)

DC_copyback[/{0|1|2|3}],1000003 (load-store events)

DC_dtlb_L1_miss_L2_hit[/{0|1|2|3}],1000003 (load-store events)

DC_dtlb_L1_miss_L2_miss[/{0|1|2|3}],1000003 (load-store events)

DC_misaligned_data_ref[/{0|1|2|3}],1000003 (load-store events)

DC_uarch_late_cancel_access[/{0|1|2|3}],1000003 (events)

DC_uarch_early_cancel_access[/{0|1|2|3}],1000003 (events)

DC_1bit_ecc_error_found[/{0|1|2|3}],1000003 (events)

DC_dispatched_prefetch_instr[/{0|1|2|3}],1000003 (events)

DC_dcache_accesses_by_locks[/{0|1|2|3}],1000003 (events)

BU_cpu_clk_unhalted[/{0|1|2|3}],1000003 (CPU-cycles)

BU_internal_L2_req[/{0|1|2|3}],1000003 (load-store events)

BU_fill_req_missed_L2[/{0|1|2|3}],1000003 (load-store events)

BU_fill_into_L2[/{0|1|2|3}],1000003 (load-store events)

IC_fetch[/{0|1|2|3}],1000003 (events)

IC_miss[/{0|1|2|3}],1000003 (events)

IC_refill_from_L2[/{0|1|2|3}],1000003 (events)

IC_refill_from_system[/{0|1|2|3}],1000003 (events)

IC_itlb_L1_miss_L2_hit[/{0|1|2|3}],1000003 (events)

IC_itlb_L1_miss_L2_miss[/{0|1|2|3}],1000003 (events)

IC_uarch_resync_snoop[/{0|1|2|3}],1000003 (not-program-related events)

IC_instr_fetch_stall[/{0|1|2|3}],1000003 (CPU-cycles)

IC_return_stack_hit[/{0|1|2|3}],1000003 (events)

IC_return_stack_overflow[/{0|1|2|3}],1000003 (events)

FR_retired_x86_instr_w_excp_intr[/{0|1|2|3}],1000003 (events)

FR_retired_uops[/{0|1|2|3}],1000003 (events)

FR_retired_branches_w_excp_intr[/{0|1|2|3}],1000003 (events)

FR_retired_branches_mispred[/{0|1|2|3}],1000003 (events)

FR_retired_taken_branches[/{0|1|2|3}],1000003 (events)

FR_retired_taken_branches_mispred[/{0|1|2|3}],1000003 (events)

FR_retired_far_ctl_transfer[/{0|1|2|3}],1000003 (events)

FR_retired_resyncs[/{0|1|2|3}],1000003 (events)

FR_retired_near_rets[/{0|1|2|3}],1000003 (events)

FR_retired_near_rets_mispred[/{0|1|2|3}],1000003 (events)

FR_retired_taken_branches_mispred_addr_miscomp[/{0|1|2|3}],1000003 (events)

FR_retired_fpu_instr[/{0|1|2|3}],1000003 (events)

FR_retired_fastpath_double_op_instr[/{0|1|2|3}],1000003 (events)

FR_intr_masked_cycles[/{0|1|2|3}],1000003 (CPU-cycles)

FR_intr_masked_while_pending_cycles[/{0|1|2|3}],1000003 (CPU-cycles)

FR_taken_hardware_intrs[/{0|1|2|3}],1000003 (events)

FR_nothing_to_dispatch[/{0|1|2|3}],1000003 (events)

FR_dispatch_stalls[/{0|1|2|3}],1000003 (CPU-cycles)

FR_dispatch_stall_branch_abort_to_retire[/{0|1|2|3}],1000003 (CPU-cycles)

FR_dispatch_stall_serialization[/{0|1|2|3}],1000003 (CPU-cycles)

FR_dispatch_stall_segment_load[/{0|1|2|3}],1000003 (CPU-cycles)

FR_dispatch_stall_reorder_buffer_full[/{0|1|2|3}],1000003 (CPU-cycles)

FR_dispatch_stall_resv_stations_full[/{0|1|2|3}],1000003 (CPU-cycles)

FR_dispatch_stall_fpu_full[/{0|1|2|3}],1000003 (CPU-cycles)

FR_dispatch_stall_ls_full[/{0|1|2|3}],1000003 (CPU-cycles)

FR_dispatch_stall_waiting_all_quiet[/{0|1|2|3}],1000003 (CPU-cycles)

FR_dispatch_stall_far_ctl_trsfr_resync_branch_pend[/{0|1|2|3}],1000003 (CPU-cycles)

FR_fpu_exception[/{0|1|2|3}],1000003 (events)

FR_num_brkpts_dr0[/{0|1|2|3}],1000003 (events)

FR_num_brkpts_dr1[/{0|1|2|3}],1000003 (events)

FR_num_brkpts_dr2[/{0|1|2|3}],1000003 (events)

FR_num_brkpts_dr3[/{0|1|2|3}],1000003 (events)

NB_mem_ctrlr_page_access[/{0|1|2|3}],1000003 (load-store events)

NB_mem_ctrlr_page_table_overflow[/{0|1|2|3}],1000003 (load-store events)

NB_mem_ctrlr_dram_cmd_slots_missed[/{0|1|2|3}],1000003 (load-store CPU-cycles)

NB_mem_ctrlr_turnaround[/{0|1|2|3}],1000003 (CPU-cycles)

NB_mem_ctrlr_bypass_counter_saturation[/{0|1|2|3}],1000003 (events)

NB_sized_commands[/{0|1|2|3}],1000003 (events)

NB_probe_result[/{0|1|2|3}],1000003 (events)

NB_ht_bus0_bandwidth[/{0|1|2|3}],1000003 (events)

NB_ht_bus1_bandwidth[/{0|1|2|3}],1000003 (events)

NB_ht_bus2_bandwidth[/{0|1|2|3}],1000003 (events)

yukonm at 2007-7-6 22:31:21 > top of Java-index,Development Tools,Solaris and Linux Development Tools...