Skip to content
  • Pasha Tatashin's avatar
    mm: disable deferred struct page for 32-bit arches · 4cdb6f01
    Pasha Tatashin authored
    commit 889c695d upstream.
    
    Deferred struct page init is needed only on systems with large amount of
    physical memory to improve boot performance.  32-bit systems do not
    benefit from this feature.
    
    Jiri reported a problem where deferred struct pages do not work well with
    x86-32:
    
    [    0.035162] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.035725] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.036269] Initializing CPU#0
    [    0.036513] Initializing HighMem for node 0 (00036ffe:0007ffe0)
    [    0.038459] page:f6780000 is uninitialized and poisoned
    [    0.038460] raw: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
    [    0.039509] page dumped because: VM_BUG_ON_PAGE(1 && PageCompound(page))
    [    0.040038] ------------[ cut here ]------------
    [    0.040399] kernel BUG at include/linux/page-flags.h:293!
    [    0.040823] invalid opcode: 0000 [#1] SMP PTI
    [    0.041...
    4cdb6f01