On Mon, Aug 9, 2010 at 8:26 PM, Nitin Gupta <ngupta@xxxxxxxxxx> 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@xxxxxxxxxx> Looks good to me (but I'm not a sysfs guy). Acked-by: Pekka Enberg <penberg@xxxxxxxxxx> > /* 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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href