lkml.org 
[lkml]   [2010]   [Aug]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 01/10] Replace ioctls with sysfs interface
    From
    On Mon, Aug 9, 2010 at 8:26 PM, Nitin Gupta <ngupta@vflare.org> wrote:
    > Creates per-device sysfs nodes in /sys/block/zram<id>/
    > Currently following stats are exported:
    >  - disksize
    >  - num_reads
    >  - num_writes
    >  - invalid_io
    >  - zero_pages
    >  - orig_data_size
    >  - compr_data_size
    >  - mem_used_total
    >
    > By default, disksize is set to 0. So, to start using
    > a zram device, fist write a disksize value and then
    > initialize device by writing any positive value to
    > initstate. For example:
    >
    >        # initialize /dev/zram0 with 50MB disksize
    >        echo 50*1024*1024 | bc > /sys/block/zram0/disksize
    >        echo 1 > /sys/block/zram0/initstate
    >
    > When done using a disk, issue reset to free its memory
    > by writing any positive value to reset node:
    >
    >        echo 1 > /sys/block/zram0/reset
    >
    > This change also obviates the need for 'rzscontrol' utility.
    >
    > Signed-off-by: Nitin Gupta <ngupta@vflare.org>

    Looks good to me (but I'm not a sysfs guy).

    Acked-by: Pekka Enberg <penberg@kernel.org>

    >  /* Module params (documentation at end) */
    > -static unsigned int num_devices;
    > +unsigned int num_devices;
    > +
    > +static void zram_stat_inc(u32 *v)
    > +{
    > +       *v = *v + 1;
    > +}
    > +
    > +static void zram_stat_dec(u32 *v)
    > +{
    > +       *v = *v - 1;
    > +}
    > +
    > +static void zram_stat64_add(struct zram *zram, u64 *v, u64 inc)
    > +{
    > +       spin_lock(&zram->stat64_lock);
    > +       *v = *v + inc;
    > +       spin_unlock(&zram->stat64_lock);
    > +}
    > +
    > +static void zram_stat64_sub(struct zram *zram, u64 *v, u64 dec)
    > +{
    > +       spin_lock(&zram->stat64_lock);
    > +       *v = *v - dec;
    > +       spin_unlock(&zram->stat64_lock);
    > +}
    > +
    > +static void zram_stat64_inc(struct zram *zram, u64 *v)
    > +{
    > +       zram_stat64_add(zram, v, 1);
    > +}

    These could probably use atomic_inc(), atomic64_inc(), and friends, no?
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-08-09 20:37    [W:4.262 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site