lkml.org 
[lkml]   [2020]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH -tip 27/32] sched/debug: Add CGroup node for printing group cookie if SCHED_DEBUG
    Date
    This will be used by kselftest to verify the CGroup cookie value that is
    set by the CGroup interface.

    Reviewed-by: Josh Don <joshdon@google.com>
    Tested-by: Julien Desfossez <jdesfossez@digitalocean.com>
    Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
    ---
    kernel/sched/core.c | 31 +++++++++++++++++++++++++++++++
    1 file changed, 31 insertions(+)

    diff --git a/kernel/sched/core.c b/kernel/sched/core.c
    index 8f17ec8e993e..f1d9762b571a 100644
    --- a/kernel/sched/core.c
    +++ b/kernel/sched/core.c
    @@ -10277,6 +10277,21 @@ static u64 cpu_core_tag_color_read_u64(struct cgroup_subsys_state *css, struct c
    return tg->core_tag_color;
    }

    +#ifdef CONFIG_SCHED_DEBUG
    +static u64 cpu_core_group_cookie_read_u64(struct cgroup_subsys_state *css, struct cftype *cft)
    +{
    + unsigned long group_cookie, color;
    +
    + cpu_core_get_group_cookie_and_color(css_tg(css), &group_cookie, &color);
    +
    + /*
    + * Combine group_cookie and color into a single 64 bit value, for
    + * display purposes only.
    + */
    + return (group_cookie << 32) | (color & 0xffffffff);
    +}
    +#endif
    +
    struct write_core_tag {
    struct cgroup_subsys_state *css;
    unsigned long cookie;
    @@ -10550,6 +10565,14 @@ static struct cftype cpu_legacy_files[] = {
    .read_u64 = cpu_core_tag_color_read_u64,
    .write_u64 = cpu_core_tag_color_write_u64,
    },
    +#ifdef CONFIG_SCHED_DEBUG
    + /* Read the effective cookie (color+tag) of the group. */
    + {
    + .name = "core_group_cookie",
    + .flags = CFTYPE_NOT_ON_ROOT,
    + .read_u64 = cpu_core_group_cookie_read_u64,
    + },
    +#endif
    #endif
    #ifdef CONFIG_UCLAMP_TASK_GROUP
    {
    @@ -10737,6 +10760,14 @@ static struct cftype cpu_files[] = {
    .read_u64 = cpu_core_tag_color_read_u64,
    .write_u64 = cpu_core_tag_color_write_u64,
    },
    +#ifdef CONFIG_SCHED_DEBUG
    + /* Read the effective cookie (color+tag) of the group. */
    + {
    + .name = "core_group_cookie",
    + .flags = CFTYPE_NOT_ON_ROOT,
    + .read_u64 = cpu_core_group_cookie_read_u64,
    + },
    +#endif
    #endif
    #ifdef CONFIG_CFS_BANDWIDTH
    {
    --
    2.29.2.299.gdc1121823c-goog
    \
     
     \ /
      Last update: 2020-11-18 00:40    [W:5.072 / U:1.800 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site