Hello Minchan, On (05/13/16 08:41), Minchan Kim wrote: [..] will fix and update, thanks! > > @@ -719,6 +737,8 @@ compress_again: > > zcomp_strm_release(zram->comp, zstrm); > > zstrm = NULL; > > > > + atomic64_inc(&zram->stats.num_recompress); > > + > > It should be below "goto compress_again". I moved it out of goto intentionally. this second zs_malloc() handle = zs_malloc(meta->mem_pool, clen, GFP_NOIO | __GFP_HIGHMEM | __GFP_MOVABLE); can take some time to complete, which will slow down zram for a bit, and _theoretically_ this second zs_malloc() still can fail. yes, we would do the error print out pr_err("Error allocating memory ... ") and inc the `failed_writes' in zram_bvec_rw(), but zram_bvec_write() has several more error return paths that can inc the `failed_writes'. so by just looking at the stats we won't be able to tell that we had failed fast path allocation combined with failed slow path allocation (IOW, `goto recompress' never happened). so I'm thinking about changing its name to num_failed_fast_compress or num_failed_fast_write, or something similar and thus count the number of times we fell to "!handle" branch, not the number of goto-s. what do you think? or do you want it to be num_recompress specifically? > Other than that, > > Acked-by: Minchan Kim <minchan@xxxxxxxxxx> > thanks. -ss -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>