NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: wired memory leak?



>> Is this with the `modesetting' DDX driver? Because, if I use the `intel' Xorg
>> driver, all wired memory is reclaimed. The downside is that the `intel' driver
>> is old, obsolete, and crashed the kernel when I did a kernel compile while
>> watching the pretty fishies[1].
>
> All my systems uses the intel driver (AFAIK modesetting doesn't support
> multiple displays output)

Well, I'm using two screens: one 3440x1400, one 2560x1440, and it
appears that I'm using the "modesetting" driver, ref. Xorg.0.log:

[  6279.383] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[  6279.383] (--) Using wscons driver
[  6279.399] (**) modeset(0): claimed PCI slot 0@0:2:0
[  6279.399] (II) modeset(0): using default device
[  6279.399] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support

etc. etc.

That said, the kernel complains on startup with:

[     5.111777] kern.module.path=/stand/amd64/11.0/modules
[     5.175769] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[     5.254887] [drm] Driver supports precise vblank timestamp query.
[     5.327784] i915drmkms0: interrupting at msi5 vec 0 (i915drmkms0)
[     5.411777] [drm] Initialized i915 1.6.0 20200114 for i915drmkms0 on minor 0
[     5.601776] intelfb0 at i915drmkms0
[     5.644326] [drm] DRM_I915_DEBUG enabled
[     5.693262] [drm] DRM_I915_DEBUG_GEM enabled
[     5.744285] intelfb0: framebuffer at 0xe0009000, size 3440x1440, depth 32, stride 13760
[     5.761775] {drm:netbsd:intel_set_cpu_fifo_underrun_reporting+0x27b} *ERROR* uncleared fifo underrun on pipe A
[     5.884116] {drm:netbsd:intel_cpu_fifo_underrun_irq_handler+0x67} *ERROR* CPU pipe A FIFO underrun
[     7.061776] wsdisplay0 at intelfb0 kbdmux 1
[     7.111776] wsmux1: connecting to wsdisplay0
[     7.111776] wskbd0: connecting to wsdisplay0
[    18.771780] wsdisplay0: screen 1 added (default, vt100 emulation)
[    18.771780] wsdisplay0: screen 2 added (default, vt100 emulation)
[    18.771780] wsdisplay0: screen 3 added (default, vt100 emulation)
[    18.771780] wsdisplay0: screen 4 added (default, vt100 emulation)

and I initially only get the ordinary VGA/wsdisplay on the 2560x1440
display.  However, I manage to get an active X11 display on both by
doing:

xrandr --output DP-2 --off
xrandr --output DP-2 --auto
xrandr --output DP-1-8 --off
xrandr --output DP-1-8 --auto
xrandr --output DP-1-8 --right-of DP-2

in my X startup file (found to be working after having futzed around
with xrandr manually a number of times).

I'm using the built-in graphics on this CPU:

[     1.000004] cpu0: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz, id 0x306c3

But ... I'm also observing an excessive amount of "Wired" memory
on this host, which has 32GB physical memory, "top" says:

load averages:  1.46,  1.05,  2.20;               up 14+01:23:00       10:50:34
209 processes: 1 runnable, 207 sleeping, 1 on CPU
CPU states:  0.1% user,  0.0% nice,  0.1% system,  0.0% interrupt, 99.6% idle
Memory: 1787M Act, 321M Inact, 19G Wired, 263M Exec, 1550M File, 2856M Free
Swap: 32G Total, 1317M Used, 31G Free / Pools: 6457M Used / Network: 38K In, 24

It is usually running firefox, but this is with firefox killed,
and the excessive "Wired" amount persists beyond firefox running.

So... How do I figure out what is hogging the memory with its "Wired"
allocation?  There's perhaps no wonder that this machine feels
sluggish when running firefox, it certainly feels like a machine with

  32GB (physical) - 19GB ("Wired") - 6.4GB ("pools") = 6.6GB

available memory for ordinary user processes, and certainly nothing in
the vicinity of 32GB.

(While I ran firefox, the "Wired" amount was 20GB, exiting it
just made it drop to 19GB.)

"ps axuw" output shows for the X11 server:

root      3156  0.0  0.2 231404  74536 ?      Sl   19Oct26  57:17.04 /usr/X11R7/bin/X :0 -noretro -auth /home/he/.serverauth.3060 

which does not look like anything out of the ordinary.

And, yes, this is with NetBSD/amd64 11.0, using the "in-tree" X11
server.

Regards,

- Håvard


Home | Main Index | Thread Index | Old Index