003 File Manager
Current Path:
/usr/src/lib/libpmc
usr
/
src
/
lib
/
libpmc
/
📁
..
📄
Makefile
(2.99 KB)
📄
Makefile.depend
(328 B)
📄
Makefile.inc
(23 B)
📄
libpmc.c
(45.32 KB)
📄
libpmc_json.cc
(10.49 KB)
📄
libpmc_pmu_util.c
(16.04 KB)
📄
libpmcinternal.h
(1.57 KB)
📄
pmc.3
(16.06 KB)
📄
pmc.atom.3
(35.63 KB)
📄
pmc.atomsilvermont.3
(17.37 KB)
📄
pmc.core.3
(23.71 KB)
📄
pmc.core2.3
(33.34 KB)
📄
pmc.corei7.3
(62.56 KB)
📄
pmc.corei7uc.3
(37.93 KB)
📄
pmc.h
(4.51 KB)
📄
pmc.haswell.3
(31.08 KB)
📄
pmc.haswelluc.3
(7.58 KB)
📄
pmc.haswellxeon.3
(31.13 KB)
📄
pmc.iaf.3
(4.45 KB)
📄
pmc.ivybridge.3
(29.95 KB)
📄
pmc.ivybridgexeon.3
(31.21 KB)
📄
pmc.k7.3
(7.3 KB)
📄
pmc.k8.3
(22.46 KB)
📄
pmc.mips24k.3
(14.28 KB)
📄
pmc.octeon.3
(6.48 KB)
📄
pmc.p4.3
(31.12 KB)
📄
pmc.p5.3
(16.94 KB)
📄
pmc.p6.3
(31.13 KB)
📄
pmc.sandybridge.3
(33.13 KB)
📄
pmc.sandybridgeuc.3
(7.92 KB)
📄
pmc.sandybridgexeon.3
(33.03 KB)
📄
pmc.soft.3
(3.02 KB)
📄
pmc.tsc.3
(2.47 KB)
📄
pmc.ucf.3
(3.48 KB)
📄
pmc.westmere.3
(52.89 KB)
📄
pmc.westmereuc.3
(46.26 KB)
📄
pmc_allocate.3
(5.14 KB)
📄
pmc_attach.3
(4.15 KB)
📄
pmc_capabilities.3
(6.05 KB)
📄
pmc_configure_logfile.3
(3.56 KB)
📄
pmc_disable.3
(3.04 KB)
📄
pmc_event_names_of_class.3
(2.4 KB)
📄
pmc_get_driver_stats.3
(2.54 KB)
📄
pmc_get_msr.3
(2.6 KB)
📄
pmc_init.3
(2.04 KB)
📄
pmc_name_of_capability.3
(3.99 KB)
📄
pmc_read.3
(2.63 KB)
📄
pmc_set.3
(2.4 KB)
📄
pmc_start.3
(2.42 KB)
📄
pmcformat.h
(1.47 KB)
📄
pmclog.3
(8.7 KB)
📄
pmclog.c
(15.57 KB)
📄
pmclog.h
(5.74 KB)
📁
pmu-events
Editing: pmc.h
/*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2003,2004 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD$ */ #ifndef _PMC_H_ #define _PMC_H_ #include <sys/cdefs.h> #include <sys/types.h> #include <sys/pmc.h> /* * Driver statistics. */ struct pmc_driverstats { unsigned int pm_intr_ignored; /* #interrupts ignored */ unsigned int pm_intr_processed; /* #interrupts processed */ unsigned int pm_intr_bufferfull; /* #interrupts with ENOSPC */ unsigned int pm_syscalls; /* #syscalls */ unsigned int pm_syscall_errors; /* #syscalls with errors */ unsigned int pm_buffer_requests; /* #buffer requests */ unsigned int pm_buffer_requests_failed; /* #failed buffer requests */ unsigned int pm_log_sweeps; /* #sample buffer processing passes */ }; /* * CPU information. */ struct pmc_cpuinfo { enum pmc_cputype pm_cputype; /* the kind of CPU */ uint32_t pm_ncpu; /* number of CPUs */ uint32_t pm_npmc; /* #PMCs per CPU */ uint32_t pm_nclass; /* #classes of PMCs */ struct pmc_classinfo pm_classes[PMC_CLASS_MAX]; }; /* * Current PMC state. */ struct pmc_pmcinfo { int32_t pm_cpu; /* CPU number */ struct pmc_info pm_pmcs[]; /* NPMC structs */ }; /* * Prototypes */ __BEGIN_DECLS int pmc_allocate(const char *_ctrspec, enum pmc_mode _mode, uint32_t _flags, int _cpu, pmc_id_t *_pmcid, uint64_t count); int pmc_attach(pmc_id_t _pmcid, pid_t _pid); int pmc_capabilities(pmc_id_t _pmc, uint32_t *_caps); int pmc_configure_logfile(int _fd); int pmc_flush_logfile(void); int pmc_close_logfile(void); int pmc_detach(pmc_id_t _pmcid, pid_t _pid); int pmc_disable(int _cpu, int _pmc); int pmc_enable(int _cpu, int _pmc); int pmc_get_driver_stats(struct pmc_driverstats *_gms); int pmc_get_msr(pmc_id_t _pmc, uint32_t *_msr); int pmc_init(void); int pmc_read(pmc_id_t _pmc, pmc_value_t *_value); int pmc_release(pmc_id_t _pmc); int pmc_rw(pmc_id_t _pmc, pmc_value_t _newvalue, pmc_value_t *_oldvalue); int pmc_set(pmc_id_t _pmc, pmc_value_t _value); int pmc_start(pmc_id_t _pmc); int pmc_stop(pmc_id_t _pmc); int pmc_width(pmc_id_t _pmc, uint32_t *_width); int pmc_write(pmc_id_t _pmc, pmc_value_t _value); int pmc_writelog(uint32_t _udata); int pmc_ncpu(void); int pmc_npmc(int _cpu); int pmc_cpuinfo(const struct pmc_cpuinfo **_cpu_info); int pmc_pmcinfo(int _cpu, struct pmc_pmcinfo **_pmc_info); const char *pmc_name_of_capability(enum pmc_caps _c); const char *pmc_name_of_class(enum pmc_class _pc); const char *pmc_name_of_cputype(enum pmc_cputype _cp); const char *pmc_name_of_disposition(enum pmc_disp _pd); const char *pmc_name_of_event(enum pmc_event _pe); const char *pmc_name_of_mode(enum pmc_mode _pm); const char *pmc_name_of_state(enum pmc_state _ps); int pmc_event_names_of_class(enum pmc_class _cl, const char ***_eventnames, int *_nevents); int pmc_pmu_enabled(void); void pmc_pmu_print_counters(const char *); void pmc_pmu_print_counter_desc(const char *); void pmc_pmu_print_counter_desc_long(const char *); void pmc_pmu_print_counter_full(const char *); uint64_t pmc_pmu_sample_rate_get(const char *); int pmc_pmu_pmcallocate(const char *, struct pmc_op_pmcallocate *); const char *pmc_pmu_event_get_by_idx(const char *, int idx); int pmc_pmu_idx_get_by_event(const char*, const char *); int pmc_pmu_stat_mode(const char ***); __END_DECLS #endif
Upload File
Create Folder