From: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
To: Jerome Marchand <jmarchan@redhat.com>
Cc: Chao Yu <chao2.yu@samsung.com>,
minchan@kernel.org, ngupta@vflare.org,
linux-kernel@vger.kernel.org,
"'Sergey Senozhatsky'" <sergey.senozhatsky@gmail.com>,
"'Andrew Morton'" <akpm@linux-foundation.org>
Subject: Re: [PATCH v2] zram: fix incorrectly stat with failed_reads
Date: Wed, 13 Aug 2014 20:32:57 +0900 [thread overview]
Message-ID: <20140813113257.GA948@swordfish> (raw)
In-Reply-To: <53EB2271.1080002@redhat.com>
On (08/13/14 10:31), Jerome Marchand wrote:
> Date: Wed, 13 Aug 2014 10:31:45 +0200
> From: Jerome Marchand <jmarchan@redhat.com>
> To: Chao Yu <chao2.yu@samsung.com>, minchan@kernel.org
> CC: ngupta@vflare.org, linux-kernel@vger.kernel.org, 'Sergey Senozhatsky'
> <sergey.senozhatsky@gmail.com>, 'Andrew Morton'
> <akpm@linux-foundation.org>
> Subject: Re: [PATCH v2] zram: fix incorrectly stat with failed_reads
> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101
> Thunderbird/24.6.0
>
> On 08/13/2014 04:01 AM, Chao Yu wrote:
> > Since we allocate a temporary buffer in zram_bvec_read to handle partial page
> > operations in this commit 924bd88d703e53d30f393fac6117f8f1bc79aab6 (Staging:
> > zram: allow partial page operations), our ->failed_reads value may be incorrect
> > as we do not increase its value when failed to allocate the temporary buffer.
> >
> > Let's fix this issue and correct the annotation of failed_reads.
> >
> > v2: clean codes of failed_{reads,writes} stat pointed out by Minchan Kim, and
> > this cleanup also fix incorrectly stat when fail in zram_decompress_page.
> >
> > Signed-off-by: Chao Yu <chao2.yu@samsung.com>
>
> Acked-by: Jerome Marchand <jmarchan@redhat.com>
Acked-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
-ss
> > ---
> > drivers/block/zram/zram_drv.c | 10 +++++++---
> > drivers/block/zram/zram_drv.h | 2 +-
> > 2 files changed, 8 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
> > index dfa4024..d00831c 100644
> > --- a/drivers/block/zram/zram_drv.c
> > +++ b/drivers/block/zram/zram_drv.c
> > @@ -378,7 +378,6 @@ static int zram_decompress_page(struct zram *zram, char *mem, u32 index)
> > /* Should NEVER happen. Return bio error if it does. */
> > if (unlikely(ret)) {
> > pr_err("Decompression failed! err=%d, page=%u\n", ret, index);
> > - atomic64_inc(&zram->stats.failed_reads);
> > return ret;
> > }
> >
> > @@ -547,8 +546,6 @@ out:
> > zcomp_strm_release(zram->comp, zstrm);
> > if (is_partial_io(bvec))
> > kfree(uncmem);
> > - if (ret)
> > - atomic64_inc(&zram->stats.failed_writes);
> > return ret;
> > }
> >
> > @@ -566,6 +563,13 @@ static int zram_bvec_rw(struct zram *zram, struct bio_vec *bvec, u32 index,
> > ret = zram_bvec_write(zram, bvec, index, offset);
> > }
> >
> > + if (unlikely(ret)) {
> > + if (rw == READ)
> > + atomic64_inc(&zram->stats.failed_reads);
> > + else
> > + atomic64_inc(&zram->stats.failed_writes);
> > + }
> > +
> > return ret;
> > }
> >
> > diff --git a/drivers/block/zram/zram_drv.h b/drivers/block/zram/zram_drv.h
> > index 5b0afde..e0f725c 100644
> > --- a/drivers/block/zram/zram_drv.h
> > +++ b/drivers/block/zram/zram_drv.h
> > @@ -84,7 +84,7 @@ struct zram_stats {
> > atomic64_t compr_data_size; /* compressed size of pages stored */
> > atomic64_t num_reads; /* failed + successful */
> > atomic64_t num_writes; /* --do-- */
> > - atomic64_t failed_reads; /* should NEVER! happen */
> > + atomic64_t failed_reads; /* can happen when memory is too low */
> > atomic64_t failed_writes; /* can happen when memory is too low */
> > atomic64_t invalid_io; /* non-page-aligned I/O requests */
> > atomic64_t notify_free; /* no. of swap slot free notifications */
> >
>
>
next prev parent reply other threads:[~2014-08-13 11:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-13 2:01 [PATCH v2] zram: fix incorrectly stat with failed_reads Chao Yu
2014-08-13 8:31 ` Jerome Marchand
2014-08-13 11:32 ` Sergey Senozhatsky [this message]
2014-08-13 14:43 ` Sergey Senozhatsky
2014-08-13 14:49 ` Sergey Senozhatsky
2014-08-13 23:02 ` Minchan Kim
2014-08-14 12:54 ` Sergey Senozhatsky
2014-08-14 0:26 ` Minchan Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140813113257.GA948@swordfish \
--to=sergey.senozhatsky@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=chao2.yu@samsung.com \
--cc=jmarchan@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=minchan@kernel.org \
--cc=ngupta@vflare.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.