branches/zip: Implement the whole allocation algorithm of compressed pages.
buf_LRU_free_block(): Free compressed-only pages and their descriptors with buf_buddy_free(). buf_LRU_get_free_only(): New function for returning a block from buf_pool->free if one is available. Split from buf_LRU_get_free_block(). buf_buddy_alloc_zip(): Rename from buf_buddy_alloc_low() and make static. Remove parameter "split". Always try to split. buf_buddy_free_block(): Rename to buf_buddy_block_free(). buf_buddy_block_register(): New function for registering buf_block_t objects reserved by the allocator. buf_buddy_alloc_from(): New function for allocating an object from a bigger object, and putting the unused parts on the free list. buf_buddy_alloc_clean_zip(): New function for allocating memory by replacing an unmodified compressed page. buf_buddy_alloc_low(): New function for allocating memory, either from the free lists of compressed pages, from the global free list, or from unmodified pages in the buffer pool.
Showing
Please register or sign in to comment