Lines Matching refs:kn
231 static int rdtgroup_kn_set_ugid(struct kernfs_node *kn) in rdtgroup_kn_set_ugid() argument
241 return kernfs_setattr(kn, &iattr); in rdtgroup_kn_set_ugid()
246 struct kernfs_node *kn; in rdtgroup_add_file() local
249 kn = __kernfs_create_file(parent_kn, rft->name, rft->mode, in rdtgroup_add_file()
252 if (IS_ERR(kn)) in rdtgroup_add_file()
253 return PTR_ERR(kn); in rdtgroup_add_file()
255 ret = rdtgroup_kn_set_ugid(kn); in rdtgroup_add_file()
257 kernfs_remove(kn); in rdtgroup_add_file()
267 struct rftype *rft = of->kn->priv; in rdtgroup_seqfile_show()
277 struct rftype *rft = of->kn->priv; in rdtgroup_file_write()
298 struct rftype *rft = of->kn->priv; in is_cpu_list()
310 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_cpus_show()
331 rdtgroup_kn_unlock(of->kn); in rdtgroup_cpus_show()
500 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_cpus_write()
539 rdtgroup_kn_unlock(of->kn); in rdtgroup_cpus_write()
561 kernfs_put(rdtgrp->kn); in rdtgroup_remove()
742 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_tasks_write()
744 rdtgroup_kn_unlock(of->kn); in rdtgroup_tasks_write()
779 rdtgroup_kn_unlock(of->kn); in rdtgroup_tasks_write()
806 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_tasks_show()
811 rdtgroup_kn_unlock(of->kn); in rdtgroup_tasks_show()
822 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_closid_show()
827 rdtgroup_kn_unlock(of->kn); in rdtgroup_closid_show()
838 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_rmid_show()
843 rdtgroup_kn_unlock(of->kn); in rdtgroup_rmid_show()
910 rdtg->kn->name); in proc_resctrl_show()
917 seq_printf(s, "%s", crg->kn->name); in proc_resctrl_show()
953 struct resctrl_schema *s = of->kn->parent->priv; in rdt_num_closids_show()
962 struct resctrl_schema *s = of->kn->parent->priv; in rdt_default_ctrl_show()
972 struct resctrl_schema *s = of->kn->parent->priv; in rdt_min_cbm_bits_show()
982 struct resctrl_schema *s = of->kn->parent->priv; in rdt_shareable_bits_show()
1006 struct resctrl_schema *s = of->kn->parent->priv; in rdt_bit_usage_show()
1088 struct resctrl_schema *s = of->kn->parent->priv; in rdt_min_bw_show()
1098 struct rdt_resource *r = of->kn->parent->priv; in rdt_num_rmids_show()
1108 struct rdt_resource *r = of->kn->parent->priv; in rdt_mon_features_show()
1123 struct resctrl_schema *s = of->kn->parent->priv; in rdt_bw_gran_show()
1133 struct resctrl_schema *s = of->kn->parent->priv; in rdt_delay_linear_show()
1151 struct resctrl_schema *s = of->kn->parent->priv; in rdt_thread_throttle_mode_show()
1188 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_mode_show()
1190 rdtgroup_kn_unlock(of->kn); in rdtgroup_mode_show()
1196 rdtgroup_kn_unlock(of->kn); in rdtgroup_mode_show()
1216 struct resctrl_schema *s = of->kn->parent->priv; in rdt_has_sparse_bitmasks_show()
1378 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_mode_write()
1380 rdtgroup_kn_unlock(of->kn); in rdtgroup_mode_write()
1430 rdtgroup_kn_unlock(of->kn); in rdtgroup_mode_write()
1487 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_size_show()
1489 rdtgroup_kn_unlock(of->kn); in rdtgroup_size_show()
1541 rdtgroup_kn_unlock(of->kn); in rdtgroup_size_show()
1628 struct rdt_resource *r = of->kn->parent->priv; in mbm_total_bytes_config_show()
1638 struct rdt_resource *r = of->kn->parent->priv; in mbm_local_bytes_config_show()
1744 struct rdt_resource *r = of->kn->parent->priv; in mbm_total_bytes_config_write()
1770 struct rdt_resource *r = of->kn->parent->priv; in mbm_local_bytes_config_write()
1976 static int rdtgroup_add_files(struct kernfs_node *kn, unsigned long fflags) in rdtgroup_add_files() argument
1991 ret = rdtgroup_add_file(kn, rft); in rdtgroup_add_files()
2002 kernfs_remove_by_name(kn, rft->name); in rdtgroup_add_files()
2063 struct kernfs_node *kn; in rdtgroup_kn_mode_restrict() local
2066 kn = kernfs_find_and_get_ns(r->kn, name, NULL); in rdtgroup_kn_mode_restrict()
2067 if (!kn) in rdtgroup_kn_mode_restrict()
2070 switch (kernfs_type(kn)) { in rdtgroup_kn_mode_restrict()
2082 ret = kernfs_setattr(kn, &iattr); in rdtgroup_kn_mode_restrict()
2083 kernfs_put(kn); in rdtgroup_kn_mode_restrict()
2102 struct kernfs_node *kn, *parent; in rdtgroup_kn_mode_restore() local
2114 kn = kernfs_find_and_get_ns(r->kn, name, NULL); in rdtgroup_kn_mode_restore()
2115 if (!kn) in rdtgroup_kn_mode_restore()
2118 switch (kernfs_type(kn)) { in rdtgroup_kn_mode_restore()
2120 parent = kernfs_get_parent(kn); in rdtgroup_kn_mode_restore()
2135 ret = kernfs_setattr(kn, &iattr); in rdtgroup_kn_mode_restore()
2136 kernfs_put(kn); in rdtgroup_kn_mode_restore()
2213 struct kernfs_node *kn; in mongroup_create_dir() local
2217 kn = kernfs_create_dir(parent_kn, name, parent_kn->mode, prgrp); in mongroup_create_dir()
2218 if (IS_ERR(kn)) in mongroup_create_dir()
2219 return PTR_ERR(kn); in mongroup_create_dir()
2222 *dest_kn = kn; in mongroup_create_dir()
2224 ret = rdtgroup_kn_set_ugid(kn); in mongroup_create_dir()
2228 kernfs_activate(kn); in mongroup_create_dir()
2233 kernfs_remove(kn); in mongroup_create_dir()
2423 static struct rdtgroup *kernfs_to_rdtgroup(struct kernfs_node *kn) in kernfs_to_rdtgroup() argument
2425 if (kernfs_type(kn) == KERNFS_DIR) { in kernfs_to_rdtgroup()
2432 if (kn == kn_info || kn->parent == kn_info) in kernfs_to_rdtgroup()
2435 return kn->priv; in kernfs_to_rdtgroup()
2437 return kn->parent->priv; in kernfs_to_rdtgroup()
2441 static void rdtgroup_kn_get(struct rdtgroup *rdtgrp, struct kernfs_node *kn) in rdtgroup_kn_get() argument
2444 kernfs_break_active_protection(kn); in rdtgroup_kn_get()
2447 static void rdtgroup_kn_put(struct rdtgroup *rdtgrp, struct kernfs_node *kn) in rdtgroup_kn_put() argument
2454 kernfs_unbreak_active_protection(kn); in rdtgroup_kn_put()
2457 kernfs_unbreak_active_protection(kn); in rdtgroup_kn_put()
2461 struct rdtgroup *rdtgroup_kn_lock_live(struct kernfs_node *kn) in rdtgroup_kn_lock_live() argument
2463 struct rdtgroup *rdtgrp = kernfs_to_rdtgroup(kn); in rdtgroup_kn_lock_live()
2468 rdtgroup_kn_get(rdtgrp, kn); in rdtgroup_kn_lock_live()
2480 void rdtgroup_kn_unlock(struct kernfs_node *kn) in rdtgroup_kn_unlock() argument
2482 struct rdtgroup *rdtgrp = kernfs_to_rdtgroup(kn); in rdtgroup_kn_unlock()
2490 rdtgroup_kn_put(rdtgrp, kn); in rdtgroup_kn_unlock()
2664 ret = rdtgroup_add_files(rdtgroup_default.kn, flags); in rdt_get_tree()
2668 kernfs_activate(rdtgroup_default.kn); in rdt_get_tree()
2670 ret = rdtgroup_create_info_dir(rdtgroup_default.kn); in rdt_get_tree()
2675 ret = mongroup_create_dir(rdtgroup_default.kn, in rdt_get_tree()
2681 ret = mkdir_mondata_all(rdtgroup_default.kn, in rdt_get_tree()
2938 kernfs_remove(rdtgrp->kn); in rmdir_all_sub()
2991 struct kernfs_node *kn; in mon_addfile() local
2994 kn = __kernfs_create_file(parent_kn, name, 0444, in mon_addfile()
2997 if (IS_ERR(kn)) in mon_addfile()
2998 return PTR_ERR(kn); in mon_addfile()
3000 ret = rdtgroup_kn_set_ugid(kn); in mon_addfile()
3002 kernfs_remove(kn); in mon_addfile()
3011 struct kernfs_node *kn; in mon_rmdir_one_subdir() local
3013 kn = kernfs_find_and_get(pkn, name); in mon_rmdir_one_subdir()
3014 if (!kn) in mon_rmdir_one_subdir()
3016 kernfs_put(kn); in mon_rmdir_one_subdir()
3018 if (kn->dir.subdirs <= 1) in mon_rmdir_one_subdir()
3019 kernfs_remove(kn); in mon_rmdir_one_subdir()
3021 kernfs_remove_by_name(kn, subname); in mon_rmdir_one_subdir()
3051 static int mon_add_all_files(struct kernfs_node *kn, struct rdt_mon_domain *d, in mon_add_all_files() argument
3068 ret = mon_addfile(kn, mevt->name, priv.priv); in mon_add_all_files()
3083 struct kernfs_node *kn, *ckn; in mkdir_mondata_subdir() local
3092 kn = kernfs_find_and_get(parent_kn, name); in mkdir_mondata_subdir()
3093 if (kn) { in mkdir_mondata_subdir()
3098 kernfs_put(kn); in mkdir_mondata_subdir()
3100 kn = kernfs_create_dir(parent_kn, name, parent_kn->mode, prgrp); in mkdir_mondata_subdir()
3101 if (IS_ERR(kn)) in mkdir_mondata_subdir()
3102 return PTR_ERR(kn); in mkdir_mondata_subdir()
3104 ret = rdtgroup_kn_set_ugid(kn); in mkdir_mondata_subdir()
3107 ret = mon_add_all_files(kn, d, r, prgrp, snc_mode); in mkdir_mondata_subdir()
3114 ckn = kernfs_create_dir(kn, name, parent_kn->mode, prgrp); in mkdir_mondata_subdir()
3129 kernfs_activate(kn); in mkdir_mondata_subdir()
3133 kernfs_remove(kn); in mkdir_mondata_subdir()
3201 struct kernfs_node *kn; in mkdir_mondata_all() local
3207 ret = mongroup_create_dir(parent_kn, prgrp, "mon_data", &kn); in mkdir_mondata_all()
3212 *dest_kn = kn; in mkdir_mondata_all()
3219 ret = mkdir_mondata_subdir_alldom(kn, r, prgrp); in mkdir_mondata_all()
3227 kernfs_remove(kn); in mkdir_mondata_all()
3430 ret = mkdir_mondata_all(rdtgrp->kn, rdtgrp, &rdtgrp->mon.mon_data_kn); in mkdir_rdt_prepare_rmid_alloc()
3452 struct kernfs_node *kn; in mkdir_rdt_prepare() local
3482 kn = kernfs_create_dir(parent_kn, name, mode, rdtgrp); in mkdir_rdt_prepare()
3483 if (IS_ERR(kn)) { in mkdir_rdt_prepare()
3484 ret = PTR_ERR(kn); in mkdir_rdt_prepare()
3488 rdtgrp->kn = kn; in mkdir_rdt_prepare()
3496 kernfs_get(kn); in mkdir_rdt_prepare()
3498 ret = rdtgroup_kn_set_ugid(kn); in mkdir_rdt_prepare()
3512 ret = rdtgroup_add_files(kn, files); in mkdir_rdt_prepare()
3524 kernfs_put(rdtgrp->kn); in mkdir_rdt_prepare()
3525 kernfs_remove(rdtgrp->kn); in mkdir_rdt_prepare()
3535 kernfs_remove(rgrp->kn); in mkdir_rdt_prepare_clean()
3563 kernfs_activate(rdtgrp->kn); in rdtgroup_mkdir_mon()
3584 struct kernfs_node *kn; in rdtgroup_mkdir_ctrl_mon() local
3592 kn = rdtgrp->kn; in rdtgroup_mkdir_ctrl_mon()
3607 kernfs_activate(rdtgrp->kn); in rdtgroup_mkdir_ctrl_mon()
3620 ret = mongroup_create_dir(kn, rdtgrp, "mon_groups", NULL); in rdtgroup_mkdir_ctrl_mon()
3652 static bool is_mon_groups(struct kernfs_node *kn, const char *name) in is_mon_groups() argument
3654 return (!strcmp(kn->name, "mon_groups") && in is_mon_groups()
3670 if (resctrl_arch_alloc_capable() && parent_kn == rdtgroup_default.kn) in rdtgroup_mkdir()
3710 kernfs_remove(rdtgrp->kn); in rdtgroup_rmdir_mon()
3720 kernfs_remove(rdtgrp->kn); in rdtgroup_ctrl_remove()
3761 static int rdtgroup_rmdir(struct kernfs_node *kn) in rdtgroup_rmdir() argument
3763 struct kernfs_node *parent_kn = kn->parent; in rdtgroup_rmdir()
3771 rdtgrp = rdtgroup_kn_lock_live(kn); in rdtgroup_rmdir()
3784 if (rdtgrp->type == RDTCTRL_GROUP && parent_kn == rdtgroup_default.kn && in rdtgroup_rmdir()
3793 is_mon_groups(parent_kn, kn->name)) { in rdtgroup_rmdir()
3800 rdtgroup_kn_unlock(kn); in rdtgroup_rmdir()
3841 static int rdtgroup_rename(struct kernfs_node *kn, in rdtgroup_rename() argument
3849 rdtgrp = kernfs_to_rdtgroup(kn); in rdtgroup_rename()
3855 rdtgroup_kn_get(rdtgrp, kn); in rdtgroup_rename()
3866 if (kernfs_type(kn) != KERNFS_DIR || in rdtgroup_rename()
3878 if (rdtgrp->type != RDTMON_GROUP || !kn->parent || in rdtgroup_rename()
3879 !is_mon_groups(kn->parent, kn->name)) { in rdtgroup_rename()
3919 ret = kernfs_rename(kn, new_parent, new_name); in rdtgroup_rename()
3927 rdtgroup_kn_put(rdtgrp, kn); in rdtgroup_rename()
3966 rdtgroup_default.kn = kernfs_root_to_node(rdt_root); in rdtgroup_setup_root()
3974 rdtgroup_default.kn = NULL; in rdtgroup_destroy_root()