Re: Can not build kernel on 1GB VM *Solved*
- Reply: Michael Wayne : "Re: Can not build kernel on 1GB VM *Solved*"
- In reply to: Tijl Coosemans : "Re: Can not build kernel on 1GB VM *Solved*"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 09 May 2022 16:45:28 UTC
On Wed, Apr 20, 2022 at 11:12:29AM +0200, T??l Coosemans wrote:
> On Mon, 18 Apr 2022 13:33:33 -0400 Michael Wayne <freebsd07@wayne47.com>
> wrote:
> > On Fri, Apr 15, 2022 at 01:49:53PM -0400, Michael Wayne wrote:
> >> I have a VM with 1GB RAM running FreeBSD 12.1-RELEASE-p3
> >>
> >> I'm trying to upgrade the machine to 12.3 and having swap failures.
> >
> > I tried a number of things, all of which failed.
> >
> > Since the offending line is:
> >
> >> ctfmerge -L VERSION -g -o kernel.full ...
> >
> > I went digging through makefiles and found:
> > MK_CTF=no
> >
> > Adding this to the command line permitted the build to complete and
> > the machine is now running on the new kernel. Hopefully this helps
> > others. I'm still not sure why the kernel refused to use swap but
> > this is a very easy to duplicate issue.
>
> How many CPU cores does the VM have?
I believe only 1:
CPU: Intel Core Processor (Broadwell, no TSX, IBRS) (2394.51-MHz K8-class CPU)
Origin="GenuineIntel" Id=0x306d2 Family=0x6 Model=0x3d Stepping=2
Features=0x783fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2>
Features2=0xfffa3203<SSE3,PCLMULQDQ,SSSE3,FMA,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND,HV>
AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
AMD Features2=0x21<LAHF,ABM>
Structured Extended Features=0x7a9<FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID>
Structured Extended Features3=0x84000000<IBPB,SSBD>
XSAVE Features=0x1<XSAVEOPT>
Hypervisor: Origin = "KVMKVMKVM"
real memory = 1073741824 (1024 MB)
avail memory = 1001181184 (954 MB)
> Can you still reproduce it now that you run 12.3?
Yes. It persists.
> If so, can you try the attached patch? It prevents background
Building now.
> laundering when nfreed == 0, restoring some behaviour from before
> https://cgit.freebsd.org/src/commit/?id=c098768e4dad and
> https://cgit.freebsd.org/src/commit/?id=60684862588f.
> diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
> index 36d5f3275800..df827af3075f 100644
> --- a/sys/vm/vm_pageout.c
> +++ b/sys/vm/vm_pageout.c
> @@ -1069,7 +1069,7 @@ vm_pageout_laundry_worker(void *arg)
> nclean = vmd->vmd_free_count +
> vmd->vmd_pagequeues[PQ_INACTIVE].pq_cnt;
> ndirty = vmd->vmd_pagequeues[PQ_LAUNDRY].pq_cnt;
> - if (target == 0 && ndirty * isqrt(howmany(nfreed + 1,
> + if (target == 0 && ndirty * isqrt(howmany(nfreed,
> vmd->vmd_free_target - vmd->vmd_free_min)) >= nclean) {
> target = vmd->vmd_background_launder_target;
> }