Lines Matching refs:kn

195 static int rdtgroup_kn_set_ugid(struct kernfs_node *kn)  in rdtgroup_kn_set_ugid()  argument
205 return kernfs_setattr(kn, &iattr); in rdtgroup_kn_set_ugid()
210 struct kernfs_node *kn; in rdtgroup_add_file() local
213 kn = __kernfs_create_file(parent_kn, rft->name, rft->mode, in rdtgroup_add_file()
216 if (IS_ERR(kn)) in rdtgroup_add_file()
217 return PTR_ERR(kn); in rdtgroup_add_file()
219 ret = rdtgroup_kn_set_ugid(kn); in rdtgroup_add_file()
221 kernfs_remove(kn); in rdtgroup_add_file()
231 struct rftype *rft = of->kn->priv; in rdtgroup_seqfile_show()
241 struct rftype *rft = of->kn->priv; in rdtgroup_file_write()
262 struct rftype *rft = of->kn->priv; in is_cpu_list()
273 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_cpus_show()
285 rdtgroup_kn_unlock(of->kn); in rdtgroup_cpus_show()
459 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_cpus_write()
500 rdtgroup_kn_unlock(of->kn); in rdtgroup_cpus_write()
675 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_tasks_write()
677 rdtgroup_kn_unlock(of->kn); in rdtgroup_tasks_write()
692 rdtgroup_kn_unlock(of->kn); in rdtgroup_tasks_write()
716 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_tasks_show()
721 rdtgroup_kn_unlock(of->kn); in rdtgroup_tasks_show()
744 struct rdt_resource *r = of->kn->parent->priv; in rdt_num_closids_show()
753 struct rdt_resource *r = of->kn->parent->priv; in rdt_default_ctrl_show()
762 struct rdt_resource *r = of->kn->parent->priv; in rdt_min_cbm_bits_show()
771 struct rdt_resource *r = of->kn->parent->priv; in rdt_shareable_bits_show()
794 struct rdt_resource *r = of->kn->parent->priv; in rdt_bit_usage_show()
868 struct rdt_resource *r = of->kn->parent->priv; in rdt_min_bw_show()
877 struct rdt_resource *r = of->kn->parent->priv; in rdt_num_rmids_show()
887 struct rdt_resource *r = of->kn->parent->priv; in rdt_mon_features_show()
899 struct rdt_resource *r = of->kn->parent->priv; in rdt_bw_gran_show()
908 struct rdt_resource *r = of->kn->parent->priv; in rdt_delay_linear_show()
917 struct rdt_resource *r = of->kn->parent->priv; in max_threshold_occ_show()
927 struct rdt_resource *r = of->kn->parent->priv; in max_threshold_occ_write()
951 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_mode_show()
953 rdtgroup_kn_unlock(of->kn); in rdtgroup_mode_show()
959 rdtgroup_kn_unlock(of->kn); in rdtgroup_mode_show()
1075 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_mode_write()
1077 rdtgroup_kn_unlock(of->kn); in rdtgroup_mode_write()
1127 rdtgroup_kn_unlock(of->kn); in rdtgroup_mode_write()
1182 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_size_show()
1184 rdtgroup_kn_unlock(of->kn); in rdtgroup_size_show()
1221 rdtgroup_kn_unlock(of->kn); in rdtgroup_size_show()
1364 static int rdtgroup_add_files(struct kernfs_node *kn, unsigned long fflags) in rdtgroup_add_files() argument
1376 ret = rdtgroup_add_file(kn, rft); in rdtgroup_add_files()
1387 kernfs_remove_by_name(kn, rft->name); in rdtgroup_add_files()
1412 struct kernfs_node *kn; in rdtgroup_kn_mode_restrict() local
1415 kn = kernfs_find_and_get_ns(r->kn, name, NULL); in rdtgroup_kn_mode_restrict()
1416 if (!kn) in rdtgroup_kn_mode_restrict()
1419 switch (kernfs_type(kn)) { in rdtgroup_kn_mode_restrict()
1431 ret = kernfs_setattr(kn, &iattr); in rdtgroup_kn_mode_restrict()
1432 kernfs_put(kn); in rdtgroup_kn_mode_restrict()
1451 struct kernfs_node *kn, *parent; in rdtgroup_kn_mode_restore() local
1463 kn = kernfs_find_and_get_ns(r->kn, name, NULL); in rdtgroup_kn_mode_restore()
1464 if (!kn) in rdtgroup_kn_mode_restore()
1467 switch (kernfs_type(kn)) { in rdtgroup_kn_mode_restore()
1469 parent = kernfs_get_parent(kn); in rdtgroup_kn_mode_restore()
1484 ret = kernfs_setattr(kn, &iattr); in rdtgroup_kn_mode_restore()
1485 kernfs_put(kn); in rdtgroup_kn_mode_restore()
1567 struct kernfs_node *kn; in mongroup_create_dir() local
1571 kn = kernfs_create_dir(parent_kn, name, parent_kn->mode, prgrp); in mongroup_create_dir()
1572 if (IS_ERR(kn)) in mongroup_create_dir()
1573 return PTR_ERR(kn); in mongroup_create_dir()
1576 *dest_kn = kn; in mongroup_create_dir()
1582 kernfs_get(kn); in mongroup_create_dir()
1584 ret = rdtgroup_kn_set_ugid(kn); in mongroup_create_dir()
1588 kernfs_activate(kn); in mongroup_create_dir()
1593 kernfs_remove(kn); in mongroup_create_dir()
1782 static struct rdtgroup *kernfs_to_rdtgroup(struct kernfs_node *kn) in kernfs_to_rdtgroup() argument
1784 if (kernfs_type(kn) == KERNFS_DIR) { in kernfs_to_rdtgroup()
1791 if (kn == kn_info || kn->parent == kn_info) in kernfs_to_rdtgroup()
1794 return kn->priv; in kernfs_to_rdtgroup()
1796 return kn->parent->priv; in kernfs_to_rdtgroup()
1800 struct rdtgroup *rdtgroup_kn_lock_live(struct kernfs_node *kn) in rdtgroup_kn_lock_live() argument
1802 struct rdtgroup *rdtgrp = kernfs_to_rdtgroup(kn); in rdtgroup_kn_lock_live()
1808 kernfs_break_active_protection(kn); in rdtgroup_kn_lock_live()
1819 void rdtgroup_kn_unlock(struct kernfs_node *kn) in rdtgroup_kn_unlock() argument
1821 struct rdtgroup *rdtgrp = kernfs_to_rdtgroup(kn); in rdtgroup_kn_unlock()
1833 kernfs_unbreak_active_protection(kn); in rdtgroup_kn_unlock()
1834 kernfs_put(rdtgrp->kn); in rdtgroup_kn_unlock()
1837 kernfs_unbreak_active_protection(kn); in rdtgroup_kn_unlock()
1872 ret = rdtgroup_create_info_dir(rdtgroup_default.kn); in rdt_mount()
1879 ret = mongroup_create_dir(rdtgroup_default.kn, in rdt_mount()
1888 ret = mkdir_mondata_all(rdtgroup_default.kn, in rdt_mount()
2078 kernfs_remove(rdtgrp->kn); in rmdir_all_sub()
2123 struct kernfs_node *kn; in mon_addfile() local
2126 kn = __kernfs_create_file(parent_kn, name, 0444, in mon_addfile()
2129 if (IS_ERR(kn)) in mon_addfile()
2130 return PTR_ERR(kn); in mon_addfile()
2132 ret = rdtgroup_kn_set_ugid(kn); in mon_addfile()
2134 kernfs_remove(kn); in mon_addfile()
2167 struct kernfs_node *kn; in mkdir_mondata_subdir() local
2175 kn = kernfs_create_dir(parent_kn, name, parent_kn->mode, prgrp); in mkdir_mondata_subdir()
2176 if (IS_ERR(kn)) in mkdir_mondata_subdir()
2177 return PTR_ERR(kn); in mkdir_mondata_subdir()
2183 kernfs_get(kn); in mkdir_mondata_subdir()
2184 ret = rdtgroup_kn_set_ugid(kn); in mkdir_mondata_subdir()
2197 ret = mon_addfile(kn, mevt->name, priv.priv); in mkdir_mondata_subdir()
2204 kernfs_activate(kn); in mkdir_mondata_subdir()
2208 kernfs_remove(kn); in mkdir_mondata_subdir()
2276 struct kernfs_node *kn; in mkdir_mondata_all() local
2282 ret = mongroup_create_dir(parent_kn, NULL, "mon_data", &kn); in mkdir_mondata_all()
2287 *dest_kn = kn; in mkdir_mondata_all()
2294 ret = mkdir_mondata_subdir_alldom(kn, r, prgrp); in mkdir_mondata_all()
2302 kernfs_remove(kn); in mkdir_mondata_all()
2438 struct kernfs_node *kn; in mkdir_rdt_prepare() local
2471 kn = kernfs_create_dir(parent_kn, name, mode, rdtgrp); in mkdir_rdt_prepare()
2472 if (IS_ERR(kn)) { in mkdir_rdt_prepare()
2473 ret = PTR_ERR(kn); in mkdir_rdt_prepare()
2477 rdtgrp->kn = kn; in mkdir_rdt_prepare()
2485 kernfs_get(kn); in mkdir_rdt_prepare()
2487 ret = rdtgroup_kn_set_ugid(kn); in mkdir_rdt_prepare()
2494 ret = rdtgroup_add_files(kn, files); in mkdir_rdt_prepare()
2508 ret = mkdir_mondata_all(kn, rdtgrp, &rdtgrp->mon.mon_data_kn); in mkdir_rdt_prepare()
2514 kernfs_activate(kn); in mkdir_rdt_prepare()
2524 kernfs_remove(rdtgrp->kn); in mkdir_rdt_prepare()
2534 kernfs_remove(rgrp->kn); in mkdir_rdt_prepare_clean()
2579 struct kernfs_node *kn; in rdtgroup_mkdir_ctrl_mon() local
2588 kn = rdtgrp->kn; in rdtgroup_mkdir_ctrl_mon()
2609 ret = mongroup_create_dir(kn, NULL, "mon_groups", NULL); in rdtgroup_mkdir_ctrl_mon()
2639 static bool is_mon_groups(struct kernfs_node *kn, const char *name) in is_mon_groups() argument
2641 return (!strcmp(kn->name, "mon_groups") && in is_mon_groups()
2657 if (rdt_alloc_capable && parent_kn == rdtgroup_default.kn) in rdtgroup_mkdir()
2670 static int rdtgroup_rmdir_mon(struct kernfs_node *kn, struct rdtgroup *rdtgrp, in rdtgroup_rmdir_mon() argument
2702 kernfs_get(kn); in rdtgroup_rmdir_mon()
2703 kernfs_remove(rdtgrp->kn); in rdtgroup_rmdir_mon()
2708 static int rdtgroup_ctrl_remove(struct kernfs_node *kn, in rdtgroup_ctrl_remove() argument
2718 kernfs_get(kn); in rdtgroup_ctrl_remove()
2719 kernfs_remove(rdtgrp->kn); in rdtgroup_ctrl_remove()
2723 static int rdtgroup_rmdir_ctrl(struct kernfs_node *kn, struct rdtgroup *rdtgrp, in rdtgroup_rmdir_ctrl() argument
2756 rdtgroup_ctrl_remove(kn, rdtgrp); in rdtgroup_rmdir_ctrl()
2761 static int rdtgroup_rmdir(struct kernfs_node *kn) in rdtgroup_rmdir() argument
2763 struct kernfs_node *parent_kn = kn->parent; in rdtgroup_rmdir()
2771 rdtgrp = rdtgroup_kn_lock_live(kn); in rdtgroup_rmdir()
2784 if (rdtgrp->type == RDTCTRL_GROUP && parent_kn == rdtgroup_default.kn) { in rdtgroup_rmdir()
2787 ret = rdtgroup_ctrl_remove(kn, rdtgrp); in rdtgroup_rmdir()
2789 ret = rdtgroup_rmdir_ctrl(kn, rdtgrp, tmpmask); in rdtgroup_rmdir()
2792 is_mon_groups(parent_kn, kn->name)) { in rdtgroup_rmdir()
2793 ret = rdtgroup_rmdir_mon(kn, rdtgrp, tmpmask); in rdtgroup_rmdir()
2799 rdtgroup_kn_unlock(kn); in rdtgroup_rmdir()
2837 ret = rdtgroup_add_files(rdt_root->kn, RF_CTRL_BASE); in rdtgroup_setup_root()
2843 rdtgroup_default.kn = rdt_root->kn; in rdtgroup_setup_root()
2844 kernfs_activate(rdtgroup_default.kn); in rdtgroup_setup_root()