Lines Matching refs:kn
189 static int rdtgroup_kn_set_ugid(struct kernfs_node *kn) in rdtgroup_kn_set_ugid() argument
199 return kernfs_setattr(kn, &iattr); in rdtgroup_kn_set_ugid()
204 struct kernfs_node *kn; in rdtgroup_add_file() local
207 kn = __kernfs_create_file(parent_kn, rft->name, rft->mode, in rdtgroup_add_file()
210 if (IS_ERR(kn)) in rdtgroup_add_file()
211 return PTR_ERR(kn); in rdtgroup_add_file()
213 ret = rdtgroup_kn_set_ugid(kn); in rdtgroup_add_file()
215 kernfs_remove(kn); in rdtgroup_add_file()
225 struct rftype *rft = of->kn->priv; in rdtgroup_seqfile_show()
235 struct rftype *rft = of->kn->priv; in rdtgroup_file_write()
256 struct rftype *rft = of->kn->priv; in is_cpu_list()
268 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_cpus_show()
289 rdtgroup_kn_unlock(of->kn); in rdtgroup_cpus_show()
463 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_cpus_write()
502 rdtgroup_kn_unlock(of->kn); in rdtgroup_cpus_write()
677 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_tasks_write()
679 rdtgroup_kn_unlock(of->kn); in rdtgroup_tasks_write()
694 rdtgroup_kn_unlock(of->kn); in rdtgroup_tasks_write()
718 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_tasks_show()
723 rdtgroup_kn_unlock(of->kn); in rdtgroup_tasks_show()
746 struct rdt_resource *r = of->kn->parent->priv; in rdt_num_closids_show()
755 struct rdt_resource *r = of->kn->parent->priv; in rdt_default_ctrl_show()
764 struct rdt_resource *r = of->kn->parent->priv; in rdt_min_cbm_bits_show()
773 struct rdt_resource *r = of->kn->parent->priv; in rdt_shareable_bits_show()
796 struct rdt_resource *r = of->kn->parent->priv; in rdt_bit_usage_show()
874 struct rdt_resource *r = of->kn->parent->priv; in rdt_min_bw_show()
883 struct rdt_resource *r = of->kn->parent->priv; in rdt_num_rmids_show()
893 struct rdt_resource *r = of->kn->parent->priv; in rdt_mon_features_show()
905 struct rdt_resource *r = of->kn->parent->priv; in rdt_bw_gran_show()
914 struct rdt_resource *r = of->kn->parent->priv; in rdt_delay_linear_show()
923 struct rdt_resource *r = of->kn->parent->priv; in max_threshold_occ_show()
933 struct rdt_resource *r = of->kn->parent->priv; in max_threshold_occ_write()
957 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_mode_show()
959 rdtgroup_kn_unlock(of->kn); in rdtgroup_mode_show()
965 rdtgroup_kn_unlock(of->kn); in rdtgroup_mode_show()
1187 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_mode_write()
1189 rdtgroup_kn_unlock(of->kn); in rdtgroup_mode_write()
1239 rdtgroup_kn_unlock(of->kn); in rdtgroup_mode_write()
1295 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_size_show()
1297 rdtgroup_kn_unlock(of->kn); in rdtgroup_size_show()
1341 rdtgroup_kn_unlock(of->kn); in rdtgroup_size_show()
1484 static int rdtgroup_add_files(struct kernfs_node *kn, unsigned long fflags) in rdtgroup_add_files() argument
1496 ret = rdtgroup_add_file(kn, rft); in rdtgroup_add_files()
1507 kernfs_remove_by_name(kn, rft->name); in rdtgroup_add_files()
1532 struct kernfs_node *kn; in rdtgroup_kn_mode_restrict() local
1535 kn = kernfs_find_and_get_ns(r->kn, name, NULL); in rdtgroup_kn_mode_restrict()
1536 if (!kn) in rdtgroup_kn_mode_restrict()
1539 switch (kernfs_type(kn)) { in rdtgroup_kn_mode_restrict()
1551 ret = kernfs_setattr(kn, &iattr); in rdtgroup_kn_mode_restrict()
1552 kernfs_put(kn); in rdtgroup_kn_mode_restrict()
1571 struct kernfs_node *kn, *parent; in rdtgroup_kn_mode_restore() local
1583 kn = kernfs_find_and_get_ns(r->kn, name, NULL); in rdtgroup_kn_mode_restore()
1584 if (!kn) in rdtgroup_kn_mode_restore()
1587 switch (kernfs_type(kn)) { in rdtgroup_kn_mode_restore()
1589 parent = kernfs_get_parent(kn); in rdtgroup_kn_mode_restore()
1604 ret = kernfs_setattr(kn, &iattr); in rdtgroup_kn_mode_restore()
1605 kernfs_put(kn); in rdtgroup_kn_mode_restore()
1687 struct kernfs_node *kn; in mongroup_create_dir() local
1691 kn = kernfs_create_dir(parent_kn, name, parent_kn->mode, prgrp); in mongroup_create_dir()
1692 if (IS_ERR(kn)) in mongroup_create_dir()
1693 return PTR_ERR(kn); in mongroup_create_dir()
1696 *dest_kn = kn; in mongroup_create_dir()
1702 kernfs_get(kn); in mongroup_create_dir()
1704 ret = rdtgroup_kn_set_ugid(kn); in mongroup_create_dir()
1708 kernfs_activate(kn); in mongroup_create_dir()
1713 kernfs_remove(kn); in mongroup_create_dir()
1865 static struct rdtgroup *kernfs_to_rdtgroup(struct kernfs_node *kn) in kernfs_to_rdtgroup() argument
1867 if (kernfs_type(kn) == KERNFS_DIR) { in kernfs_to_rdtgroup()
1874 if (kn == kn_info || kn->parent == kn_info) in kernfs_to_rdtgroup()
1877 return kn->priv; in kernfs_to_rdtgroup()
1879 return kn->parent->priv; in kernfs_to_rdtgroup()
1883 struct rdtgroup *rdtgroup_kn_lock_live(struct kernfs_node *kn) in rdtgroup_kn_lock_live() argument
1885 struct rdtgroup *rdtgrp = kernfs_to_rdtgroup(kn); in rdtgroup_kn_lock_live()
1891 kernfs_break_active_protection(kn); in rdtgroup_kn_lock_live()
1902 void rdtgroup_kn_unlock(struct kernfs_node *kn) in rdtgroup_kn_unlock() argument
1904 struct rdtgroup *rdtgrp = kernfs_to_rdtgroup(kn); in rdtgroup_kn_unlock()
1916 kernfs_unbreak_active_protection(kn); in rdtgroup_kn_unlock()
1917 kernfs_put(rdtgrp->kn); in rdtgroup_kn_unlock()
1920 kernfs_unbreak_active_protection(kn); in rdtgroup_kn_unlock()
1967 ret = rdtgroup_create_info_dir(rdtgroup_default.kn); in rdt_get_tree()
1972 ret = mongroup_create_dir(rdtgroup_default.kn, in rdt_get_tree()
1979 ret = mkdir_mondata_all(rdtgroup_default.kn, in rdt_get_tree()
2244 kernfs_remove(rdtgrp->kn); in rmdir_all_sub()
2290 struct kernfs_node *kn; in mon_addfile() local
2293 kn = __kernfs_create_file(parent_kn, name, 0444, in mon_addfile()
2296 if (IS_ERR(kn)) in mon_addfile()
2297 return PTR_ERR(kn); in mon_addfile()
2299 ret = rdtgroup_kn_set_ugid(kn); in mon_addfile()
2301 kernfs_remove(kn); in mon_addfile()
2334 struct kernfs_node *kn; in mkdir_mondata_subdir() local
2342 kn = kernfs_create_dir(parent_kn, name, parent_kn->mode, prgrp); in mkdir_mondata_subdir()
2343 if (IS_ERR(kn)) in mkdir_mondata_subdir()
2344 return PTR_ERR(kn); in mkdir_mondata_subdir()
2350 kernfs_get(kn); in mkdir_mondata_subdir()
2351 ret = rdtgroup_kn_set_ugid(kn); in mkdir_mondata_subdir()
2364 ret = mon_addfile(kn, mevt->name, priv.priv); in mkdir_mondata_subdir()
2371 kernfs_activate(kn); in mkdir_mondata_subdir()
2375 kernfs_remove(kn); in mkdir_mondata_subdir()
2443 struct kernfs_node *kn; in mkdir_mondata_all() local
2449 ret = mongroup_create_dir(parent_kn, NULL, "mon_data", &kn); in mkdir_mondata_all()
2454 *dest_kn = kn; in mkdir_mondata_all()
2461 ret = mkdir_mondata_subdir_alldom(kn, r, prgrp); in mkdir_mondata_all()
2469 kernfs_remove(kn); in mkdir_mondata_all()
2644 struct kernfs_node *kn; in mkdir_rdt_prepare() local
2675 kn = kernfs_create_dir(parent_kn, name, mode, rdtgrp); in mkdir_rdt_prepare()
2676 if (IS_ERR(kn)) { in mkdir_rdt_prepare()
2677 ret = PTR_ERR(kn); in mkdir_rdt_prepare()
2681 rdtgrp->kn = kn; in mkdir_rdt_prepare()
2689 kernfs_get(kn); in mkdir_rdt_prepare()
2691 ret = rdtgroup_kn_set_ugid(kn); in mkdir_rdt_prepare()
2698 ret = rdtgroup_add_files(kn, files); in mkdir_rdt_prepare()
2712 ret = mkdir_mondata_all(kn, rdtgrp, &rdtgrp->mon.mon_data_kn); in mkdir_rdt_prepare()
2718 kernfs_activate(kn); in mkdir_rdt_prepare()
2728 kernfs_remove(rdtgrp->kn); in mkdir_rdt_prepare()
2738 kernfs_remove(rgrp->kn); in mkdir_rdt_prepare_clean()
2783 struct kernfs_node *kn; in rdtgroup_mkdir_ctrl_mon() local
2792 kn = rdtgrp->kn; in rdtgroup_mkdir_ctrl_mon()
2813 ret = mongroup_create_dir(kn, NULL, "mon_groups", NULL); in rdtgroup_mkdir_ctrl_mon()
2843 static bool is_mon_groups(struct kernfs_node *kn, const char *name) in is_mon_groups() argument
2845 return (!strcmp(kn->name, "mon_groups") && in is_mon_groups()
2861 if (rdt_alloc_capable && parent_kn == rdtgroup_default.kn) in rdtgroup_mkdir()
2874 static int rdtgroup_rmdir_mon(struct kernfs_node *kn, struct rdtgroup *rdtgrp, in rdtgroup_rmdir_mon() argument
2906 kernfs_get(kn); in rdtgroup_rmdir_mon()
2907 kernfs_remove(rdtgrp->kn); in rdtgroup_rmdir_mon()
2912 static int rdtgroup_ctrl_remove(struct kernfs_node *kn, in rdtgroup_ctrl_remove() argument
2922 kernfs_get(kn); in rdtgroup_ctrl_remove()
2923 kernfs_remove(rdtgrp->kn); in rdtgroup_ctrl_remove()
2927 static int rdtgroup_rmdir_ctrl(struct kernfs_node *kn, struct rdtgroup *rdtgrp, in rdtgroup_rmdir_ctrl() argument
2960 rdtgroup_ctrl_remove(kn, rdtgrp); in rdtgroup_rmdir_ctrl()
2965 static int rdtgroup_rmdir(struct kernfs_node *kn) in rdtgroup_rmdir() argument
2967 struct kernfs_node *parent_kn = kn->parent; in rdtgroup_rmdir()
2975 rdtgrp = rdtgroup_kn_lock_live(kn); in rdtgroup_rmdir()
2988 if (rdtgrp->type == RDTCTRL_GROUP && parent_kn == rdtgroup_default.kn) { in rdtgroup_rmdir()
2991 ret = rdtgroup_ctrl_remove(kn, rdtgrp); in rdtgroup_rmdir()
2993 ret = rdtgroup_rmdir_ctrl(kn, rdtgrp, tmpmask); in rdtgroup_rmdir()
2996 is_mon_groups(parent_kn, kn->name)) { in rdtgroup_rmdir()
2997 ret = rdtgroup_rmdir_mon(kn, rdtgrp, tmpmask); in rdtgroup_rmdir()
3003 rdtgroup_kn_unlock(kn); in rdtgroup_rmdir()
3048 ret = rdtgroup_add_files(rdt_root->kn, RF_CTRL_BASE); in rdtgroup_setup_root()
3054 rdtgroup_default.kn = rdt_root->kn; in rdtgroup_setup_root()
3055 kernfs_activate(rdtgroup_default.kn); in rdtgroup_setup_root()