OSwhatever wrote:
Mixing page sizes like this is usually very difficult. Fragmentation can also destroy your ability to have any 32kB page available.
A few remarks, since you always require 32kB consecutive pages, could reserve a set of them so that you always have some available?
If you don't have consecutive 32kB pages, do you have the possibility to have a fall back so that you can still use storage IO even if it becomes a little bit slower.
No, I don't have a fallback. Would it be better if the disk cache was in 4KB pages, and simply using a temporary 32KB buffer for the transfers?
Also, the perfomance is terrible: searching a tree to find a page that could be freed appears to be very ,very slow...