/linux-4.4.14/arch/ia64/oprofile/ |
H A D | Makefile | 10 oprofile-$(CONFIG_PERFMON) += perfmon.o
|
H A D | perfmon.c | 2 * @file perfmon.c 13 #include <asm/perfmon.h> 28 * without perfmon being shutdown (e.g. SIGSEGV) perfmon_handler() 74 /* all the ops are handled via userspace for IA64 perfmon */ 88 printk(KERN_INFO "oprofile: using perfmon.\n"); perfmon_init()
|
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/engine/pm/ |
H A D | base.c | 212 struct nvkm_pm *pm = dom->perfmon->pm; nvkm_perfdom_init() 242 struct nvkm_pm *pm = dom->perfmon->pm; nvkm_perfdom_sample() 266 struct nvkm_pm *pm = dom->perfmon->pm; nvkm_perfdom_read() 311 struct nvkm_pm *pm = dom->perfmon->pm; nvkm_perfdom_dtor() 364 nvkm_perfdom_new_(struct nvkm_perfmon *perfmon, nvkm_perfdom_new_() argument 371 struct nvkm_pm *pm = perfmon->pm; nvkm_perfdom_new_() 417 dom->perfmon = perfmon; nvkm_perfdom_new_() 432 nvkm_perfmon_mthd_query_domain(struct nvkm_perfmon *perfmon, nvkm_perfmon_mthd_query_domain() argument 438 struct nvkm_object *object = &perfmon->object; nvkm_perfmon_mthd_query_domain() 439 struct nvkm_pm *pm = perfmon->pm; nvkm_perfmon_mthd_query_domain() 444 nvif_ioctl(object, "perfmon query domain size %d\n", size); nvkm_perfmon_mthd_query_domain() 446 nvif_ioctl(object, "perfmon domain vers %d iter %02x\n", nvkm_perfmon_mthd_query_domain() 480 nvkm_perfmon_mthd_query_signal(struct nvkm_perfmon *perfmon, nvkm_perfmon_mthd_query_signal() argument 486 struct nvkm_object *object = &perfmon->object; nvkm_perfmon_mthd_query_signal() 487 struct nvkm_pm *pm = perfmon->pm; nvkm_perfmon_mthd_query_signal() 495 nvif_ioctl(object, "perfmon query signal size %d\n", size); nvkm_perfmon_mthd_query_signal() 498 "perfmon query signal vers %d dom %d iter %04x\n", nvkm_perfmon_mthd_query_signal() 534 nvkm_perfmon_mthd_query_source(struct nvkm_perfmon *perfmon, nvkm_perfmon_mthd_query_source() argument 540 struct nvkm_object *object = &perfmon->object; nvkm_perfmon_mthd_query_source() 541 struct nvkm_pm *pm = perfmon->pm; nvkm_perfmon_mthd_query_source() 548 nvif_ioctl(object, "perfmon query source size %d\n", size); nvkm_perfmon_mthd_query_source() 551 "perfmon source vers %d dom %d sig %02x iter %02x\n", nvkm_perfmon_mthd_query_source() 588 struct nvkm_perfmon *perfmon = nvkm_perfmon(object); nvkm_perfmon_mthd() local 591 return nvkm_perfmon_mthd_query_domain(perfmon, data, size); nvkm_perfmon_mthd() 593 return nvkm_perfmon_mthd_query_signal(perfmon, data, size); nvkm_perfmon_mthd() 595 return nvkm_perfmon_mthd_query_source(perfmon, data, size); nvkm_perfmon_mthd() 606 struct nvkm_perfmon *perfmon = nvkm_perfmon(oclass->parent); nvkm_perfmon_child_new() local 607 return nvkm_perfdom_new_(perfmon, oclass, data, size, pobject); nvkm_perfmon_child_new() 627 struct nvkm_perfmon *perfmon = nvkm_perfmon(object); nvkm_perfmon_dtor() local 628 struct nvkm_pm *pm = perfmon->pm; nvkm_perfmon_dtor() 630 if (pm->perfmon == &perfmon->object) nvkm_perfmon_dtor() 631 pm->perfmon = NULL; nvkm_perfmon_dtor() 633 return perfmon; nvkm_perfmon_dtor() 647 struct nvkm_perfmon *perfmon; nvkm_perfmon_new() local 649 if (!(perfmon = kzalloc(sizeof(*perfmon), GFP_KERNEL))) nvkm_perfmon_new() 651 nvkm_object_ctor(&nvkm_perfmon, oclass, &perfmon->object); nvkm_perfmon_new() 652 perfmon->pm = pm; nvkm_perfmon_new() 653 *pobject = &perfmon->object; nvkm_perfmon_new() 673 if (pm->perfmon == NULL) nvkm_pm_oclass_new() 674 pm->perfmon = *pobject; nvkm_pm_oclass_new() 675 ret = (pm->perfmon == *pobject) ? 0 : -EBUSY; nvkm_pm_oclass_new()
|
H A D | priv.h | 73 struct nvkm_perfmon *perfmon; member in struct:nvkm_perfdom
|
/linux-4.4.14/drivers/gpu/drm/nouveau/include/nvkm/subdev/ |
H A D | clk.h | 90 int ustate_ac; /* user-requested (-1 disabled, -2 perfmon) */ 91 int ustate_dc; /* user-requested (-1 disabled, -2 perfmon) */ 92 int astate; /* perfmon adjustment (base) */
|
/linux-4.4.14/drivers/gpu/drm/nouveau/include/nvkm/engine/ |
H A D | pm.h | 9 struct nvkm_object *perfmon; member in struct:nvkm_pm
|
/linux-4.4.14/drivers/crypto/caam/ |
H A D | ctrl.c | 420 struct caam_perfmon *perfmon; caam_probe() local 508 comp_params = rd_reg32(&ctrl->perfmon.comp_parms_ms); caam_probe() 615 !!(rd_reg32(&ctrl->perfmon.comp_parms_ms) & 633 cha_vid_ls = rd_reg32(&ctrl->perfmon.cha_id_ls); 701 caam_id = (u64)rd_reg32(&ctrl->perfmon.caam_id_ms) << 32 | 702 (u64)rd_reg32(&ctrl->perfmon.caam_id_ls); 716 perfmon = (struct caam_perfmon __force *)&ctrl->perfmon; 725 ctrlpriv->ctl, &perfmon->req_dequeued); 729 ctrlpriv->ctl, &perfmon->ob_enc_req); 733 ctrlpriv->ctl, &perfmon->ib_dec_req); 737 ctrlpriv->ctl, &perfmon->ob_enc_bytes); 741 ctrlpriv->ctl, &perfmon->ob_prot_bytes); 745 ctrlpriv->ctl, &perfmon->ib_dec_bytes); 749 ctrlpriv->ctl, &perfmon->ib_valid_bytes); 755 ctrlpriv->ctl, &perfmon->faultaddr); 759 ctrlpriv->ctl, &perfmon->faultdetail); 763 ctrlpriv->ctl, &perfmon->status);
|
H A D | caamrng.c | 346 if (!(rd_reg32(&priv->ctrl->perfmon.cha_num_ls) & CHA_ID_LS_RNG_MASK)) caam_rng_init()
|
H A D | regs.h | 172 * Defined for use with the cha_id fields in perfmon, but the same shift/mask 174 * cha_num fields in perfmon because the locations are the same. 421 struct caam_perfmon perfmon; member in struct:caam_ctrl 511 struct caam_perfmon perfmon; member in struct:caam_job_ring
|
H A D | caamhash.c | 1931 cha_vid = rd_reg32(&priv->ctrl->perfmon.cha_id_ls); caam_algapi_hash_init() 1932 cha_inst = rd_reg32(&priv->ctrl->perfmon.cha_num_ls); caam_algapi_hash_init()
|
H A D | caamalg.c | 4520 cha_vid = rd_reg32(&priv->ctrl->perfmon.cha_id_ls); caam_algapi_init() 4521 cha_inst = rd_reg32(&priv->ctrl->perfmon.cha_num_ls); caam_algapi_init()
|
/linux-4.4.14/arch/ia64/include/uapi/asm/ |
H A D | perfmon_default_smpl.h | 6 * for Linux/ia64 perfmon subsystem. 45 unsigned int hdr_version; /* contains perfmon version (smpl format diffs) */ 68 unsigned long tstamp; /* ar.itc when entering perfmon intr. handler */
|
H A D | perfmon.h | 10 * perfmon commands supported on all CPU models 116 unsigned int ft_version; /* perfmon: major [16-31], minor [0-15] */ 160 * Define the version numbers for both perfmon as a whole and the sampling buffer format.
|
/linux-4.4.14/arch/ia64/include/asm/ |
H A D | perfmon.h | 8 #include <uapi/asm/perfmon.h> 53 pfm_ovfl_ctrl_t ovfl_ctrl; /* return: perfmon controls to set by handler */ 84 * perfmon interface exported to modules
|
H A D | processor.h | 287 unsigned long pfm_needs_checking; /* when >0, pending perfmon work on kernel exit */
|
/linux-4.4.14/arch/powerpc/kernel/ |
H A D | pmc.c | 5 * Includes code formerly from arch/ppc/kernel/perfmon.c:
|
H A D | exceptions-64e.S | 536 EXCEPTION_STUB(0x260, perfmon) 846 START_EXCEPTION(perfmon);
|
/linux-4.4.14/arch/ia64/kernel/ |
H A D | perfmon.c | 2 * This file implements the perfmon-2 subsystem which is used 5 * The initial version of perfmon.c was written by 8 * Then it was modified for perfmon-1.x by Stephane Eranian and 11 * Version Perfmon-2.x is a rewrite of perfmon-1.x 18 * More information about perfmon available at: 19 * http://www.hpl.hp.com/research/linux/perfmon 50 #include <asm/perfmon.h> 58 * perfmon context state 281 * perfmon context: encapsulates all the state of a monitoring session 320 unsigned int ctx_cpu; /* cpu to which perfmon is applied (system wide) */ 341 * a perfmon context 466 * perfmon command descriptions 504 * perfmon internal variables 557 .procname = "perfmon", 826 //printk("perfmon: CPU%d pfm_rvmalloc(%ld)=%p\n", smp_processor_id(), size, mem); pfm_rvmalloc() 1006 printk(KERN_ERR "perfmon.%d: invalid task[%d] current[%d]\n", __LINE__, task_pid_nr(task), task_pid_nr(current)); pfm_restore_monitoring() 1010 printk(KERN_ERR "perfmon.%d: task[%d] current[%d] invalid state=%d\n", __LINE__, pfm_restore_monitoring() 1289 printk(KERN_ERR "perfmon: duplicate sampling format: %s\n", fmt->fmt_name); pfm_register_buffer_fmt() 1294 printk(KERN_INFO "perfmon: added sampling format %s\n", fmt->fmt_name); pfm_register_buffer_fmt() 1312 printk(KERN_ERR "perfmon: cannot unregister format, not found\n"); pfm_unregister_buffer_fmt() 1317 printk(KERN_INFO "perfmon: removed sampling format: %s\n", fmt->fmt_name); pfm_unregister_buffer_fmt() 1412 * would not work with perfmon+more than one bit in cpu_mask pfm_unreserve_session() 1416 printk(KERN_ERR "perfmon: invalid release for ctx %p sys_use_dbregs=0\n", ctx); pfm_unreserve_session() 1453 printk(KERN_ERR "perfmon: pfm_remove_smpl_mapping [%d] invalid context mm=%p\n", task_pid_nr(task), task->mm); pfm_remove_smpl_mapping() 1465 printk(KERN_ERR "perfmon: [%d] unable to unmap sampling buffer @%p size=%lu\n", task_pid_nr(task), vaddr, size); pfm_remove_smpl_mapping() 1507 printk(KERN_ERR "perfmon: pfm_free_smpl_buffer [%d] no buffer\n", task_pid_nr(current)); 1553 printk(KERN_ERR "perfmon: pfm_poll: bad magic [%d]\n", task_pid_nr(current)); pfm_read() 1559 printk(KERN_ERR "perfmon: pfm_read: NULL ctx [%d]\n", task_pid_nr(current)); pfm_read() 1622 printk(KERN_ERR "perfmon: pfm_read no msg for ctx=%p [%d]\n", ctx, task_pid_nr(current)); pfm_read() 1653 printk(KERN_ERR "perfmon: pfm_poll: bad magic [%d]\n", task_pid_nr(current)); pfm_poll() 1659 printk(KERN_ERR "perfmon: pfm_poll: NULL ctx [%d]\n", task_pid_nr(current)); pfm_poll() 1713 printk(KERN_ERR "perfmon: pfm_fasync bad magic [%d]\n", task_pid_nr(current)); pfm_fasync() 1719 printk(KERN_ERR "perfmon: pfm_fasync NULL ctx [%d]\n", task_pid_nr(current)); pfm_fasync() 1756 printk(KERN_ERR "perfmon: pfm_syswide_force_stop for CPU%d but on CPU%d\n", pfm_syswide_force_stop() 1763 printk(KERN_ERR "perfmon: pfm_syswide_force_stop CPU%d unexpected owner [%d] instead of [%d]\n", pfm_syswide_force_stop() 1769 printk(KERN_ERR "perfmon: pfm_syswide_force_stop CPU%d unexpected ctx %p instead of %p\n", pfm_syswide_force_stop() 1827 printk(KERN_ERR "perfmon: pfm_flush: NULL ctx [%d]\n", task_pid_nr(current)); pfm_flush() 1970 printk(KERN_ERR "perfmon: pfm_close: NULL ctx [%d]\n", task_pid_nr(current)); pfm_close() 2449 * check if buffer format wants to use perfmon buffer allocation/mapping service pfm_setup_buffer_fmt() 3498 printk(KERN_ERR "perfmon: invalid release for [%d] ptrace_use_dbregs=0\n", task_pid_nr(task)); pfm_release_debug_registers() 3550 printk(KERN_ERR "perfmon: [%d] pfm_restart no task\n", task_pid_nr(current)); pfm_restart() 3669 printk(KERN_INFO "perfmon debugging %s (timing reset)\n", pfm_sysctl.debug ? "on" : "off"); pfm_debug() 3762 * perfmon purposes. pfm_write_ibr_dbr() 3820 * by a kernel call. Moreover, perfmon() access to those pfm_write_ibr_dbr() 3825 * by the fact that when perfmon uses debug registers, ptrace() pfm_write_ibr_dbr() 4571 printk(KERN_ERR "perfmon: pfm_exit_thread [%d] ctx unloaded\n", task_pid_nr(task)); pfm_exit_thread() 4577 printk(KERN_ERR "perfmon: pfm_exit_thread [%d] state=%d unload failed %d\n", task_pid_nr(task), state, ret); pfm_exit_thread() 4586 printk(KERN_ERR "perfmon: pfm_exit_thread [%d] state=%d unload failed %d\n", task_pid_nr(task), state, ret); pfm_exit_thread() 4591 printk(KERN_ERR "perfmon: pfm_exit_thread [%d] unexpected state=%d\n", task_pid_nr(task), state); pfm_exit_thread() 4776 * reject any call if perfmon was disabled at initialization sys_perfmonctl() 4815 printk(KERN_ERR "perfmon: [%d] argument too big %lu\n", task_pid_nr(current), sz); sys_perfmonctl() 4867 DPRINT(("fd %d not related to perfmon\n", fd)); sys_perfmonctl() 5004 printk(KERN_ERR "perfmon: [%d] has no PFM context\n", pfm_handle_work() 5123 printk(KERN_ERR "perfmon: pfm_ovfl_notify_user no more notification msgs\n"); pfm_ovfl_notify_user() 5153 printk(KERN_ERR "perfmon: pfm_end_notify_user no more notification msgs\n"); pfm_end_notify_user() 5373 * set the perfmon specific checking pending work for the task pfm_overflow_handler() 5414 printk(KERN_ERR "perfmon: CPU%d overflow handler [%d] pmc0=0x%lx\n", pfm_overflow_handler() 5509 printk(KERN_INFO "perfmon: spurious overflow interrupt on CPU%d: process %d has no PFM context\n", pfm_do_interrupt_handler() 5514 printk(KERN_INFO "perfmon: spurious overflow interrupt on CPU%d: process %d, invalid flag\n", pfm_do_interrupt_handler() 5562 * /proc/perfmon interface, for debug only 5603 "perfmon version : %u.%u\n" pfm_proc_show_header() 6174 * (not perfmon) by the previous task. pfm_load_regs() 6380 .name = "perfmon" 6420 * by perfmon pfm_alt_restore_pmu_state() 6427 * perfmon runs with PMU unfrozen at all times pfm_alt_restore_pmu_state() 6519 * perfmon initialization routine, called from the initcall() table 6558 printk("perfmon: version %u.%u IRQ %u\n", pfm_init() 6564 printk(KERN_INFO "perfmon: disabled, there is no support for processor family %d\n", pfm_init() 6596 printk(KERN_INFO "perfmon: unsupported number of code debug registers (%u)\n", pmu_conf->num_ibrs); pfm_init() 6601 printk(KERN_INFO "perfmon: unsupported number of data debug registers (%u)\n", pmu_conf->num_ibrs); pfm_init() 6607 printk("perfmon: %s PMU detected, %u PMCs, %u PMDs, %u counters (%lu bits)\n", pfm_init() 6616 printk(KERN_ERR "perfmon: not enough pmc/pmd, perfmon disabled\n"); pfm_init() 6622 * create /proc/perfmon (mostly for debugging purposes) pfm_init() 6624 perfmon_dir = proc_create("perfmon", S_IRUGO, NULL, &pfm_proc_fops); pfm_init() 6626 printk(KERN_ERR "perfmon: cannot create /proc entry, perfmon disabled\n"); pfm_init() 6632 * create /proc/sys/kernel/perfmon (for debugging purposes) pfm_init() 6761 DPRINT(("perfmon: pfm_inherit clearing state for [%d]\n", task_pid_nr(task))); pfm_inherit()
|
H A D | Makefile | 12 irq_lsapic.o ivt.o machvec.o pal.o patch.o process.o perfmon.o ptrace.o sal.o \
|
H A D | perfmon_generic.h | 3 * and pmc checker used by perfmon.c.
|
H A D | perfmon_mckinley.h | 3 * and pmc checker used by perfmon.c. 108 /* don't mix debug with perfmon */ pfm_mck_pmc_check() 126 /* don't mix debug with perfmon */ pfm_mck_pmc_check() 166 if (ret) DPRINT((KERN_DEBUG "perfmon: failure check_case1\n")); pfm_mck_pmc_check()
|
H A D | perfmon_default_smpl.c | 6 * for the Linux/ia64 perfmon-2 subsystem. 15 #include <asm/perfmon.h> 19 MODULE_DESCRIPTION("perfmon default sampling format");
|
H A D | perfmon_itanium.h | 3 * and pmc checker used by perfmon.c. 69 /* don't mix debug with perfmon */ pfm_ita_pmc_check() 88 /* don't mix debug with perfmon */ pfm_ita_pmc_check()
|
H A D | perfmon_montecito.h | 3 * and pmc checker used by perfmon.c. 192 /* don't mix debug with perfmon */ pfm_mont_pmc_check() 212 /* don't mix debug with perfmon */ pfm_mont_pmc_check()
|
H A D | process.c | 51 # include <asm/perfmon.h> 582 /* if needed, stop monitoring and flush state to perfmon context */ exit_thread()
|
H A D | irq_ia64.c | 44 # include <asm/perfmon.h>
|
H A D | ptrace.c | 32 #include <asm/perfmon.h> 2062 * Check if debug registers are used by perfmon. This access_uarea() 2074 * used by perfmon, but we do not use access_uarea()
|
/linux-4.4.14/arch/x86/oprofile/ |
H A D | op_model_ppro.c | 3 * Family 6 perfmon and architectural perfmon MSR operations
|
H A D | nmi_int.c | 624 printk(KERN_INFO "oprofile: forcing architectural perfmon\n"); set_cpu_type() 766 /* use arch perfmon as fallback */ op_nmi_init()
|
/linux-4.4.14/arch/powerpc/platforms/pseries/ |
H A D | firmware.c | 54 {FW_FEATURE_PERFMON, "hcall-perfmon"},
|
/linux-4.4.14/arch/powerpc/oprofile/ |
H A D | op_model_pa6t.c | 198 /* handle the perfmon overflow vector */ pa6t_handle_interrupt() 208 /* disable perfmon counting until rfid */ pa6t_handle_interrupt()
|
H A D | op_model_power4.c | 414 /* reset the perfmon trigger */ power4_handle_interrupt()
|
/linux-4.4.14/arch/sparc/kernel/ |
H A D | pcr.c | 291 pr_err("perfmon: Could not register hvapi(0x%lx).\n", register_perf_hsvc()
|
/linux-4.4.14/arch/parisc/kernel/ |
H A D | perf_asm.S | 53 ldi 0x20,%r25 ; load up perfmon bit 79 ldi 0x20,%r25 ; load up perfmon bit
|
/linux-4.4.14/arch/arm/kvm/ |
H A D | interrupts_head.S | 627 orr r2, r2, r3 @ Trap some perfmon accesses 629 bic r2, r2, r3 @ Don't trap any perfmon accesses
|
/linux-4.4.14/drivers/gpu/drm/nouveau/include/nvif/ |
H A D | class.h | 267 * perfmon
|
/linux-4.4.14/arch/x86/kernel/cpu/ |
H A D | perf_event_intel.c | 3275 * Quirk: v2 perfmon does not report fixed-purpose events, so intel_pmu_init() 3565 pr_cont("generic architected perfmon v1, "); intel_pmu_init() 3572 pr_cont("generic architected perfmon, "); intel_pmu_init()
|