From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753544AbbDPXXq (ORCPT ); Thu, 16 Apr 2015 19:23:46 -0400 Received: from mail-pd0-f169.google.com ([209.85.192.169]:36521 "EHLO mail-pd0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751900AbbDPXXi (ORCPT ); Thu, 16 Apr 2015 19:23:38 -0400 Date: Fri, 17 Apr 2015 08:23:29 +0900 From: Minchan Kim To: Sergey Senozhatsky Cc: Andrew Morton , Nitin Gupta , linux-kernel@vger.kernel.org, Sergey Senozhatsky Subject: Re: [PATCHv2 00/10] cleaned up on-demand device creation Message-ID: <20150416232329.GA28196@blaptop> References: <1429185356-11096-1-git-send-email-sergey.senozhatsky@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1429185356-11096-1-git-send-email-sergey.senozhatsky@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, On Thu, Apr 16, 2015 at 08:55:46PM +0900, Sergey Senozhatsky wrote: > Hello, > > resending on-demand device creation patch set. sadly, I managed to create a > mess; so here is my take to clean it up, fold patches and, hopefully, see > them in 4.1. Thanks for handling this quickly. I acknowlege dynamic device management part but I want to review your patchset carefully one more time because you changed a lot although it's just refactoring. Really sorry for late review. It's totally my bad. Probably, I will have time to review next week so I feel it's too late to merge it into 4.1 but I think there is no urgency to merge it. > > this mess will not happen again. > > > Andrew picked up some of the commits lined up for 4.1, which required manual > editing. sorry for that inconvenience. > > > unfortunately, commit c72c6160d967ed26a0b136dbab337f821d233509 > Author: Sergey Senozhatsky > Date: Wed Apr 15 16:15:55 2015 -0700 > > zram: move compact_store() to sysfs functions area > > > ended up to be different: from a cosmetic change it has transformed into > a functional change. > > I fix it in 0001-zram-enable-compaction-support-in-zram.patch. > So Andrew, could you pick 0001 in this merge window? Without it, zram cannot use compaction feature of zsmalloc so zsmalloc's compaciton feature will be void. > > the rest is functionally identical to what we had in linux-next and mmotm for > quite some time: in linux-next since Wed Apr 8 09:44:43 2015 +1000 > (commit 273b0791dae2f0b). > > it would be nice to see it in 4.1, if possible. > > no functional change in zram_drv.c file, compared to zram_drv.c from > linux-next-20150415 (yes, actually checked). just a couple of additional > comment tweaks. > > like: > > -/* allocate and initialize new zram device. the function returns > - * '>= 0' device_id upon success, and negative value otherwise. */ > +/* > + * Allocate and initialize new zram device. the function returns > + * '>= 0' device_id upon success, and negative value otherwise. > + */ > > or > > /* > * First, make ->disksize device attr RO, closing > - * ZRAM_CTL_REMOVE vs disksize_store() race window > + * zram_remove() vs disksize_store() race window > */ > > > I also picked up the remaining part of Julia Lawall's > ("zram: fix error return code") commit. > > Documentation is identical to linux-next-20150415 version. > > > 8<------- > > We currently don't support zram on-demand device creation. The only way > to have N zram devices is to specify num_devices module parameter (default > value 1). That means that if, for some reason, at some point, user wants > to have N + 1 devies he/she must umount all the existing devices, unload > the module, load the module passing num_devices equals to N + 1. And do > this again, if needed. > > This patchset introduces zram-control sysfs class, which has two sysfs > attrs: > > - zram_add -- add a new zram device > - zram_remove -- remove a specific (device_id) zram device > > Usage example: > # add a new specific zram device > cat /sys/class/zram-control/zram_add > 1 > > # remove a specific zram device > echo 4 > /sys/class/zram-control/zram_remove > > The patchset also does some cleanups and huge code reorganization. > > > -ss > > > Sergey Senozhatsky (10): > zram: enable compaction support in zram > zram: cosmetic ZRAM_ATTR_RO code formatting tweak > zram: use idr instead of `zram_devices' array > zram: factor out device reset from reset_store() > zram: reorganize code layout > zram: remove max_num_devices limitation > zram: report every added and removed device > zram: trivial: correct flag operations comment > zram: return zram device_id value from zram_add() > zram: add dynamic device add/remove functionality > > Documentation/ABI/testing/sysfs-class-zram | 24 + > Documentation/blockdev/zram.txt | 31 +- > drivers/block/zram/zram_drv.c | 939 +++++++++++++++++------------ > drivers/block/zram/zram_drv.h | 6 - > 4 files changed, 597 insertions(+), 403 deletions(-) > create mode 100644 Documentation/ABI/testing/sysfs-class-zram > > -- > 2.4.0.rc1.29.gecc46a1 > -- Kind regards, Minchan Kim