Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\cpu\resctrl\rdtgroup.c Create Date:2022-07-28 08:11:44
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:rdt_get_tree

Proto:static int rdt_get_tree(struct fs_context *fc)

Type:int

Parameter:

TypeParameterName
struct fs_context *fc
1946  ctx = rdt_fc2context(fc)
1951  cpus_read_lock()
1952  mutex_lock( & Mutex to protect rdtgroup access. )
1956  If static_branch_unlikely( & rdt_enable_key) Then
1957  ret = -EBUSY
1958  Go to out
1961  ret = rdt_enable_ctx(ctx)
1962  If ret < 0 Then Go to out_cdp
1965  closid_init()
1967  ret = rdtgroup_create_info_dir(kn)
1968  If ret < 0 Then Go to out_mba
1971  If rdt_mon_capable Then
1972  ret = mongroup_create_dir(kn, & rdtgroup_default, "mon_groups", & Kernel fs node for "mon_groups" directory under root )
1975  If ret < 0 Then Go to out_info
1977  kernfs_get(Kernel fs node for "mon_groups" directory under root )
1979  ret = This creates a directory mon_data which contains the monitored data
1981  If ret < 0 Then Go to out_mongrp
1983  kernfs_get(Kernel fs node for "mon_data" directory under root )
1984  mon_data_kn = Kernel fs node for "mon_data" directory under root
1987  ret = rdt_pseudo_lock_init()
1988  If ret Then Go to out_mondata
1991  ret = kernfs_get_tree(fc)
1992  If ret < 0 Then Go to out_psl
1995  If Global boolean for rdt_alloc which is true if any* resource allocation is enabled. Then static_branch_enable_cpuslocked( & rdt_alloc_enable_key)
1997  If rdt_mon_capable Then static_branch_enable_cpuslocked( & rdt_mon_enable_key)
2000  If Global boolean for rdt_alloc which is true if any* resource allocation is enabled. || rdt_mon_capable Then static_branch_enable_cpuslocked( & rdt_enable_key)
2003  If is_mbm_enabled() Then
2004  r = rdt_resources_all[RDT_RESOURCE_L3]
2005  list_for_each_entry - iterate over list of given type*@pos: the type * to use as a loop cursor.*@head: the head for your list.*@member: the name of the list_head within the struct.(dom, & domains, list)
2006  mbm_setup_overflow_handler(dom, MBM_OVERFLOW_INTERVAL)
2009  Go to out
2011  out_psl :
2012  rdt_pseudo_lock_release()
2013  out_mondata :
2014  If rdt_mon_capable Then kernfs_remove(Kernel fs node for "mon_data" directory under root )
2016  out_mongrp :
2017  If rdt_mon_capable Then kernfs_remove(Kernel fs node for "mon_groups" directory under root )
2019  out_info :
2020  kernfs_remove(Kernel fs node for "info" directory under root )
2021  out_mba :
2022  If enable_mba_mbps Then Enable or disable the MBA software controller* which helps user specify bandwidth in MBps.* MBA software controller is supported only if* MBM is supported and MBA is in linear scale.
2024  out_cdp :
2025  cdp_disable_all()
2026  out :
2027  rdt_last_cmd_clear()
2028  mutex_unlock( & Mutex to protect rdtgroup access. )
2029  cpus_read_unlock()
2030  Return ret