[PATCH 2/8] slub: Replace ctor field with ops field in /sys/slab/* - Kernel

This is a discussion on [PATCH 2/8] slub: Replace ctor field with ops field in /sys/slab/* - Kernel ; From: Christoph Lameter Create an ops field in /sys/slab/*/ops to contain all the operations defined on a slab. This will be used to display the additional operations that will be defined soon. Reviewed-by: Rik van Riel Signed-off-by: Christoph Lameter Signed-off-by: ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: [PATCH 2/8] slub: Replace ctor field with ops field in /sys/slab/*

  1. [PATCH 2/8] slub: Replace ctor field with ops field in /sys/slab/*

    From: Christoph Lameter

    Create an ops field in /sys/slab/*/ops to contain all the operations defined
    on a slab. This will be used to display the additional operations that will
    be defined soon.

    Reviewed-by: Rik van Riel
    Signed-off-by: Christoph Lameter
    Signed-off-by: Pekka Enberg
    ---
    mm/slub.c | 16 +++++++++-------
    1 files changed, 9 insertions(+), 7 deletions(-)

    diff --git a/mm/slub.c b/mm/slub.c
    index 1b910ab..f21ffb9 100644
    --- a/mm/slub.c
    +++ b/mm/slub.c
    @@ -3843,16 +3843,18 @@ static ssize_t order_show(struct kmem_cache *s, char *buf)
    }
    SLAB_ATTR(order);

    -static ssize_t ctor_show(struct kmem_cache *s, char *buf)
    +static ssize_t ops_show(struct kmem_cache *s, char *buf)
    {
    - if (s->ctor) {
    - int n = sprint_symbol(buf, (unsigned long)s->ctor);
    + int x = 0;

    - return n + sprintf(buf + n, "\n");
    + if (s->ctor) {
    + x += sprintf(buf + x, "ctor : ");
    + x += sprint_symbol(buf + x, (unsigned long)s->ctor);
    + x += sprintf(buf + x, "\n");
    }
    - return 0;
    + return x;
    }
    -SLAB_ATTR_RO(ctor);
    +SLAB_ATTR_RO(ops);

    static ssize_t aliases_show(struct kmem_cache *s, char *buf)
    {
    @@ -4185,7 +4187,7 @@ static struct attribute *slab_attrs[] = {
    &slabs_attr.attr,
    &partial_attr.attr,
    &cpu_slabs_attr.attr,
    - &ctor_attr.attr,
    + &ops_attr.attr,
    &aliases_attr.attr,
    &align_attr.attr,
    &sanity_checks_attr.attr,
    --
    1.5.4.3

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. Re: [PATCH 2/8] slub: Replace ctor field with ops field in /sys/slab/*

    Pekka J Enberg writes:

    > + if (s->ctor) {
    > + x += sprintf(buf + x, "ctor : ");
    > + x += sprint_symbol(buf + x, (unsigned long)s->ctor);
    > + x += sprintf(buf + x, "\n");


    How about new "%pS" like following for it? If CONFIG_KALLSYMS=n, it has
    difference though...

    x += sprintf(buf + x, "ctor : %pS\n", (unsigned long)s->ctor);
    --
    OGAWA Hirofumi
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. Re: [PATCH 2/8] slub: Replace ctor field with ops field in /sys/slab/*

    OGAWA Hirofumi writes:

    > Pekka J Enberg writes:
    >
    >> + if (s->ctor) {
    >> + x += sprintf(buf + x, "ctor : ");
    >> + x += sprint_symbol(buf + x, (unsigned long)s->ctor);
    >> + x += sprintf(buf + x, "\n");

    >
    > How about new "%pS" like following for it? If CONFIG_KALLSYMS=n, it has
    > difference though...
    >
    > x += sprintf(buf + x, "ctor : %pS\n", (unsigned long)s->ctor);


    Oops, it should be pointer.

    x += sprintf(buf + x, "ctor : %pS\n", s->ctor);
    --
    OGAWA Hirofumi
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  4. Re: [PATCH 2/8] slub: Replace ctor field with ops field in /sys/slab/*

    Hi,

    Pekka J Enberg writes:
    > > + if (s->ctor) {
    > > + x += sprintf(buf + x, "ctor : ");
    > > + x += sprint_symbol(buf + x, (unsigned long)s->ctor);
    > > + x += sprintf(buf + x, "\n");


    ´╗┐On Sun, 2008-07-20 at 02:44 +0900, OGAWA Hirofumi wrote:
    > How about new "%pS" like following for it? If CONFIG_KALLSYMS=n, it has
    > difference though...
    >
    > x += sprintf(buf + x, "ctor : %pS\n", (unsigned long)s->ctor);


    Looks good to me. I'd prefer to wait until this patchset is merged and
    do all of mm/slub.c in one go.

    Pekka

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread