• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/xnu-2422.115.4/osfmk/pmc/

Lines Matching refs:monitor

365 		/* If this flag is set, the monitor is already validated to be 
464 static perf_monitor_t perf_monitor_find(perf_monitor_object_t monitor) {
465 assert(monitor);
472 if(element->object == monitor) {
485 * perf_monitor_add_pmc adds a newly registered PMC to the perf monitor it is
499 * monitor it is associated with.
528 pmc->monitor = NULL;
1515 perf_monitor_t store_pm = store_pmc->monitor;
1568 perf_monitor_t load_pm = load_pmc->monitor;
1758 kern_return_t perf_monitor_register(perf_monitor_object_t monitor,
1762 COUNTER_DEBUG("registering perf monitor %p\n", monitor);
1764 if(!monitor || !methods) {
1773 /* If the monitor requires idle notifications, ensure that it is
1780 if (KERN_SUCCESS == methods->accessible_cores(monitor, &cores, &core_cnt)) {
1801 perf_monitor_t dupe = perf_monitor_find(monitor);
1803 COUNTER_DEBUG("Duplicate registration for %p\n", monitor);
1817 pm->object = monitor;
1834 kern_return_t perf_monitor_unregister(perf_monitor_object_t monitor) {
1837 COUNTER_DEBUG("unregistering perf monitor %p\n", monitor);
1839 if(!monitor) {
1843 perf_monitor_t pm = perf_monitor_find(monitor);
1871 * NOTE: @monitor must have been successfully registered via
1874 kern_return_t pmc_register(perf_monitor_object_t monitor, pmc_object_t pmc_object,
1877 COUNTER_DEBUG("%p %p\n", monitor, pmc_object);
1879 if(!monitor || !pmc_object || !methods || !object) {
1909 /* make sure this perf monitor object is already registered */
1914 perf_monitor_t pm = perf_monitor_find(monitor);
1916 COUNTER_DEBUG("Could not find perf monitor for %p\n", monitor);
1937 pmc->monitor = pm;
1939 perf_monitor_add_pmc(pmc->monitor, pmc);
1955 kern_return_t pmc_unregister(perf_monitor_object_t monitor, pmc_object_t pmc_object) {
1956 COUNTER_DEBUG("%p %p\n", monitor, pmc_object);
1958 if(!monitor || !pmc_object) {
1971 perf_monitor_remove_pmc(pmc->monitor, pmc);
1982 static void perf_monitor_reservation_add(perf_monitor_t monitor) {
1983 assert(monitor);
1984 OSIncrementAtomic(&(monitor->reservedCounters));
1987 static void perf_monitor_reservation_remove(perf_monitor_t monitor) {
1988 assert(monitor);
1989 OSDecrementAtomic(&(monitor->reservedCounters));
2389 perf_monitor_reservation_add(pmc->monitor);
2417 if (!(pmc->monitor->methods.flags & PERFMON_FLAG_SUPPORTS_CONTEXT_SWITCHING)) {
2448 perf_monitor_reservation_add(pmc->monitor);
2475 if (!(pmc->monitor->methods.flags & PERFMON_FLAG_SUPPORTS_CONTEXT_SWITCHING)) {
2506 perf_monitor_reservation_add(pmc->monitor);
2707 perf_monitor_reservation_remove(reservation->pmc->monitor);
2742 perf_monitor_t monitor = NULL;
2750 queue_iterate(cpu_queue, monitor, perf_monitor_t, cpu_link) {
2751 perf_monitor_methods_t *methods = &(monitor->methods);
2752 if ((methods->flags & PERFMON_FLAG_ALWAYS_ACTIVE) || (monitor->reservedCounters)) {
2753 methods->on_idle(monitor->object);
2767 perf_monitor_t monitor = NULL;
2775 queue_iterate(cpu_queue, monitor, perf_monitor_t, cpu_link) {
2776 perf_monitor_methods_t *methods = &(monitor->methods);
2777 if ((methods->flags & PERFMON_FLAG_ALWAYS_ACTIVE) || (monitor->reservedCounters)) {
2778 methods->on_idle_exit(monitor->object);
2853 kern_return_t perf_monitor_register(perf_monitor_object_t monitor __unused,
2858 kern_return_t perf_monitor_unregister(perf_monitor_object_t monitor __unused) {
2862 kern_return_t pmc_register(perf_monitor_object_t monitor __unused,
2867 kern_return_t pmc_unregister(perf_monitor_object_t monitor __unused,