Hello,

this patchset introduces dynamic (on demand) zram device add-remove
functionality via /dev/zram-control interface. Two ioctl commands are
defined as of now (accessible in user-space via new zram.h header file):
-- ZRAM_CTL_ADD
        add new device (generates device_id automatically or uses provided
        device_id)
-- ZRAM_CTL_REMOVE
        remove device (by device_id)

util-linux zramctl update will be done later, after we land this patchset.


This also opens a possibility to drop some of sysfs device attrs and FOO_show()
code duplication in the future, and provide device stats/info via ioctl call
instead, providing something like (via zram.h):

        struct zram_info {
                __u64 orig_data_size;
                __u64 mem_used_total;
                __u64 max_comp_streams;

                [..]
        };


fill it under ->init_lock in zram_fill_info() (or any other name) function and
return all device stats at once back to user-space in a single syscall.

This is a long term plan, of course, but I'd like to see sysfs functions go away
in a year or so. What do you think?


Sergey Senozhatsky (8):
  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: add dynamic device add/remove functionality
  zram: return zram device_id value from zram_add()
  zram: allow automatic new zram device_id assignment
  zram: remove max_num_devices limitation
  zram: report every added and removed device

 drivers/block/zram/zram_drv.c | 326 ++++++++++++++++++++++++++++--------------
 drivers/block/zram/zram_drv.h |   6 -
 include/linux/miscdevice.h    |   1 +
 include/uapi/linux/Kbuild     |   1 +
 include/uapi/linux/zram.h     |  17 +++
 5 files changed, 238 insertions(+), 113 deletions(-)
 create mode 100644 include/uapi/linux/zram.h

-- 
2.3.1.167.g7f4ba4b

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@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 via email to