[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFzviumvZcV4a4ddtLu5T_ibCD_Xia+7W5khY3pMQ--jUA@mail.gmail.com>
Date: Thu, 18 Jan 2018 09:28:48 -0800
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: "Luck, Tony" <tony.luck@...el.com>
Cc: "Kirill A. Shutemov" <kirill@...temov.name>,
Andrea Arcangeli <aarcange@...hat.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>,
"kirill.shutemov@...ux.intel.com" <kirill.shutemov@...ux.intel.com>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"hannes@...xchg.org" <hannes@...xchg.org>,
"iamjoonsoo.kim@....com" <iamjoonsoo.kim@....com>,
"mgorman@...hsingularity.net" <mgorman@...hsingularity.net>,
"vbabka@...e.cz" <vbabka@...e.cz>,
"mhocko@...nel.org" <mhocko@...nel.org>,
"hillf.zj@...baba-inc.com" <hillf.zj@...baba-inc.com>,
"hughd@...gle.com" <hughd@...gle.com>,
"oleg@...hat.com" <oleg@...hat.com>,
"peterz@...radead.org" <peterz@...radead.org>,
"riel@...hat.com" <riel@...hat.com>,
"srikar@...ux.vnet.ibm.com" <srikar@...ux.vnet.ibm.com>,
"vdavydov.dev@...il.com" <vdavydov.dev@...il.com>,
"mingo@...nel.org" <mingo@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"x86@...nel.org" <x86@...nel.org>
Subject: Re: [mm 4.15-rc8] Random oopses under memory pressure.
On Thu, Jan 18, 2018 at 9:26 AM, Luck, Tony <tony.luck@...el.com> wrote:
>> Both are real page. But why do you expect pages to be 64-byte alinged?
>> Both are aligned to 64-bit as they suppose to be IIUC.
>
> On a 64-bit kernel sizeof struct page == 64 (after much work by people to
> trim out excess stuff). So I thought we made sure to align the base address
> of blocks of "struct page" so that every one neatly fits into one cache line.
The bug happens on 32-bit, and a 'struct page' is not 64-byte aligned
there at all.
See my other email about the explanation of why "page1 - page2"
doesn't work when they aren't mutually aligned to the actual size of
the 'struct page'.
Linus
Powered by blists - more mailing lists