[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51A4DC5F.7050406@sr71.net>
Date: Tue, 28 May 2013 09:33:35 -0700
From: Dave Hansen <dave@...1.net>
To: "Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>
CC: Andrea Arcangeli <aarcange@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Al Viro <viro@...iv.linux.org.uk>,
Hugh Dickins <hughd@...gle.com>,
Wu Fengguang <fengguang.wu@...el.com>, Jan Kara <jack@...e.cz>,
Mel Gorman <mgorman@...e.de>, linux-mm@...ck.org,
Andi Kleen <ak@...ux.intel.com>,
Matthew Wilcox <matthew.r.wilcox@...el.com>,
"Kirill A. Shutemov" <kirill@...temov.name>,
Hillf Danton <dhillf@...il.com>, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCHv4 15/39] thp, mm: trigger bug in replace_page_cache_page()
on THP
On 05/28/2013 05:53 AM, Kirill A. Shutemov wrote:
> Dave Hansen wrote:
>> On 05/11/2013 06:23 PM, Kirill A. Shutemov wrote:
>>> + VM_BUG_ON(PageTransHuge(old));
>>> + VM_BUG_ON(PageTransHuge(new));
>>> VM_BUG_ON(!PageLocked(old));
>>> VM_BUG_ON(!PageLocked(new));
>>> VM_BUG_ON(new->mapping);
>>
>> The code calling replace_page_cache_page() has a bunch of fallback and
>> error returning code. It seems a little bit silly to bring the whole
>> machine down when you could just WARN_ONCE() and return an error code
>> like fuse already does:
>
> What about:
>
> if (WARN_ONCE(PageTransHuge(old) || PageTransHuge(new),
> "%s: unexpected huge page\n", __func__))
> return -EINVAL;
That looks sane to me. But, please do make sure to differentiate in the
error message between thp and hugetlbfs (if you have the room).
BTW, I'm also not sure you need to print the function name. The
WARN_ON() register dump usually has the function name.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists