[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150305052941.GK14927@swordfish>
Date: Thu, 5 Mar 2015 14:29:42 +0900
From: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
To: minchan@...nel.org
Cc: akpm@...ux-foundation.org, ddstreet@...e.org, gunho.lee@....com,
iamjoonsoo.kim@....com, jmarchan@...hat.com, juno.choi@....com,
mel@....ul.ie, ngupta@...are.org, semenzato@...gle.com,
sergey.senozhatsky@...il.com, sjennings@...iantweb.net,
mm-commits@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: + zram-support-compaction.patch added to -mm tree
On (03/04/15 14:02), akpm@...ux-foundation.org wrote:
> +What: /sys/block/zram<id>/compact
> +Date: August 2015
> +Contact: Minchan Kim <minchan@...nel.org>
> +Description:
> + The compact file is write-only and trigger compaction for
> + allocator zrm uses. The allocator moves some objects so that
> + it could free fragment space.
> +
> +What: /sys/block/zram<id>/num_migrated
> +Date: August 2015
> +Contact: Minchan Kim <minchan@...nel.org>
> +Description:
> + The compact file is read-only and shows how many object
> + migrated by compaction.
> diff -puN drivers/block/zram/zram_drv.c~zram-support-compaction drivers/block/zram/zram_drv.c
> --- a/drivers/block/zram/zram_drv.c~zram-support-compaction
> +++ a/drivers/block/zram/zram_drv.c
> @@ -70,6 +70,27 @@ static inline struct zram *dev_to_zram(s
> return (struct zram *)dev_to_disk(dev)->private_data;
> }
First of all, my apologies to Andrew Morton. if I reply to this email, my mutt for
some reason replaces akpm at linux-foundation.org with linux-kernel at vger.kernel.org
(I can't see why this is happening, but this is somehow a `stable behaviour'). I didn't
spot this, so this is why Andrew was not Cc-d to my previous reply to this eamil.
rather a discussion question.
Minchan, do you want to provide num_migrated as part of zsmalloc stats rather
than having yet another zram attr? we already provide zsmalloc stats and this
type of information seems to belong there. just idea.
-ss
>
> +static ssize_t compact_store(struct device *dev,
> + struct device_attribute *attr, const char *buf, size_t len)
> +{
> + unsigned long nr_migrated;
> + struct zram *zram = dev_to_zram(dev);
> + struct zram_meta *meta;
> +
> + down_read(&zram->init_lock);
> + if (!init_done(zram)) {
> + up_read(&zram->init_lock);
> + return -EINVAL;
> + }
> +
> + meta = zram->meta;
> + nr_migrated = zs_compact(meta->mem_pool);
> + atomic64_add(nr_migrated, &zram->stats.num_migrated);
> + up_read(&zram->init_lock);
> +
> + return len;
> +}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists