On Sun, 19 Sep 2010, Loïc Minier wrote:
On Sat, Sep 18, 2010, Nicolas Pitre wrote:
Yet, highmem carries some small overhead of its own. So if you know that all the applications you need have a workset that always fits in a reduced address space then it is more advantageous to use a 2G:2G user:kernel split and keep highmem off.
Question: does highmem impact performance as soon as it's turned on, or only when actually using a lot of memory because the sliding window needs to move back and forth?
You get a tiny overhead as soon as you turn it on, whether or not there is sufficient memory to make it useful. Is that measurable? I doubt it.
And when actually using lots of memory, if that memory is populated through DMA (no bounce buffer required) then you may get no additional overhead. That all depends on the hardware configuration.
I'm asking because I would prefer if we were to have highmem turned on in all our kernels, even if not strictly required, as to have less divergence across SoCs, but I don't know whether there's a performance cost to it
I doubt it is measurable, but someone could bench it. A good bench would be some native compilation with many files (lots of fork()'s and IO).
Nicolas