Re: kswapd0: page allocation failure: order:0, mode:0x820(GFP_ATOMIC), nodemask=(null),cpuset=/,mems_allowed=0 (Kernel v6.5.9, 32bit ppc)

From: Yosry Ahmed
Date: Tue Jun 04 2024 - 23:04:19 EST


On Tue, Jun 4, 2024 at 2:10 PM Erhard Furtner <erhard_f@xxxxxxxxxxx> wrote:
>
> On Tue, 4 Jun 2024 11:01:39 -0700
> Yosry Ahmed <yosryahmed@xxxxxxxxxx> wrote:
>
> > How many CPUs does this machine have? I am wondering if 32 can be an
> > overkill for small machines, perhaps the number of pools should be
> > max(nr_cpus, 32)?
>
> This PowerMac G4 DP got 2 CPUs. Not much for a desktop machine by todays standards but some SoCs have less. ;)
>
> # lscpu
> Architecture: ppc
> CPU op-mode(s): 32-bit
> Byte Order: Big Endian
> CPU(s): 2
> On-line CPU(s) list: 0,1
> Model name: 7455, altivec supported
> Model: 3.3 (pvr 8001 0303)
> Thread(s) per core: 1
> Core(s) per socket: 1
> Socket(s): 2
> BogoMIPS: 83.78
> Caches (sum of all):
> L1d: 64 KiB (2 instances)
> L1i: 64 KiB (2 instances)
> L2: 512 KiB (2 instances)
> L3: 4 MiB (2 instances)
>
> Regards,
> Erhard

Could you check if the attached patch helps? It basically changes the
number of zpools from 32 to min(32, nr_cpus).

Attachment: 0001-mm-zswap-do-not-scale-the-number-of-zpools-unnecessa.patch
Description: Binary data