Hi, On Mon, Jul 21, 2014 at 01:45:07PM +0200, Pavel Machek wrote: > Ok, so you have sped it up from O(n) to O(log(n)) speed, and increased > memory requirements from O(n) to O(n * log(n)), right?
No, new memory requirements are still ~O(n), because the additional pages needed for the index in the radix tree are outweighted by the memory saved by the smaller size of struct rtree_node compared to struct bm_block. If you want to see real numbers, here is a small tool which tells you exactly when you need more memory and how much you save with the new memory bitmap implementation: http://www.zlug.org/~joro/data/mem_req.c It will tell you that the new implementation uses at most 2 more pages for smaller RAM sizes (2 pages because 2 memory bitmaps are allocated) and will actually save pages for bigger RAM sizes (already 30 pages on a 1TB machine, 384 pages on a 12TB machine) You can also modify the above tool to give you some data to plot, then you will also SEE that there is still a linear relationship between RAM size and memory required by the old and new memory bitmap implementation. Joerg -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/