lkml.org 
[lkml]   [2015]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: + zram-support-compaction.patch added to -mm tree
On (03/04/15 14:02), akpm@linux-foundation.org wrote:
> +What: /sys/block/zram<id>/compact
> +Date: August 2015
> +Contact: Minchan Kim <minchan@kernel.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@kernel.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;
> +}


\
 
 \ /
  Last update: 2015-03-05 06:41    [W:0.081 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site