From: Chen Gang <gang.chen.5i5j@gmail.com>
To: James Hogan <james.hogan@imgtec.com>
Cc: Seth Jennings <sjenning@linux.vnet.ibm.com>,
linux-mm@kvack.org,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] mm/zswap.c: add BUG() for default case in zswap_writeback_entry()
Date: Mon, 09 Dec 2013 19:21:25 +0800 [thread overview]
Message-ID: <52A5A7B5.2040904@gmail.com> (raw)
In-Reply-To: <52A5990E.2080808@imgtec.com>
[-- Attachment #1: Type: text/plain, Size: 1656 bytes --]
On 12/09/2013 06:18 PM, James Hogan wrote:
> On 09/12/13 10:11, Chen Gang wrote:
>>> Since the metag compiler is stuck on an old version (gcc 4.2.4), which
>>> is wrong to warn in this case, and newer versions of gcc don't appear to
>>> warn about it anyway (I just checked with gcc 4.7.2 x86_64), I have no
>>> objection to this warning remaining in the metag build.
>>>
>>
>> Do you try "EXTRA_CFLAGS=-W" with gcc 4.7.2? I guess it will report the
>> warning too, I don't feel the compiler is smart enough (except it lets
>> the long function zswap_get_swap_cache_page really inline) :-)
>
> EXTRA_CFLAGS=-W on gcc 4.7.2 gives me plenty of pointless unused
> parameter warnings when compiling mm/zswap.o, but not the warning you're
> trying to silence.
>
Yeah, it will generate plenty of pointless warnings, although we still
can often find valuable bugs in these warnings.
Oh, I tried gcc 4.6.3-2 rhel version, get the same result as yours (do
not report warning), but for me, it is still a compiler's bug, it
*should* report a warning for it, we can try below:
- modify zswap_get_swap_cache_page() to let it may return another value
(one sample modification is in attachment)
- compile again, it doesn't report related warning, either
- in this case, it *should* report related warning.
Could you help to try it under gcc 4.7.2, thanks?
BTW: gcc really exists some bugs about uninitialized variable, e.g.
one known bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18501
kernel related: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57856
Thanks.
--
Chen Gang
Open, share, and attitude like air, water and life which God blessed
[-- Attachment #2: diff.patch --]
[-- Type: text/x-patch, Size: 345 bytes --]
diff --git a/mm/zswap.c b/mm/zswap.c
index 5a63f78..1853ef4 100644
--- a/mm/zswap.c
+++ b/mm/zswap.c
@@ -469,8 +469,7 @@ static int zswap_get_swap_cache_page(swp_entry_t entry,
*/
err = radix_tree_preload(GFP_KERNEL);
if (err)
- break;
-
+ return -4;
/*
* Swap entry may have been freed since our caller observed it.
*/
next prev parent reply other threads:[~2013-12-09 11:19 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-09 2:51 [PATCH] mm/zswap.c: add BUG() for default case in zswap_writeback_entry() Chen Gang
2013-12-09 9:54 ` James Hogan
2013-12-09 10:11 ` Chen Gang
2013-12-09 10:18 ` James Hogan
2013-12-09 11:21 ` Chen Gang [this message]
2013-12-09 11:40 ` James Hogan
2013-12-09 13:34 ` Chen Gang
2013-12-09 15:36 ` Seth Jennings
2013-12-10 2:16 ` Chen Gang
2013-12-11 2:11 ` [PATCH v2] " Chen Gang
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=52A5A7B5.2040904@gmail.com \
--to=gang.chen.5i5j@gmail.com \
--cc=james.hogan@imgtec.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=sjenning@linux.vnet.ibm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).