selftests: cgroup: Add task migration tests
Add two new tests that verify that thread and threadgroup migrations work as expected. Signed-off-by: Michal Koutný <mkoutny@suse.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
@@ -158,6 +158,22 @@ long cg_read_key_long(const char *cgroup, const char *control, const char *key)
|
||||
return atol(ptr + strlen(key));
|
||||
}
|
||||
|
||||
long cg_read_lc(const char *cgroup, const char *control)
|
||||
{
|
||||
char buf[PAGE_SIZE];
|
||||
const char delim[] = "\n";
|
||||
char *line;
|
||||
long cnt = 0;
|
||||
|
||||
if (cg_read(cgroup, control, buf, sizeof(buf)))
|
||||
return -1;
|
||||
|
||||
for (line = strtok(buf, delim); line; line = strtok(NULL, delim))
|
||||
cnt++;
|
||||
|
||||
return cnt;
|
||||
}
|
||||
|
||||
int cg_write(const char *cgroup, const char *control, char *buf)
|
||||
{
|
||||
char path[PATH_MAX];
|
||||
@@ -424,3 +440,13 @@ ssize_t proc_read_text(int pid, bool thread, const char *item, char *buf, size_t
|
||||
|
||||
return read_text(path, buf, size);
|
||||
}
|
||||
|
||||
int proc_read_strstr(int pid, bool thread, const char *item, const char *needle)
|
||||
{
|
||||
char buf[PAGE_SIZE];
|
||||
|
||||
if (proc_read_text(pid, thread, item, buf, sizeof(buf)) < 0)
|
||||
return -1;
|
||||
|
||||
return strstr(buf, needle) ? 0 : -1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user