NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/54818: 9.0_RC1 pagedaemon spins
The following reply was made to PR kern/54818; it has been noted by GNATS.
From: Havard Eidnes <he%NetBSD.org@localhost>
To: lars%paradoxon.info@localhost
Cc: gnats-bugs%netbsd.org@localhost, ad%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
netbsd-bugs%netbsd.org@localhost, tsutsui%ceres.dti.ne.jp@localhost
Subject: Re: kern/54818: 9.0_RC1 pagedaemon spins
Date: Thu, 05 Mar 2020 16:41:39 +0100 (CET)
>> buf16k 16384 1411 0 1270 241 205 36 93 1 1 0
>> buf1k 1024 2 0 2 1 0 1 1 1 1 1
>> buf2k 2048 9 0 9 5 4 1 5 1 1 1
>> buf32k 32768 223292 0 193503 92993 73624 19369 37065 1 1 0
>> buf4k 4096 491370 0 391560 491371 391560 99811 179873 1 1 1
>> buf64k 65536 4 0 0 5 0 5 5 1 1 1
>> buf8k 8192 1865 0 1613 160 128 32 63 1 1 0
>> bufpl 288 210502 0 80506 15026 0 15026 15026 0 inf 111
>
>>>>> these are very interesting:
>
> These are the quantum caches for allocation virtual address space.
>
> No 4k allocation as the direct map is used (that's expected) and most
> pools have a pool page size of 4k
> but a lot of 64k allocations with the backing pool page size 256k.
>
> That is 64*63924 4091136kb worse of allocations
> (15981 pool pages each 256k)
> and no releases at all seems like some leak to me.
>
> Does that happen when starting X?
No. It typically happens after a few days running.
> Seems to be an intel drmkms judged from the list of pools.
Correct:
i915drmkms0 at pci0 dev 2 function 0: vendor 8086 product 0412 (rev. 0x06)
drm: Memory usable by graphics device = 2048M
drm: Supports vblank timestamp caching Rev 2 (21.10.2013).
drm: Driver supports precise vblank timestamp query.
i915drmkms0: interrupting at ioapic0 pin 16 (i915)
intelfb0 at i915drmkms0
i915drmkms0: info: registered panic notifier
i915drmkms0: More than 8 outputs detected via ACPI
intelfb0: framebuffer at 0xffff80013bc7d000, size 1920x1200, depth 32, stride 7680
wsdisplay0 at intelfb0 kbdmux 1: console (default, vt100 emulation)
wsmux1: connecting to wsdisplay0
> The kmem arena is most likely a bit more than this mentioned 4g as the
> machine seems to have 16gb?
Physical ram is 16GB, yes.
> It should be the second entry of the output of "pmap 0".
Currently the first three lines from "pmap 0" is
FFFF800000000000 473672K read/write/exec [ anon ]
FFFF80001CE92000 4166220K read/write/exec [ anon ]
FFFF80011B325000 524288K read/write/exec [ pager_map ]
>> kva-12288 12288 35 0 0 2 0 2 2 0 inf 0
>> kva-16384 16384 17 0 0 2 0 2 2 0 inf 0
>> kva-20480 20480 84 0 0 7 0 7 7 0 inf 0
>> kva-24576 24576 9 0 0 1 0 1 1 0 inf 0
>> kva-28672 28672 3 0 0 1 0 1 1 0 inf 0
>> kva-32768 32768 1 0 0 1 0 1 1 0 inf 0
>> kva-36864 36864 3 0 0 1 0 1 1 0 inf 0
>> kva-40960 40960 108 0 0 18 0 18 18 0 inf 0
>> kva-49152 49152 1 0 0 1 0 1 1 0 inf 0
>> kva-65536 65536 63924 0 0 15981 0 15981 15981 0 inf 0
>> kva-8192 8192 52 0 0 2 0 2 2 0 inf 0
>
> ...
> I'm not aware of any pool that allocates from the 64k quantum cache so
> it doesn't surprise me that that pagedaemon/pool_drain
> isn't able to free anything.
Hm. I know too little about the mechanism, but having something
allocate from it and nothing to release when there's pressure
looks like a recipe for disaster.
Regards,
- Havard
Home |
Main Index |
Thread Index |
Old Index