Searched refs:perfmon (Results 1 - 37 of 37) sorted by relevance

/linux-4.4.14/arch/ia64/oprofile/
H A DMakefile10 oprofile-$(CONFIG_PERFMON) += perfmon.o
H A Dperfmon.c2 * @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 Dbase.c212 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 Dpriv.h73 struct nvkm_perfmon *perfmon; member in struct:nvkm_perfdom
/linux-4.4.14/drivers/gpu/drm/nouveau/include/nvkm/subdev/
H A Dclk.h90 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 Dpm.h9 struct nvkm_object *perfmon; member in struct:nvkm_pm
/linux-4.4.14/drivers/crypto/caam/
H A Dctrl.c420 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 Dcaamrng.c346 if (!(rd_reg32(&priv->ctrl->perfmon.cha_num_ls) & CHA_ID_LS_RNG_MASK)) caam_rng_init()
H A Dregs.h172 * 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 Dcaamhash.c1931 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 Dcaamalg.c4520 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 Dperfmon_default_smpl.h6 * 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 Dperfmon.h10 * 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 Dperfmon.h8 #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 Dprocessor.h287 unsigned long pfm_needs_checking; /* when >0, pending perfmon work on kernel exit */
/linux-4.4.14/arch/powerpc/kernel/
H A Dpmc.c5 * Includes code formerly from arch/ppc/kernel/perfmon.c:
H A Dexceptions-64e.S536 EXCEPTION_STUB(0x260, perfmon)
846 START_EXCEPTION(perfmon);
/linux-4.4.14/arch/ia64/kernel/
H A Dperfmon.c2 * 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 DMakefile12 irq_lsapic.o ivt.o machvec.o pal.o patch.o process.o perfmon.o ptrace.o sal.o \
H A Dperfmon_generic.h3 * and pmc checker used by perfmon.c.
H A Dperfmon_mckinley.h3 * 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 Dperfmon_default_smpl.c6 * for the Linux/ia64 perfmon-2 subsystem.
15 #include <asm/perfmon.h>
19 MODULE_DESCRIPTION("perfmon default sampling format");
H A Dperfmon_itanium.h3 * 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 Dperfmon_montecito.h3 * 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 Dprocess.c51 # include <asm/perfmon.h>
582 /* if needed, stop monitoring and flush state to perfmon context */ exit_thread()
H A Dirq_ia64.c44 # include <asm/perfmon.h>
H A Dptrace.c32 #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 Dop_model_ppro.c3 * Family 6 perfmon and architectural perfmon MSR operations
H A Dnmi_int.c624 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 Dfirmware.c54 {FW_FEATURE_PERFMON, "hcall-perfmon"},
/linux-4.4.14/arch/powerpc/oprofile/
H A Dop_model_pa6t.c198 /* handle the perfmon overflow vector */ pa6t_handle_interrupt()
208 /* disable perfmon counting until rfid */ pa6t_handle_interrupt()
H A Dop_model_power4.c414 /* reset the perfmon trigger */ power4_handle_interrupt()
/linux-4.4.14/arch/sparc/kernel/
H A Dpcr.c291 pr_err("perfmon: Could not register hvapi(0x%lx).\n", register_perf_hsvc()
/linux-4.4.14/arch/parisc/kernel/
H A Dperf_asm.S53 ldi 0x20,%r25 ; load up perfmon bit
79 ldi 0x20,%r25 ; load up perfmon bit
/linux-4.4.14/arch/arm/kvm/
H A Dinterrupts_head.S627 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 Dclass.h267 * perfmon
/linux-4.4.14/arch/x86/kernel/cpu/
H A Dperf_event_intel.c3275 * 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()

Completed in 1388 milliseconds