3

I reinstalled a fresh debian 10 on an old x86 system with 512MB RAM (everything works ok).
Available memory is 431MB. (No graphic card plugged right now)

I don't think that that much memory was "reserved" on an old 3.x kernel

$ free -m
              total        used        free      shared  buff/cache   available
Mem:            431          59         311           4          60         355

$ cat /proc/meminfo
MemTotal:         441568 kB

There is much more in the log about memory, not sure what is relevant. I am just curious of where the lost RAM goes.

EDIT : whole dmesg

[    0.000000] Linux version 4.19.0-5-686-pae (debian-kernel@lists.debian.org) (gcc version 8.3.0 (Debian 8.3.0-7)) #1 SMP Debian 4.19.37-3 (2019-05-15)
[    0.000000] x86/fpu: x87 FPU will use FXSAVE
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000dc000-0x00000000000dffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ffff0000-0x00000000ffffffff] reserved
[    0.000000] Notice: NX (Execute Disable) protection missing in CPU!
[    0.000000] Legacy DMI 2.0 present.
[    0.000000] DMI: Micro-Star Inc. INTEL 440LX/INTEL 440LX, BIOS 0627 07/15/95
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] tsc: Detected 334.067 MHz processor
[    0.003598] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.003633] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.003684] last_pfn = 0x20000 max_arch_pfn = 0x1000000
[    0.003731] MTRR default type: uncachable
[    0.003741] MTRR fixed ranges enabled:
[    0.003758]   00000-9FFFF write-back
[    0.003773]   A0000-FFFFF uncachable
[    0.003782] MTRR variable ranges enabled:
[    0.003798]   0 base 000000000 mask FE0000000 write-back
[    0.003807]   1 disabled
[    0.003815]   2 disabled
[    0.003823]   3 disabled
[    0.003831]   4 disabled
[    0.003839]   5 disabled
[    0.003847]   6 disabled
[    0.003855]   7 disabled
[    0.007325] x86/PAT: PAT not supported by CPU.
[    0.007771] x86/PAT: Configuration [0-7]: WB  WT  UC- UC  WB  WT  UC- UC  
[    0.050001] found SMP MP-table at [mem 0x000fb250-0x000fb25f]
[    0.112510] initial memory mapped: [mem 0x00000000-0x1affffff]
[    0.112544] Base memory trampoline at [(ptrval)] 9b000 size 16384
[    0.112573] Kernel/User page tables isolation: disabled on command line.
[    0.113047] BRK [0x1ab82000, 0x1ab83fff] PGTABLE
[    0.113082] BRK [0x1ab84000, 0x1ab84fff] PGTABLE
[    0.113105] BRK [0x1ab85000, 0x1ab85fff] PGTABLE
[    0.113219] RAMDISK: [mem 0x1e40a000-0x1f885fff]
[    0.113277] 0MB HIGHMEM available.
[    0.113291] 512MB LOWMEM available.
[    0.113299]   mapped low ram: 0 - 20000000
[    0.113307]   low ram: 0 - 20000000
[    0.113367] BRK [0x1ab86000, 0x1ab86fff] PGTABLE
[    0.113399] Zone ranges:
[    0.113408]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.113425]   Normal   [mem 0x0000000001000000-0x000000001fffffff]
[    0.113440]   HighMem  empty
[    0.113451] Movable zone start for each node
[    0.113457] Early memory node ranges
[    0.113469]   node   0: [mem 0x0000000000001000-0x000000000009efff]
[    0.113480]   node   0: [mem 0x0000000000100000-0x000000001fffffff]
[    0.113496] Initmem setup node 0 [mem 0x0000000000001000-0x000000001fffffff]
[    0.113513] On node 0 totalpages: 130974
[    0.142335]   DMA zone: 40 pages used for memmap
[    0.142352]   DMA zone: 0 pages reserved
[    0.142364]   DMA zone: 3998 pages, LIFO batch:0
[    0.143743]   Normal zone: 1240 pages used for memmap
[    0.143760]   Normal zone: 126976 pages, LIFO batch:31
[    0.185825] Using APIC driver default
[    0.185978] SFI: Simple Firmware Interface v0.81 http://simplefirmware.org
[    0.194121] Intel MultiProcessor Specification v1.1
[    0.194130]     Virtual Wire compatibility mode.
[    0.194215] MPTABLE: OEM ID: MSI     
[    0.194223] MPTABLE: Product ID: 
[    0.194233] MPTABLE: APIC at: 0xFEE00000
[    0.194254] Processor #0 (Bootup-CPU)
[    0.194272] Processor #1
[    0.194367] IOAPIC[0]: apic_id 2, version 17, address 0xfec00000, GSI 0-23
[    0.194468] Processors: 2
[    0.194485] smpboot: Allowing 2 CPUs, 0 hotplug CPUs
[    0.194647] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.194669] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[    0.194679] PM: Registered nosave memory: [mem 0x000a0000-0x000dbfff]
[    0.194688] PM: Registered nosave memory: [mem 0x000dc000-0x000dffff]
[    0.194697] PM: Registered nosave memory: [mem 0x000e0000-0x000effff]
[    0.194706] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[    0.194733] [mem 0x20000000-0xfebfffff] available for PCI devices
[    0.194744] Booting paravirtualized kernel on bare hardware
[    0.194780] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
[    0.194914] random: get_random_bytes called from start_kernel+0x81/0x45f with crng_init=0
[    0.194994] setup_percpu: NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:2 nr_node_ids:1
[    0.197559] percpu: Embedded 29 pages/cpu s89932 r0 d28852 u118784
[    0.197634] pcpu-alloc: s89932 r0 d28852 u118784 alloc=29*4096
[    0.197648] pcpu-alloc: [0] 0 [0] 1 
[    0.197835] Built 1 zonelists, mobility grouping on.  Total pages: 129694
[    0.197861] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.19.0-5-686-pae root=UUID=375c43d8-1ed9-48c6-a196-9787ccb61863 ro quiet acpi=off nopti nospectre_v2 nospec_store_bypass_disable
[    0.200664] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.201381] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.201402] BRK [0x1ab87000, 0x1ab87fff] PGTABLE
[    0.201574] Initializing CPU#0
[    0.585340] Initializing HighMem for node 0 (00000000:00000000)
[    0.648160] Memory: 419336K/523896K available (6751K kernel code, 660K rwdata, 2068K rodata, 880K init, 452K bss, 104560K reserved, 0K cma-reserved, 0K highmem)
[    0.648224] virtual kernel memory layout:
                   fixmap  : 0xffd35000 - 0xfffff000   (2856 kB)
                 cpu_entry : 0xff400000 - 0xff8e1000   (4996 kB)
                   pkmap   : 0xff000000 - 0xff200000   (2048 kB)
                   vmalloc : 0xe0800000 - 0xfeffe000   ( 487 MB)
                   lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
                     .init : 0xda955000 - 0xdaa31000   ( 880 kB)
                     .data : 0xda697dd8 - 0xda945300   (2741 kB)
                     .text : 0xda000000 - 0xda697dd8   (6751 kB)
[    0.648233] Checking if this processor honours the WP bit even in supervisor mode...Ok.
[    0.649959] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.649986] ftrace: allocating 29700 entries in 59 pages
[    0.917280] rcu: Hierarchical RCU implementation.
[    0.917307] rcu:     RCU restricting CPUs from NR_CPUS=32 to nr_cpu_ids=2.
[    0.917321] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.971555] NR_IRQS: 2304, nr_irqs: 440, preallocated irqs: 16
[    0.972398] CPU 0 irqstacks, hard=(ptrval) soft=(ptrval)
[    0.973212] Console: colour dummy device 80x25
[    0.973266] console [tty0] enabled
[    0.973397] APIC: Switch to symmetric I/O mode setup
[    0.973423] Enabling APIC mode:  Flat.  Using 1 I/O APICs
[    0.973801] ExtINT not setup in hardware but reported by MP table
[    0.975451] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=0 pin2=0
[    0.993429] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x4d0bcc23f1, max_idle_ns: 440795205856 ns
[    0.993549] Calibrating delay loop (skipped), value calculated using timer frequency.. 668.13 BogoMIPS (lpj=1336268)
[    0.993579] pid_max: default: 32768 minimum: 301
[    0.994118] Security Framework initialized
[    0.994137] Yama: disabled by default; enable with sysctl kernel.yama.*
[    0.994428] AppArmor: AppArmor initialized
[    0.994682] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.994726] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.997334] mce: CPU supports 5 MCE banks
[    0.997553] Last level iTLB entries: 4KB 32, 2MB 0, 4MB 2
[    0.997567] Last level dTLB entries: 4KB 64, 2MB 0, 4MB 8, 1GB 0
[    0.997586] Speculative Store Bypass: Vulnerable
[    0.997761] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    0.998665] Freeing SMP alternatives memory: 24K
[    1.117524] smpboot: CPU0: Intel Pentium II (Deschutes) (family: 0x6, model: 0x5, stepping: 0x1)
[    1.119725] Performance Events: p6 PMU driver.
[    1.119776] ... version:                0
[    1.119785] ... bit width:              32
[    1.119791] ... generic registers:      2
[    1.119800] ... value mask:             00000000ffffffff
[    1.119808] ... max period:             000000007fffffff
[    1.119814] ... fixed-purpose events:   0
[    1.119821] ... event mask:             0000000000000003
[    1.120534] rcu: Hierarchical SRCU implementation.
[    1.126044] NMI watchdog: Enabled. Permanently consumes one hw-PMU counter.
[    1.126734] smp: Bringing up secondary CPUs ...
[    1.128629] CPU 1 irqstacks, hard=(ptrval) soft=(ptrval)
[    1.128641] x86: Booting SMP configuration:
[    1.128652] .... node  #0, CPUs:      #1
[    0.005020] Initializing CPU#1
[    0.005020] [Firmware Bug]: CPU1: APIC id mismatch. Firmware: 1 APIC: 0
[    1.214072] smp: Brought up 1 node, 2 CPUs
[    1.214072] smpboot: Max logical packages: 2
[    1.214072] smpboot: Total of 2 processors activated (1336.36 BogoMIPS)
[    1.221630] devtmpfs: initialized
[    1.225770] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    1.225808] futex hash table entries: 512 (order: 3, 32768 bytes)
[    1.226504] pinctrl core: initialized pinctrl subsystem
[    1.228901] NET: Registered protocol family 16
[    1.230743] audit: initializing netlink subsys (disabled)
[    1.231149] audit: type=2000 audit(1558406150.256:1): state=initialized audit_enabled=0 res=1
[    1.231162] cpuidle: using governor ladder
[    1.231240] cpuidle: using governor menu
[    1.234422] PCI: Using configuration type 1 for base access
[    1.249805] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    1.250780] ACPI: Interpreter disabled.
[    1.254036] vgaarb: loaded
[    1.254384] EDAC MC: Ver: 3.0.0
[    1.255121] PCI: Probing PCI hardware
[    1.255121] PCI: root bus 00: using default resources
[    1.255121] PCI: Probing PCI hardware (bus 00)
[    1.255121] PCI host bridge to bus 0000:00
[    1.255121] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    1.255121] pci_bus 0000:00: root bus resource [mem 0x00000000-0xfffffffff]
[    1.255121] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    1.255121] pci 0000:00:00.0: [8086:7180] type 00 class 0x060000
[    1.255121] pci 0000:00:00.0: reg 0x10: [mem 0xe8000000-0xebffffff pref]
[    1.257972] pci 0000:00:01.0: [8086:7181] type 01 class 0x060400
[    1.258520] pci 0000:00:07.0: [8086:7110] type 00 class 0x060100
[    1.259061] pci 0000:00:07.1: [8086:7111] type 00 class 0x010180
[    1.259161] pci 0000:00:07.1: reg 0x20: [io  0xffa0-0xffaf]
[    1.259210] pci 0000:00:07.1: legacy IDE quirk: reg 0x10: [io  0x01f0-0x01f7]
[    1.259226] pci 0000:00:07.1: legacy IDE quirk: reg 0x14: [io  0x03f6]
[    1.259242] pci 0000:00:07.1: legacy IDE quirk: reg 0x18: [io  0x0170-0x0177]
[    1.259256] pci 0000:00:07.1: legacy IDE quirk: reg 0x1c: [io  0x0376]
[    1.259693] pci 0000:00:07.2: [8086:7112] type 00 class 0x0c0300
[    1.259814] pci 0000:00:07.2: reg 0x20: [io  0xda00-0xda1f]
[    1.260284] pci 0000:00:07.3: [8086:7113] type 00 class 0x068000
[    1.260308] * Found PM-Timer Bug on the chipset. Due to workarounds for a bug,
               * this clock source is slow. Consider trying other clock sources
[    1.260473] pci 0000:00:07.3: quirk: [io  0x6100-0x613f] claimed by PIIX4 ACPI
[    1.260497] pci 0000:00:07.3: quirk: [io  0x5f00-0x5f0f] claimed by PIIX4 SMB
[    1.260979] pci 0000:00:0f.0: [13c1:1001] type 00 class 0x010400
[    1.261046] pci 0000:00:0f.0: reg 0x10: [io  0xde00-0xde0f]
[    1.261083] pci 0000:00:0f.0: reg 0x14: [mem 0xeffffff0-0xefffffff]
[    1.261118] pci 0000:00:0f.0: reg 0x18: [mem 0xef000000-0xef7fffff]
[    1.261193] pci 0000:00:0f.0: reg 0x30: [mem 0xeffe0000-0xeffeffff pref]
[    1.261282] pci 0000:00:0f.0: supports D1
[    1.261832] pci 0000:00:12.0: [8086:1026] type 00 class 0x020000
[    1.261917] pci 0000:00:12.0: reg 0x10: [mem 0xeffc0000-0xeffdffff 64bit]
[    1.261962] pci 0000:00:12.0: reg 0x18: [mem 0xeff80000-0xeffbffff 64bit]
[    1.261996] pci 0000:00:12.0: reg 0x20: [io  0xdc00-0xdc3f]
[    1.262046] pci 0000:00:12.0: reg 0x30: [mem 0xeff40000-0xeff7ffff pref]
[    1.262150] pci 0000:00:12.0: PME# supported from D0 D3hot D3cold
[    1.262701] pci_bus 0000:01: extended config space not accessible
[    1.263002] pci 0000:00:01.0: PCI bridge to [bus 01]
[    1.263028] pci 0000:00:01.0:   bridge window [io  0xc000-0xcfff]
[    1.263050] pci 0000:00:01.0:   bridge window [mem 0xeed00000-0xeedfffff]
[    1.263071] pci 0000:00:01.0:   bridge window [mem 0xe6b00000-0xe6bfffff pref]
[    1.263118] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01
[    1.263753] pci 0000:00:07.0: PIIX/ICH IRQ router [8086:7110]
[    1.263797] PCI: pci_cache_line_size set to 32 bytes
[    1.263899] e820: reserve RAM buffer [mem 0x0009fc00-0x0009ffff]
[    1.266414] clocksource: Switched to clocksource tsc-early
[    1.447210] VFS: Disk quotas dquot_6.6.0
[    1.447437] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.449141] AppArmor: AppArmor Filesystem Enabled
[    1.449344] pnp: PnP ACPI: disabled
[    1.449366] PnPBIOS: Scanning system for PnP BIOS support...
[    1.449800] PnPBIOS: Found PnP BIOS installation structure at 0x(ptrval)
[    1.449823] PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0x6dae, dseg 0xf0000
[    1.450617] pnp 00:00: [mem 0x00000000-0x0009fbff]
[    1.450638] pnp 00:00: [mem 0x0009fc00-0x0009ffff]
[    1.450655] pnp 00:00: [mem 0x000dc000-0x000dffff]
[    1.450670] pnp 00:00: [mem 0x000f0000-0x000fffff]
[    1.450687] pnp 00:00: [mem 0x00100000-0x1fffffff]
[    1.450705] pnp 00:00: [mem 0xfffffffffec00000-0xfffffffffec00fff]
[    1.450723] pnp 00:00: [mem 0xfffffffffee00000-0xfffffffffee00fff]
[    1.450741] pnp 00:00: [mem 0xffffffffffff0000-0xffffffffffffffff]
[    1.451159] system 00:00: [mem 0x00000000-0x0009fbff] could not be reserved
[    1.451184] system 00:00: [mem 0x0009fc00-0x0009ffff] could not be reserved
[    1.451206] system 00:00: [mem 0x000dc000-0x000dffff] could not be reserved
[    1.451227] system 00:00: [mem 0x000f0000-0x000fffff] could not be reserved
[    1.451247] system 00:00: [mem 0x00100000-0x1fffffff] could not be reserved
[    1.451269] system 00:00: [mem 0xfffffffffec00000-0xfffffffffec00fff] could not be reserved
[    1.451291] system 00:00: [mem 0xfffffffffee00000-0xfffffffffee00fff] could not be reserved
[    1.451313] system 00:00: [mem 0xffffffffffff0000-0xffffffffffffffff] could not be reserved
[    1.451377] system 00:00: Plug and Play BIOS device, IDs PNP0c01 (active)
[    1.451513] pnp 00:01: [io  0x0020-0x0021]
[    1.451531] pnp 00:01: [io  0x00a0-0x00a1]
[    1.451551] pnp 00:01: [irq 2]
[    1.451749] pnp 00:01: Plug and Play BIOS device, IDs PNP0000 (active)
[    1.451906] pnp 00:02: [dma 4]
[    1.451924] pnp 00:02: [io  0x0000-0x000f]
[    1.451941] pnp 00:02: [io  0x0080-0x0090]
[    1.451957] pnp 00:02: [io  0x0094-0x009f]
[    1.451974] pnp 00:02: [io  0x00c0-0x00de]
[    1.452200] pnp 00:02: Plug and Play BIOS device, IDs PNP0200 (active)
[    1.452437] pnp 00:03: [irq 0]
[    1.452457] pnp 00:03: [io  0x0040-0x0043]
[    1.452662] pnp 00:03: Plug and Play BIOS device, IDs PNP0100 (active)
[    1.452853] pnp 00:04: [irq 8]
[    1.452872] pnp 00:04: [io  0x0070-0x0071]
[    1.453068] pnp 00:04: Plug and Play BIOS device, IDs PNP0b00 (active)
[    1.453277] pnp 00:05: [irq 1]
[    1.453296] pnp 00:05: [io  0x0060]
[    1.453312] pnp 00:05: [io  0x0064]
[    1.453534] pnp 00:05: Plug and Play BIOS device, IDs PNP0303 (active)
[    1.453761] pnp 00:06: [io  0x0061]
[    1.453964] pnp 00:06: Plug and Play BIOS device, IDs PNP0800 (active)
[    1.454248] pnp 00:07: [irq 13]
[    1.454268] pnp 00:07: [io  0x00f0-0x00ff]
[    1.454468] pnp 00:07: Plug and Play BIOS device, IDs PNP0c04 (active)
[    1.454798] pnp 00:08: [io  0x6100-0x613f]
[    1.454816] pnp 00:08: [io  0x5f00-0x5f0f]
[    1.454833] pnp 00:08: [io  0x04d0-0x04d1]
[    1.454849] pnp 00:08: [io  0x0cf8-0x0cff]
[    1.454866] pnp 00:08: [io  0x0294-0x0297]
[    1.455088] pnp 00:08: Plug and Play BIOS device, IDs PNP0a03 (active)
[    1.455104] PnPBIOS: 9 nodes reported by PnP BIOS; 9 recorded by driver
[    1.483560] pci 0000:00:01.0: PCI bridge to [bus 01]
[    1.483590] pci 0000:00:01.0:   bridge window [io  0xc000-0xcfff]
[    1.483619] pci 0000:00:01.0:   bridge window [mem 0xeed00000-0xeedfffff]
[    1.483642] pci 0000:00:01.0:   bridge window [mem 0xe6b00000-0xe6bfffff pref]
[    1.483684] pci_bus 0000:00: resource 4 [io  0x0000-0xffff]
[    1.483701] pci_bus 0000:00: resource 5 [mem 0x00000000-0xfffffffff]
[    1.483719] pci_bus 0000:01: resource 0 [io  0xc000-0xcfff]
[    1.483735] pci_bus 0000:01: resource 1 [mem 0xeed00000-0xeedfffff]
[    1.483752] pci_bus 0000:01: resource 2 [mem 0xe6b00000-0xe6bfffff pref]
[    1.484194] NET: Registered protocol family 2
[    1.486277] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
[    1.486370] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    1.486499] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    1.486722] TCP: Hash tables configured (established 4096 bind 4096)
[    1.487123] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    1.487199] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    1.487734] NET: Registered protocol family 1
[    1.487803] NET: Registered protocol family 44
[    1.487854] pci 0000:00:00.0: Limiting direct PCI/PCI transfers
[    1.488032] pci 0000:00:07.2: PCI->APIC IRQ transform: INT D -> IRQ 19
[    1.488142] PCI: CLS 32 bytes, default 32
[    1.488902] Unpacking initramfs...
[    6.074902] Freeing initrd memory: 20976K
[    6.074945] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    6.074962] software IO TLB: mapped [mem 0x16000000-0x1a000000] (64MB)
[    6.082796] Initialise system trusted keyrings
[    6.082913] Key type blacklist registered
[    6.083606] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    6.105277] zbud: loaded
[    6.106749] pstore: using deflate compression
[    7.084935] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x4d0bcc23f1, max_idle_ns: 440795205856 ns
[    7.085417] clocksource: Switched to clocksource tsc
[   13.550142] Key type asymmetric registered
[   13.550166] Asymmetric key parser 'x509' registered
[   13.550341] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[   13.550843] io scheduler noop registered
[   13.550856] io scheduler deadline registered
[   13.551678] io scheduler cfq registered (default)
[   13.551693] io scheduler mq-deadline registered
[   13.553675] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[   13.553857] intel_idle: does not run on family 6 model 5
[   13.554345] isapnp: Scanning for PnP cards...
[   13.909492] isapnp: No Plug & Play device found
[   13.910403] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[   13.916097] Linux agpgart interface v0.103
[   13.917233] agpgart-intel 0000:00:00.0: Intel 440LX Chipset
[   13.931948] agpgart-intel 0000:00:00.0: AGP aperture is 64M @ 0xe8000000
[   13.933568] i8042: PNP: PS/2 Controller [PNP0303] at 0x60,0x64 irq 1
[   13.933580] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[   13.935121] serio: i8042 KBD port at 0x60,0x64 irq 1
[   13.936491] mousedev: PS/2 mouse device common for all mice
[   13.937133] rtc rtc0: invalid alarm value: 2019-5-21 22:62:30
[   13.937659] rtc_cmos 00:04: registered as rtc0
[   13.937885] rtc_cmos 00:04: alarms up to one day, 114 bytes nvram
[   13.938244] ledtrig-cpu: registered to indicate activity on CPUs
[   13.942928] NET: Registered protocol family 10
[   14.055107] Segment Routing with IPv6
[   14.055356] mip6: Mobile IPv6
[   14.055378] NET: Registered protocol family 17
[   14.055902] mpls_gso: MPLS GSO support
[   14.058256] microcode: sig=0x651, pf=0x1, revision=0x29
[   14.058821] microcode: Microcode Update Driver: v2.2.
[   14.058856] Using IPI No-Shortcut mode
[   14.058925] sched_clock: Marking stable (14057713765, 1020469)->(14183988558, -125254324)
[   14.060943] registered taskstats version 1
[   14.060953] Loading compiled-in X.509 certificates
[   15.760453] Loaded X.509 cert 'Debian Secure Boot CA: 6ccece7e4c6c0d1f6149f3dd27dfcc5cbb419ea1'
[   15.760690] Loaded X.509 cert 'Debian Secure Boot Signer: 00a7468def'
[   15.760897] zswap: loaded using pool lzo/zbud
[   15.761440] AppArmor: AppArmor sha1 policy hashing enabled
[   15.763226] rtc_cmos 00:04: setting system clock to 2019-05-21 02:36:05 UTC (1558406165)
[   15.780688] Freeing unused kernel image memory: 880K
[   15.798080] Write protecting the kernel text: 6752k
[   15.798691] Write protecting the kernel read-only data: 2076k
[   15.798752] Run /init as init process
[   16.675094] piix4_smbus 0000:00:07.3: SMBus Host Controller at 0x5f00, revision 0
[   16.812021] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
[   16.812035] e1000: Copyright (c) 1999-2006 Intel Corporation.
[   16.812295] e1000 0000:00:12.0: PCI->APIC IRQ transform: INT A -> IRQ 19
[   16.874559] SCSI subsystem initialized
[   16.918301] 3ware Storage Controller device driver for Linux v1.26.02.003.
[   16.918545] 3w-xxxx 0000:00:0f.0: PCI->APIC IRQ transform: INT A -> IRQ 17
[   16.963692] usbcore: registered new interface driver usbfs
[   16.963847] usbcore: registered new interface driver hub
[   16.964206] usbcore: registered new device driver usb
[   17.044883] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   17.100093] uhci_hcd: USB Universal Host Controller Interface driver
[   17.100429] uhci_hcd 0000:00:07.2: PCI->APIC IRQ transform: INT D -> IRQ 19
[   17.100531] uhci_hcd 0000:00:07.2: UHCI Host Controller
[   17.100597] uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
[   17.100646] uhci_hcd 0000:00:07.2: detected 2 ports
[   17.100846] uhci_hcd 0000:00:07.2: irq 19, io base 0x0000da00
[   17.112769] usb usb1: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.19
[   17.112788] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   17.112803] usb usb1: Product: UHCI Host Controller
[   17.112817] usb usb1: Manufacturer: Linux 4.19.0-5-686-pae uhci_hcd
[   17.112831] usb usb1: SerialNumber: 0000:00:07.2
[   17.117845] hub 1-0:1.0: USB hub found
[   17.117955] hub 1-0:1.0: 2 ports detected
[   17.288567] e1000 0000:00:12.0 eth0: (PCI:33MHz:32-bit) 00:04:23:e0:09:16
[   17.288626] e1000 0000:00:12.0 eth0: Intel(R) PRO/1000 Network Connection
[   17.300598] e1000 0000:00:12.0 enp0s18: renamed from eth0
[   23.253605] scsi host0: 3ware Storage Controller
[   23.260297] 3w-xxxx: scsi0: Found a 3ware Storage Controller at 0xde00, IRQ: 17.
[   23.266809] scsi 0:0:0:0: Direct-Access     3ware    Logical Disk 0   1.2  PQ: 0 ANSI: 0
[   23.389261] sd 0:0:0:0: [sda] 468862128 512-byte logical blocks: (240 GB/224 GiB)
[   23.389368] sd 0:0:0:0: [sda] Write Protect is off
[   23.389388] sd 0:0:0:0: [sda] Mode Sense: 00 00 00 00
[   23.389934] sd 0:0:0:0: [sda] Write cache: enabled, read cache: disabled, supports DPO and FUA
[   23.396290]  sda: sda1 sda2 < sda5 >
[   23.400739] sd 0:0:0:0: [sda] Attached SCSI disk
[   23.754215] PM: Image not found (code -22)
[   23.942763] random: fast init done
[   24.167537] cryptd: max_cpu_qlen set to 1000
[   24.854773] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[   25.846221] systemd[1]: Inserted module 'autofs4'
[   25.963217] systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
[   25.964788] systemd[1]: Detected architecture x86.
[   25.981252] systemd[1]: Set hostname to <crumble0>.
[   27.477851] random: systemd: uninitialized urandom read (16 bytes read)
[   27.494867] random: systemd: uninitialized urandom read (16 bytes read)
[   27.495052] systemd[1]: Reached target System Time Synchronized.
[   27.496154] random: systemd: uninitialized urandom read (16 bytes read)
[   27.497675] systemd[1]: Listening on udev Kernel Socket.
[   27.498640] systemd[1]: Listening on initctl Compatibility Named Pipe.
[   27.500200] systemd[1]: Listening on udev Control Socket.
[   27.500545] systemd[1]: Reached target Remote File Systems.
[   27.502280] systemd[1]: Listening on Syslog Socket.
[   27.503755] systemd[1]: Listening on fsck to fsckd communication Socket.
[   28.222652] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
[   28.279034] random: crng init done
[   28.279061] random: 7 urandom warning(s) missed due to ratelimiting
[   29.799983] systemd-journald[164]: Received request to flush runtime journal from PID 1
[   30.352511] sd 0:0:0:0: Attached scsi generic sg0 type 0
[   32.152329] Adding 522236k swap on /dev/sda5.  Priority:-2 extents:1 across:522236k FS
[   32.721332] IPv6: ADDRCONF(NETDEV_UP): enp0s18: link is not ready
[   32.726115] e1000: enp0s18 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[   32.726351] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s18: link becomes ready

EDIT :

$ sudo cat /proc/iomem
00000000-00000fff : Reserved
00001000-0009fbff : System RAM
0009fc00-0009ffff : Reserved
000a0000-000bffff : Video RAM area
000c8000-000c8fff : Adapter ROM
000dc000-000dffff : Reserved
000f0000-000fffff : Reserved
  000f0000-000fffff : System ROM
00100000-1fffffff : System RAM
  1a000000-1a697dd7 : Kernel code
  1a697dd8-1a9452ff : Kernel data
  1aa38000-1aaa8fff : Kernel bss
e6b00000-e6bfffff : PCI Bus 0000:01
e8000000-ebffffff : 0000:00:00.0
eed00000-eedfffff : PCI Bus 0000:01
ef000000-ef7fffff : 0000:00:0f.0
  ef000000-ef7fffff : 3w-xxxx
eff40000-eff7ffff : 0000:00:12.0
eff80000-effbffff : 0000:00:12.0
  eff80000-effbffff : e1000
effc0000-effdffff : 0000:00:12.0
  effc0000-effdffff : e1000
effe0000-effeffff : 0000:00:0f.0
effffff0-efffffff : 0000:00:0f.0
  effffff0-efffffff : 3w-xxxx
fec00000-fec00fff : Reserved
  fec00000-fec003ff : IOAPIC 0
fee00000-fee00fff : Local APIC
  fee00000-fee00fff : Reserved
ffff0000-ffffffff : Reserved
  • 4
    probably reserved for the graphical card – intika May 21 at 1:19
  • Could be (1) copy of BIOS ROM (2) in-built graphics card (e.g. Intel) (3) SMM stuff, or other things. The map comes directly from the BIOS, and the BIOS should know ... possibly the log or dmesg or /proc/... have details what it is reserved for. – dirkt May 21 at 8:55
  • i already tried to disable all "cacheable" stuff options in BIOS and "AGP aperture size". There is no integrated graphic card, very old computer : Dual Pentium II. I added the whole dmesg – Corentin May 21 at 14:14
  • only 32MB~64MB of RAM was common on Pentium II. That's why 82MB reserved doesn't make sense. (512MB is motherboard/chipset max) – Corentin May 21 at 14:59
3

The SWIOTLB is being enabled on your system. By default this reserves 64M RAM. It is only supposed to be needed if you have more than 4G RAM, and cannot use a hardware IOMMU, or if you are running under Xen virtualization without nested page tables. Congratulations. You found a bug in the kernel :-).

Either of the following boot options should work fine:

  • iommu=off - disable SWIOTLB.
  • swiotlb=1 - reduce SWIOTLB to one "slab" = 128K.

Or you can try patching the kernel source code. See below for the patch, and an explanation of the bug that it fixes :-).

Problem analysis

[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000dc000-0x00000000000dffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffffff] usable

Your physical RAM is mapped from 0-512M. We start off with the normal legacy nonsense, but that only affects the area below 1M (0x100000).

[    0.113219] RAMDISK: [mem 0x1e40a000-0x1f885fff]

The initial ramdisk occupies about 20M.

[ 0.648160] Memory: 419336K/523896K available (6751K kernel code, 660K rwdata, 2068K rodata, 880K init, 452K bss, 104560K reserved, 0K cma-reserved, 0K highmem)

But now we have 104M reserved. I think that included the initrd, which is freed later.

[    6.074902] Freeing initrd memory: 20976K

I think the bulk of the loss goes here:

[    6.074945] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    6.074962] software IO TLB: mapped [mem 0x16000000-0x1a000000] (64MB)

64M is the default size allocated for bounce buffers.

The swiotlb is a bounce-buffering mechanism used with [DMA] devices that cannot access all of a system's memory.


The swiotlb code simply allocates a large chunk of low memory early in the bootstrap process; this memory is then handed out in response to DMA allocation requests. In many cases, use of swiotlb memory involves the creation of "bounce buffers," where data is copied between the driver's buffer and the device-accessible swiotlb space. Memory used for the swiotlb is removed from the normal Linux memory management mechanism and is, thus, inaccessible for any use other than DMA buffers. For these reasons, the swiotlb is seen as, at best, inelegant.

DMA issues, part 2, LWN.net, 2004.

The strange thing about this explanation is it says swiotlb was a workaround for Intel's initial implementation of x86-64. It seems like you have fallen foul of the current delapidated state of x86-32 Linux. Maybe an oversight when Linux "unified" a lot of the x86-32 and x86-64 code?

The SWIOTLB initialization code implies it shouldn't be enabled on systems with 4GB or less... but I think it's broken :-D.

/* 4GB broken PCI/AGP hardware bus master zone */
#define MAX_DMA32_PFN ((4UL * 1024 * 1024 * 1024) >> PAGE_SHIFT)

...

 * If 4GB or more detected (and iommu=off not set) or if SME is active
 * then set swiotlb to 1 and return 1.
 */
int __init pci_swiotlb_detect_4gb(void)
{
    /* don't initialize swiotlb if iommu=off (no_iommu=1) */
    if (!no_iommu && max_possible_pfn > MAX_DMA32_PFN)
        swiotlb = 1;

The problem is 4UL * 1024 * 1024 * 1024 evaluates to 0, when building for 32-bit :-D.

The fix should be something like

arch/x86/include/asm/dma.h:
-#define MAX_DMA32_PFN ((4UL * 1024 * 1024 * 1024) >> PAGE_SHIFT)
+#define MAX_DMA32_PFN (4UL * ((1024 * 1024 * 1024) >> PAGE_SHIFT)))

I have no plan to test or submit this kernel patch. Do with this knowledge what you will.

  • "iommu=off" worked. free -m : 495. I will try editing kernel source when i got some time and eventually try to report the bug. Thanks! – Corentin May 22 at 23:39
  • I am having the same issue on a x64 Hyper-V Debian guest (linux-image-4.9.0-11-amd64) on Intel i5-9500 using 256MB RAM. Can't be only related to 32bit? What are the adverse effects of using iommu=off? – Davor Josipovic 22 hours ago
  • @DavorJosipovic I stand by my identified reason for the issue in this case, which is specific to 32-bit builds. So it cannot be exactly the same :-P. Distinguishing the reason would be assisted by a full question. I note that when I google for Hyper-V SWIOTLB, there is a patch that suggests why you might see this :-). "x86_64: enable SWIOTLB if system has SRAT memory regions above MAX_DMA32_PFN" – sourcejedi 21 hours ago

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.