Prev: [PATCH -next] v4l2-ctrls.c: needs to include slab.h
Next: [PATCH 4/8] v5 Add mutex for add/remove of memory blocks
From: Pekka Enberg on 9 Aug 2010 14:40 On Mon, Aug 9, 2010 at 8:26 PM, Nitin Gupta <ngupta(a)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(a)vflare.org> Looks good to me (but I'm not a sysfs guy). Acked-by: Pekka Enberg <penberg(a)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(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Nitin Gupta on 9 Aug 2010 23:10
On 08/10/2010 12:04 AM, Pekka Enberg wrote: > On Mon, Aug 9, 2010 at 8:26 PM, Nitin Gupta <ngupta(a)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 >> <snip> >> >> Signed-off-by: Nitin Gupta <ngupta(a)vflare.org> > > Looks good to me (but I'm not a sysfs guy). > > Acked-by: Pekka Enberg <penberg(a)kernel.org> > Thanks! >> /* 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? > Yes, I think we could use them. Anyways, they are replaced by percpu stats in patch 3, so probably this can be left as-is. Thanks, Nitin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |