Re: recent head having significantly less "avail memory"

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Tue, 14 Sep 2021 12:36:49 UTC
On Tue, Sep 14, 2021 at 12:25:55AM +0200, Guido Falsi wrote:
> On 14/09/21 00:12, Konstantin Belousov wrote:
> > On Mon, Sep 13, 2021 at 10:07:46PM +0200, Guido Falsi wrote:
> > > On 13/09/21 19:08, Konstantin Belousov wrote:
> > > > On Mon, Sep 13, 2021 at 02:59:25PM +0200, Guido Falsi via freebsd-current wrote:
> > > > > Hi,
> > > > > 
> > > > > I updated head recently and today I noticed a difference which looks wrong.
> > > > > 
> > > > > At boodt the new head shows signifcantly less avail memory than before,
> > > > > around 3 GiB less.
> > > > > 
> > > > > I moved from commit 71fbc6faed6 [1] where I got:
> > > > > 
> > > > > Aug 28 22:03:03 marvin kernel: real memory  = 17179869184 (16384 MB)
> > > > > Aug 28 22:03:03 marvin kernel: avail memory = 16590352384 (15821 MB)
> > > > > 
> > > > > to commit 7955efd574b [2] where I get:
> > > > > 
> > > > > Sep 13 10:44:40 marvin kernel: real memory  = 17179869184 (16384 MB)
> > > > > Sep 13 10:44:40 marvin kernel: avail memory = 13298876416 (12682 MB)
> > > > > 
> > > > > I'm seeing this on multiple machines.
> > > > > 
> > > > > Unluckily bisecting and trying an older loader.efi in sseparate tests did
> > > > > not give me any more insight.
> > > > > 
> > > > > The recent changes to efi loader, starting with commit 6032b6ba9596 [3] look
> > > > > like a possible trigger to this, but I have been unable to confirm it.
> > > > > 
> > > > > Any suggesstions on how to proceed to debug thiss? ANy idea what a fix could
> > > > > be?
> > > > 
> > > > Is this UEFI or bios boot?
> > > > Provide verbose dmesg for old and new boots on the same machine.
> > > > For UEFI boot, show output of 'sysctl machdep.efi_map', again for old
> > > > and new boots.
> > > > 
> > > 
> > > I shared the data you request here:
> > > 
> > > https://www.madpilot.net/cloud/s/ENW5zF7jfmrmFeG
> > 
> > Thanks.
> > 
> > If you do on the loader prompt for the new (AKA bad) kernel
> > 	copy_staging enable
> > and then boot, does the report of avail memory becomes good?
> > 
> 
> Yes, it works as expected, that is reports the amount of memory I expect:
> 
> Sep 14 00:24:50 marvin kernel: real memory  = 17179869184 (16384 MB)
> Sep 14 00:24:50 marvin kernel: avail memory = 16590356480 (15821 MB)

Please try https://reviews.freebsd.org/D31958