Lines Matching full:monitoring

49  * struct damon_region - Represents a monitoring target region.
69 * for it before getting the access monitoring results.
89 * struct damon_target - Represents a monitoring target.
91 * @nr_regions: Number of monitoring target regions of this target.
92 * @regions_list: Head of the monitoring target regions of this target.
95 * Each monitoring context could have multiple targets. For example, a context
98 * virtual address spaces monitoring operations.
108 * enum damos_action - Represents an action of a Data Access Monitoring-based
225 * &weight_nr_accesses, and &weight_age, because monitoring operations are
279 * means DAMON does monitoring and applying the action of the scheme to
343 * @DAMOS_FILTER_TYPE_TARGET: Data Access Monitoring target.
445 * struct damos - Represents a Data Access Monitoring-based Operation Scheme.
466 * monitoring context are inactive, DAMON stops monitoring either, and just
524 * enum damon_ops_id - Identifier for each monitoring operations implementation
526 * @DAMON_OPS_VADDR: Monitoring operations for virtual address spaces
527 * @DAMON_OPS_FVADDR: Monitoring operations for only fixed ranges of virtual
529 * @DAMON_OPS_PADDR: Monitoring operations for the physical address space
530 * @NR_DAMON_OPS: Number of monitoring operations implementations
540 * struct damon_operations - Monitoring operations for given use cases.
554 * space and usecase via the &damon_ctx.ops. Then, the monitoring thread
556 * the monitoring, @update after each &damon_attrs.ops_update_interval, and
563 * this could be used to construct proper monitoring target regions and link
566 * this could be used to update monitoring target regions for current status.
567 * @prepare_access_checks should manipulate the monitoring regions to be
581 * monitoring.
601 * struct damon_callback - Monitoring events notification callbacks.
605 * @before_terminate: Called before terminating the monitoring.
607 * The monitoring thread (&damon_ctx.kdamond) calls @before_terminate just
608 * before finishing the monitoring.
610 * The monitoring thread calls @after_wmarks_check after each DAMON-based
612 * attributes of the monitoring context while it's deactivated due to the
615 * The monitoring thread calls @after_aggregation for each of the aggregation
616 * intervals. Therefore, users can safely access the monitoring results
620 * If any callback returns non-zero, monitoring stops.
650 * struct damon_intervals_goal - Monitoring intervals auto-tuning goal.
675 * struct damon_attrs - Monitoring attributes for accuracy/overhead control.
679 * @ops_update_interval: The time between monitoring operations updates.
681 * @min_nr_regions: The minimum number of adaptive monitoring
683 * @max_nr_regions: The maximum number of adaptive monitoring
691 * ``mmap()`` calls from the application, in case of virtual memory monitoring)
717 * struct damon_ctx - Represents a context for each monitoring. This is the
719 * of the monitoring.
721 * @attrs: Monitoring attributes for accuracy/overhead control.
722 * @kdamond: Kernel thread who does the monitoring.
725 * For each monitoring context, one kernel thread for the monitoring is
728 * Once started, the monitoring thread runs until explicitly required to be
729 * terminated or every monitoring target is invalid. The validity of the
733 * know whether the monitoring is ongoing or terminated by reading @kdamond.
734 * Reads and writes to @kdamond from outside of the monitoring thread must
737 * Note that the monitoring thread protects only @kdamond via @kdamond_lock.
740 * @ops: Set of monitoring operations for given use cases.
741 * @callback: Set of callbacks for monitoring events notifications.
743 * @adaptive_targets: Head of monitoring targets (&damon_target) list.