_damon_sysfs: implement commit() for online parameters update
Users can update DAMON parameters while it is running, using 'commit' DAMON sysfs interface command. For testing the feature in future tests, implement a function for doing that on the test-purpose DAMON sysfs interface wrapper Python module. Link: https://lkml.kernel.org/r/20240625180538.73134-8-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
781497347d
commit
5ac9adecf0
@ -481,6 +481,25 @@ class Kdamond:
|
||||
goal.effective_bytes = int(content)
|
||||
return None
|
||||
|
||||
def commit(self):
|
||||
nr_contexts_file = os.path.join(self.sysfs_dir(),
|
||||
'contexts', 'nr_contexts')
|
||||
content, err = read_file(nr_contexts_file)
|
||||
if err is not None:
|
||||
return err
|
||||
if int(content) != len(self.contexts):
|
||||
err = write_file(nr_contexts_file, '%d' % len(self.contexts))
|
||||
if err is not None:
|
||||
return err
|
||||
|
||||
for context in self.contexts:
|
||||
err = context.stage()
|
||||
if err is not None:
|
||||
return err
|
||||
err = write_file(os.path.join(self.sysfs_dir(), 'state'), 'commit')
|
||||
return err
|
||||
|
||||
|
||||
def commit_schemes_quota_goals(self):
|
||||
for context in self.contexts:
|
||||
for scheme in context.schemes:
|
||||
|
Loading…
Reference in New Issue
Block a user