[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#760786: linux-image-3.14-2-kirkwood: kernel doesn't see full 1gb memory on newer Qnap TS-221 without CONFIG_HIGHMEM=y



Package: src:linux
Version: 3.14.15-2
Severity: important
Tags: patch

Dear Maintainer,

The regular 3.14-2 kernel from Debian doesn't see the full 1 Gb memory.
Internet searches seem to indicate the same problem plagues the TS-421
as well. Only recently Qnap started creating ARM devices with 1 Gb
memory, so this starts happening now.

I posted a message on the linux-kernel mailing list (subject 'ARM kirkwood: 1 Gb memory 25% unusable due to vmalloc region overlap') and Russell King replied that CONFIG_HIGHMEM=y would fix the issue.

Boot messages before, without CONFIG_HIGHMEM=y:

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.14-2-kirkwood (debian-kernel@lists.debian.org) (gcc version 4.8.3 (Debian 4.8.3-7) ) #1 Debian 3.14.15-2 (2014-08-09)
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: QNAP TS-119/TS-219
[    0.000000] Ignoring unrecognised tag 0x41000403
[    0.000000] Truncating RAM at 20000000-3fffffff to -2f7fffff (vmalloc region overlap).

This is where it happens ^^^^^^^^^^^^^

[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 194560
[    0.000000] free_area_init_node: node 0, pgdat c05af874, node_mem_map ef20b000
[    0.000000]   DMA zone: 1520 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 194560 pages, LIFO batch:31
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 193040
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/ram initrd=0xa00000,0x900000 ramdisk=34816
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 755820K/778240K available (3869K kernel code, 352K rwdata, 1412K rodata, 202K init, 417K bss, 22420K reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc053097c   (5283 kB)
[    0.000000]       .init : 0xc0531000 - 0xc0563b34   ( 203 kB)
[    0.000000]       .data : 0xc0564000 - 0xc05bc128   ( 353 kB)
[    0.000000]        .bss : 0xc05bc128 - 0xc06246c4   ( 418 kB)
[    0.000000] NR_IRQS:114

As you can see, only 755820K instead of 1 Gb is usable.

Boot messages after recompiling the Debian 3.14-2 source with CONFIG_HIGHMEM=y:

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.14.15-kirkwood (root@qnap) (gcc version 4.9.1 (Debian 4.9.1-12) ) #1 Sun Sep 7 12:36:56 CEST 2014
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: QNAP TS-119/TS-219
[    0.000000] Ignoring unrecognised tag 0x41000403
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 262144
[    0.000000] free_area_init_node: node 0, pgdat c05a78b4, node_mem_map eeffa000
[    0.000000]   DMA zone: 1520 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 194560 pages, LIFO batch:31
[    0.000000]   HighMem zone: 528 pages used for memmap
[    0.000000]   HighMem zone: 67584 pages, LIFO batch:15
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/ram initrd=0xa00000,0x900000 ramdisk=34816
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 1024056K/1048576K available (3849K kernel code, 353K rwdata, 1396K rodata, 202K init, 428K bss, 24520K reserved, 270336K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc05278a4   (5247 kB)
[    0.000000]       .init : 0xc0528000 - 0xc055aa1c   ( 203 kB)
[    0.000000]       .data : 0xc055c000 - 0xc05b4448   ( 354 kB)
[    0.000000]        .bss : 0xc05b4448 - 0xc061f5e4   ( 429 kB)
[    0.000000] NR_IRQS:114

-- Package-specific info:
** Kernel log: boot messages should be attached

** Model information
Hardware	: QNAP TS-119/TS-219
Revision	: 0000

** PCI devices:

<snip - not relevant>

** USB devices:

<snip - not relevant>

-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: armel (armv5tel)

Kernel: Linux 3.14.15-kirkwood
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages linux-image-3.14-2-kirkwood depends on:
ii  debconf [debconf-2.0]                   1.5.53
ii  initramfs-tools [linux-initramfs-tool]  0.116
ii  kmod                                    18-1
ii  linux-base                              3.5
ii  module-init-tools                       18-1

Versions of packages linux-image-3.14-2-kirkwood recommends:
ii  firmware-linux-free  3.3
ii  uboot-mkimage        2012.04.01-2

Versions of packages linux-image-3.14-2-kirkwood suggests:
pn  debian-kernel-handbook  <none>
pn  fdutils                 <none>
pn  linux-doc-3.14          <none>

Versions of packages linux-image-3.14-2-kirkwood is related to:
pn  firmware-atheros        <none>
pn  firmware-bnx2           <none>
pn  firmware-bnx2x          <none>
pn  firmware-brcm80211      <none>
pn  firmware-intelwimax     <none>
pn  firmware-ipw2x00        <none>
pn  firmware-ivtv           <none>
pn  firmware-iwlwifi        <none>
pn  firmware-libertas       <none>
pn  firmware-linux          <none>
pn  firmware-linux-nonfree  <none>
pn  firmware-myricom        <none>
pn  firmware-netxen         <none>
pn  firmware-qlogic         <none>
pn  firmware-ralink         <none>
pn  firmware-realtek        <none>
pn  xen-hypervisor          <none>

-- debconf information excluded


Reply to: