On Tue, Jul 24, 2018 at 9:12 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Tue, 24 Jul 2018 19:55:19 -0400 Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> wrote: > > > update_defer_init() should be called only when struct page is about to be > > initialized. Because it counts number of initialized struct pages, but > > there we may skip struct pages if there is some mirrored memory. > > What are the runtime effects of this error? I found this bug by reading the code. The effect is that fewer than expected struct pages are initialized early in boot, and it is possible that in some corner cases we may fail to boot when mirrored pages are used. The deferred on demand code should somewhat mitigate this. But, this still brings some inconsistencies compared to when booting without mirrored pages, so it is better to fix. Pavel