[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFyu6kjrZY6XyTGPcTpg2oTKN1BwCucLW6PWKzowpV=UOw@mail.gmail.com>
Date: Tue, 8 Jan 2013 09:38:50 -0800
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: "Kirill A. Shutemov" <kirill@...temov.name>
Cc: Hillf Danton <dhillf@...il.com>, Hugh Dickins <hughd@...gle.com>,
Dave Jones <davej@...hat.com>,
Linux Kernel <linux-kernel@...r.kernel.org>,
Andrea Arcangeli <aarcange@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Mel Gorman <mgorman@...e.de>, Linux-MM <linux-mm@...ck.org>,
Rik van Riel <riel@...hat.com>
Subject: Re: oops in copy_page_rep()
On Tue, Jan 8, 2013 at 9:30 AM, Kirill A. Shutemov <kirill@...temov.name> wrote:
>
> Check difference between patch above and merged one -- a1dd450.
> Merged patch is obviously broken: huge_pmd_set_accessed() can be called
> only if the pmd is under splitting.
Ok, that's a totally different issue, and seems to be due to different
versions (Andrew - any idea why
http://lkml.org/lkml/2012/10/25/402
and commit a1dd450bcb1a ("mm: thp: set the accessed flag for old pages
on access fault") are different?
That said, I actually think that commit a1dd450bcb1a is correct:
huge_pmd_set_accessed() can not *possibly* need to check the splitting
issue, since it takes the page table lock and re-verifies that the pmd
entry is identical, before just setting the access flags.
So that whole thing is irrelevant. huge_pmd_set_accessed() almost
certainly simply doesn't care about splitting.
But look at commit d10e63f29488. That's the one that removes
pmd_trans_splitting() entirely, and does it for the case that *does*
seem to care, namely do_huge_pmd_wp_page().
Linus
--
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