Lines Matching defs:context
622 * context directory
643 struct damon_sysfs_context *context = kmalloc(sizeof(*context),
646 if (!context)
648 context->kobj = (struct kobject){};
649 context->ops_id = ops_id;
650 return context;
653 static int damon_sysfs_context_set_attrs(struct damon_sysfs_context *context)
661 &context->kobj, "monitoring_attrs");
667 context->attrs = attrs;
675 static int damon_sysfs_context_set_targets(struct damon_sysfs_context *context)
683 &context->kobj, "targets");
688 context->targets = targets;
692 static int damon_sysfs_context_set_schemes(struct damon_sysfs_context *context)
700 &context->kobj, "schemes");
705 context->schemes = schemes;
709 static int damon_sysfs_context_add_dirs(struct damon_sysfs_context *context)
713 err = damon_sysfs_context_set_attrs(context);
717 err = damon_sysfs_context_set_targets(context);
721 err = damon_sysfs_context_set_schemes(context);
727 kobject_put(&context->targets->kobj);
728 context->targets = NULL;
730 kobject_put(&context->attrs->kobj);
731 context->attrs = NULL;
735 static void damon_sysfs_context_rm_dirs(struct damon_sysfs_context *context)
737 damon_sysfs_attrs_rm_dirs(context->attrs);
738 kobject_put(&context->attrs->kobj);
739 damon_sysfs_targets_rm_dirs(context->targets);
740 kobject_put(&context->targets->kobj);
741 damon_sysfs_schemes_rm_dirs(context->schemes);
742 kobject_put(&context->schemes->kobj);
763 struct damon_sysfs_context *context = container_of(kobj,
766 return sysfs_emit(buf, "%s\n", damon_sysfs_ops_strs[context->ops_id]);
772 struct damon_sysfs_context *context = container_of(kobj,
778 context->ops_id = id;
841 struct damon_sysfs_context **contexts_arr, *context;
855 context = damon_sysfs_context_alloc(DAMON_OPS_VADDR);
856 if (!context) {
861 err = kobject_init_and_add(&context->kobj,
867 err = damon_sysfs_context_add_dirs(context);
871 contexts_arr[i] = context;
878 kobject_put(&context->kobj);
1040 * DAMON context-internal data. Because DAMON context-internal data can be
1356 * @c: The DAMON context of the callback.
1480 * that need to access running DAMON context-internal data, it requests
1483 * or the context is completed.
1492 /* Handle commands that doesn't access DAMON context-internal data */
1502 /* Pass the command to DAMON callback for safe DAMON context access */
1512 * from kdamond context