mirror of
https://github.com/ARM-software/devlib.git
synced 2025-01-31 02:00:45 +00:00
Merge pull request #57 from derkling/cgroups-cosmetics
Cgroups cosmetics
This commit is contained in:
commit
0e8fc0d732
@ -150,16 +150,16 @@ class Controller(object):
|
|||||||
raise ValueError('wrong type for "exclude" parameter, '
|
raise ValueError('wrong type for "exclude" parameter, '
|
||||||
'it must be a str or a list')
|
'it must be a str or a list')
|
||||||
|
|
||||||
logging.info('Moving all tasks into %s', dest)
|
logging.debug('Moving all tasks into %s', dest)
|
||||||
|
|
||||||
# Build list of tasks to exclude
|
# Build list of tasks to exclude
|
||||||
grep_filters = ''
|
grep_filters = ''
|
||||||
for comm in exclude:
|
for comm in exclude:
|
||||||
grep_filters += '-e "{}" '.format(comm)
|
grep_filters += '-e "{}" '.format(comm)
|
||||||
logging.debug('Using grep filter: %s', grep_filters)
|
logging.debug(' using grep filter: %s', grep_filters)
|
||||||
if grep_filters != '':
|
if grep_filters != '':
|
||||||
logging.info('Excluding tasks which name matches:')
|
logging.debug(' excluding tasks which name matches:')
|
||||||
logging.info('%s', ','.join(exclude))
|
logging.debug(' %s', ', '.join(exclude))
|
||||||
|
|
||||||
for cgroup in self._cgroups:
|
for cgroup in self._cgroups:
|
||||||
if cgroup != dest:
|
if cgroup != dest:
|
||||||
@ -425,7 +425,7 @@ class CgroupsModule(Module):
|
|||||||
|
|
||||||
def freeze(self, exclude=[], thaw=False):
|
def freeze(self, exclude=[], thaw=False):
|
||||||
"""
|
"""
|
||||||
Freeze all tasks while keeping a live console
|
Freeze all user-space tasks but the specified ones
|
||||||
|
|
||||||
A freezer cgroup is used to stop all the tasks in the target system but
|
A freezer cgroup is used to stop all the tasks in the target system but
|
||||||
the ones which name match one of the path specified by the exclude
|
the ones which name match one of the path specified by the exclude
|
||||||
@ -435,7 +435,10 @@ class CgroupsModule(Module):
|
|||||||
the PID of these tasks.
|
the PID of these tasks.
|
||||||
|
|
||||||
:param exclude: list of commands paths to exclude from freezer
|
:param exclude: list of commands paths to exclude from freezer
|
||||||
:type exlude: list(str)
|
:type exclude: list(str)
|
||||||
|
|
||||||
|
:param thaw: if true thaw tasks instead
|
||||||
|
:type thaw: bool
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Create Freezer CGroup
|
# Create Freezer CGroup
|
||||||
@ -453,11 +456,11 @@ class CgroupsModule(Module):
|
|||||||
# Move all tasks into the freezer group
|
# Move all tasks into the freezer group
|
||||||
freezer.move_all_tasks_to('/DEVLIB_FREEZER', exclude)
|
freezer.move_all_tasks_to('/DEVLIB_FREEZER', exclude)
|
||||||
|
|
||||||
logging.info("Non freezable tasks:")
|
# Get list of not frozen tasks, which is reported as output
|
||||||
tasks = freezer.tasks('/')
|
tasks = freezer.tasks('/')
|
||||||
for tid in tasks:
|
|
||||||
logging.info("%5d: %s", tid, tasks[tid])
|
|
||||||
|
|
||||||
# Freeze all tasks
|
# Freeze all tasks
|
||||||
freezer_cg.set(state='FROZEN')
|
freezer_cg.set(state='FROZEN')
|
||||||
|
|
||||||
|
return tasks
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user