By nature, it's impossible to do optimal page replacement without being
prescient. Nonetheless, it is possible to spot some patterns and take
advantage of them.
Look at bzip if you need inspiration. I've seen it do a few bytes worse
occasionally, but on average it does the job about 20% better than gzip,
amazing.
> Shouldn't we encourage use of madvise(2) more? And if needed, add
> O_DROPBEHIND and similar flags for open(2).
>
> The application knows how it's going to use data/memory. It should
> tell the kernel so the kernel can choose the best algorithm.
The hooks are there but it's unlikely very many people will ever use them,
even if encouraged. Also, the kernel has information available to it that
the application programmer does not. For example, the kernel knows about the
current, system-wide load.
The ideal arrangement is for madvise to complement the kernel's automagic
heuristics. Bearing that in mind, I'll take care not to break it.
-- Daniel
-- Daniel - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/