mirror of
https://github.com/ARM-software/devlib.git
synced 2025-01-31 02:00:45 +00:00
commit
9c89ca0437
@ -55,6 +55,20 @@ ftrace_get_function_stats() {
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
################################################################################
|
||||
# CGroups Utility Functions
|
||||
################################################################################
|
||||
|
||||
cgroups_get_attributes() {
|
||||
[[ $# -eq 2 ]] || exit -1
|
||||
CGROUP="$1"
|
||||
CONTROLLER="$2"
|
||||
$GREP '' $CGROUP/* | \
|
||||
$GREP "$CONTROLLER\." | \
|
||||
$SED -e "s|$CONTROLLER\.||" -e "s|$CGROUP/||"
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Main Function Dispatcher
|
||||
################################################################################
|
||||
@ -75,6 +89,9 @@ cpufreq_get_all_governors)
|
||||
cpufreq_trace_all_frequencies)
|
||||
cpufreq_trace_all_frequencies $*
|
||||
;;
|
||||
cgroups_get_attributes)
|
||||
cgroups_get_attributes $*
|
||||
;;
|
||||
ftrace_get_function_stats)
|
||||
ftrace_get_function_stats
|
||||
;;
|
||||
|
@ -98,7 +98,7 @@ class Controller(object):
|
||||
output = self.target.execute('{} find {} -type d'\
|
||||
.format(self.target.busybox, self.mount_point))
|
||||
cgroups = []
|
||||
for cg in output.split('\n'):
|
||||
for cg in output.splitlines():
|
||||
cg = cg.replace(self.mount_point + '/', '/')
|
||||
cg = cg.replace(self.mount_point, '/')
|
||||
cg = cg.strip()
|
||||
@ -166,14 +166,10 @@ class CGroup(object):
|
||||
self.controller.kind)
|
||||
logging.debug(' %s',
|
||||
self.directory)
|
||||
output = self.target.execute('{} grep \'\' {}/{}.*'.format(
|
||||
self.target.busybox,
|
||||
self.directory,
|
||||
self.controller.kind))
|
||||
for res in output.split('\n'):
|
||||
if res.find(self.controller.kind) < 0:
|
||||
continue
|
||||
res = res.split('.')[1]
|
||||
output = self.target._execute_util(
|
||||
'cgroups_get_attributes {} {}'.format(
|
||||
self.directory, self.controller.kind))
|
||||
for res in output.splitlines():
|
||||
attr = res.split(':')[0]
|
||||
value = res.split(':')[1]
|
||||
conf[attr] = value
|
||||
@ -261,7 +257,7 @@ class CgroupsModule(Module):
|
||||
def list_subsystems(self):
|
||||
subsystems = []
|
||||
for line in self.target.execute('{} cat /proc/cgroups'\
|
||||
.format(self.target.busybox)).split('\n')[1:]:
|
||||
.format(self.target.busybox)).splitlines()[1:]:
|
||||
line = line.strip()
|
||||
if not line or line.startswith('#'):
|
||||
continue
|
||||
|
Loading…
x
Reference in New Issue
Block a user