Hi Bert, On Tue, Oct 26, 2021 at 05:18:47PM -0700, Bert Schiettecatte wrote: > I have an application I'm working on where I'm using OpenGLES / EGL > and dri/drm/kms. The main loop of my application looks like the code > below. When running htop, I see that the number of minor faults > (memory) are increasing over time at a rate of about 500 per second, > due to the code below. Is this normal and something to worry about, > and is there a way to get rid of the minor faults? I'm on the rockchip > rk3288 platform. The faults do not come from my OpenGLES code.
Coincidentally, I've been looking at Panfrost on RK3288 this week as well! I'm testing it with a project that has been using the binary blob driver for several years and unfortunately Panfrost seems to use ~15% more CPU. Like you, I see a huge number of minor faults (~500/second compared with ~3/second on libmali). It seems that Panfrost is mmap'ing and munmap'ing buffers on every frame which doesn't happen when the same application is using the binary driver. I've testing Linux 5.10.76 and 5.15-rc7 along with Mesa 20.3.5, 21.1.8 and main (as of 704340f0f67) and there's no real difference in performance across any of those. Panfrost experts, is there a missed opportunity for optimisation here? Or is there something applications should be doing differently to avoid repeatedly mapping & unmapping the same buffers? Thanks, John