Hmm,

I used memmap=8GB!4GB as per
https://docs.pmem.io/getting-started-guide/creating-development-environments/linux-environments/linux-memmap

# cat /proc/cmdline

BOOT_IMAGE=/vmlinuz-4.9.0-8-686-pae root=UUID=xxx ro quiet memmap=8G!4G

But while the pae kernel logs look changed

[    0.000000] e820: 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 0x00000000000f0000-0x00000000000fffff]
reserved

[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000f7feffff] usable

[    0.000000] BIOS-e820: [mem 0x00000000f7ff0000-0x00000000f7ff7fff] ACPI
data

[    0.000000] BIOS-e820: [mem 0x00000000f7ff8000-0x00000000f7ffffff] ACPI
NVS

[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fecfffff]
reserved

[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff]
reserved

[    0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffbfffff]
reserved

[    0.000000] BIOS-e820: [mem 0x00000000fff80000-0x00000000ffffffff]
reserved

[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x04000000fbffffff] usable

[    0.000000] Notice: NX (Execute Disable) protection missing in CPU!

[    0.000000] e820: user-defined physical RAM map:

[    0.000000] user: [mem 0x0000000000000000-0x000000000009fbff] usable

[    0.000000] user: [mem 0x000000000009fc00-0x000000000009ffff] reserved

[    0.000000] user: [mem 0x00000000000f0000-0x00000000000fffff] reserved

[    0.000000] user: [mem 0x0000000000100000-0x00000000f7feffff] usable

[    0.000000] user: [mem 0x00000000f7ff0000-0x00000000f7ff7fff] ACPI data

[    0.000000] user: [mem 0x00000000f7ff8000-0x00000000f7ffffff] ACPI NVS

[    0.000000] user: [mem 0x00000000fec00000-0x00000000fecfffff] reserved

[    0.000000] user: [mem 0x00000000fee00000-0x00000000fee00fff] reserved

[    0.000000] user: [mem 0x00000000ffb00000-0x00000000ffbfffff] reserved

[    0.000000] user: [mem 0x00000000fff80000-0x00000000ffffffff] reserved

[    0.000000] user: [mem 0x0000000100000000-0x00000002ffffffff] persistent
(type 12)

[    0.000000] user: [mem 0x0000000300000000-0x04000000fbffffff] usable

[    0.000000] Legacy DMI 2.3 present.

I don't have any pmem* device

# ls -la /dev/*me*

crw-r----- 1 root kmem  1,  1 Feb 17 06:07 /dev/mem

crw------- 1 root root 10, 59 Feb 17 06:07 /dev/memory_bandwidth

Even after loading the module

# lsmod | grep pm

nd_pmem                16384  0

nd_btt                 24576  1 nd_pmem

libnvdimm              94208  3 nd_btt,nd_pmem,nd_e820

Does the *pmem module require some extra parameters? How can I enable
logging for it? (to see what it does/tries to do?)


Thanks again!
Ciprian

On Sun, Feb 17, 2019 at 12:27 PM Ciprian Manea <[email protected]>
wrote:

> Hi,
>
> Thank you for your quick response Ben!
>
> I'm attaching here my current kernel ouput (first pages) if any of you can
> check it out and tell me if anything seems wrong.
>
> I couldn't see in this old BIOS any settings related to memory 🤔
>
> I vaguely remember more than 5 years ago when I tried last time to use
> more than the 4GB, that I had to disable ACPI if I remember correctly,
> force some MTRR parameters and of course use a PAE kernel. Actually, the
> only thing which remotely worked was an enterprise kernel from
> CentOS/RedHat 5.x, but with those forced parameters even if the free
> command was showing 8 or 12 GB RAM, then kernel was somehow busy looping
> with "something" 30-40% of the time, under no user load.
>
>
> Thanks!
> Ciprian
>
> On Sat, Feb 16, 2019 at 10:39 PM Ben Hutchings <[email protected]>
> wrote:
>
>> On Sat, 2019-02-16 at 11:31 +0200, Ciprian Manea wrote:
>> > Hi there,
>> >
>> > I have this old server with 4x Intel Plumas (32 bit) running a
>> > recent 4.9.0-8-686-pae stock kernel
>> >
>> > And while the BIOS sees and tests 12GB of RAM, the Debian PAE enabled
>> > kernel sees only 4GB
>> >
>> > What are the PAE tricks to get to see/use more than 4GB RAM in the
>> latest
>> > Debian 9.7?
>>
>> You shouldn't need to do anything special.  At a guess, the BIOS has a
>> compatibility setting that limits the RAM size it reports to the OS,
>> and you'll need to disable that.
>>
>> If you know what you're doing, you can override the detected memory
>> size and physical addresses with the mem= and memmap= kernel
>> parameters.
>>
>> However, beware that less than 1 GiB of the 12 GiB RAM will be "lowmem"
>> (directly accessible by the kernel) and the Linux virtual memory
>> manager no longer works well with such low ratios of lowmem to total
>> RAM.
>>
>> Ben.
>>
>> --
>> Ben Hutchings
>> When in doubt, use brute force. - Ken Thompson
>>
>>
>>

Reply via email to