Also remove unnecessary messages. Signed-off-by: Nitin Gupta <ngupta@xxxxxxxxxx> --- drivers/staging/zram/zram_drv.c | 42 +++++++++++--------------------------- drivers/staging/zram/zram_drv.h | 2 +- 2 files changed, 13 insertions(+), 31 deletions(-) diff --git a/drivers/staging/zram/zram_drv.c b/drivers/staging/zram/zram_drv.c index 81d6c43..d7fb207 100644 --- a/drivers/staging/zram/zram_drv.c +++ b/drivers/staging/zram/zram_drv.c @@ -104,33 +104,16 @@ static int page_zero_filled(void *ptr) return 1; } -static void zram_set_disksize(struct zram *zram, size_t totalram_bytes) +static u64 zram_default_disksize_bytes(void) { - if (!zram->disksize) { - pr_info( - "disk size not provided. You can use disksize_kb module " - "param to specify size.\nUsing default: (%u%% of RAM).\n", - default_disksize_perc_ram - ); - zram->disksize = default_disksize_perc_ram * - (totalram_bytes / 100); - } - - if (zram->disksize > 2 * (totalram_bytes)) { - pr_info( - "There is little point creating a zram of greater than " - "twice the size of memory since we expect a 2:1 compression " - "ratio. Note that zram uses about 0.1%% of the size of " - "the disk when not in use so a huge zram is " - "wasteful.\n" - "\tMemory Size: %zu kB\n" - "\tSize you selected: %llu kB\n" - "Continuing anyway ...\n", - totalram_bytes >> 10, zram->disksize - ); - } - - zram->disksize &= PAGE_MASK; + return ((totalram_pages << PAGE_SHIFT) * + default_disksize_perc_ram / 100) & PAGE_MASK; +} + +static void zram_set_disksize(struct zram *zram, u64 size_bytes) +{ + zram->disksize = size_bytes; + set_capacity(zram->disk, size_bytes >> SECTOR_SHIFT); } static void zram_free_page(struct zram *zram, size_t index) @@ -632,7 +615,8 @@ int zram_init_device(struct zram *zram) return 0; } - zram_set_disksize(zram, totalram_pages << PAGE_SHIFT); + if (!zram->disksize) + zram_set_disksize(zram, zram_default_disksize_bytes()); zram->compress_workmem = kzalloc(LZO1X_MEM_COMPRESS, GFP_KERNEL); if (!zram->compress_workmem) { @@ -658,8 +642,6 @@ int zram_init_device(struct zram *zram) goto fail; } - set_capacity(zram->disk, zram->disksize >> SECTOR_SHIFT); - /* zram devices sort of resembles non-rotational disks */ queue_flag_set_unlocked(QUEUE_FLAG_NONROT, zram->disk->queue); @@ -735,7 +717,7 @@ static int create_device(struct zram *zram, int device_id) snprintf(zram->disk->disk_name, 16, "zram%d", device_id); /* Actual capacity set using syfs (/sys/block/zram<id>/disksize */ - set_capacity(zram->disk, 0); + zram_set_disksize(zram, 0); /* * To ensure that we always get PAGE_SIZE aligned diff --git a/drivers/staging/zram/zram_drv.h b/drivers/staging/zram/zram_drv.h index 59b01d6..83e774c 100644 --- a/drivers/staging/zram/zram_drv.h +++ b/drivers/staging/zram/zram_drv.h @@ -47,7 +47,7 @@ static const unsigned default_disksize_perc_ram = 25; * Pages that compress to size greater than this are stored * uncompressed in memory. */ -static const unsigned max_zpage_size = PAGE_SIZE / 4 * 3; +static const u64 max_zpage_size = PAGE_SIZE / 4 * 3; /* * NOTE: max_zpage_size must be less than or equal to: -- 1.7.6 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel