• marko's avatar
    branches/zip: Implement the whole allocation algorithm of compressed pages. · 8e3e3d16
    marko authored
    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.
    8e3e3d16
buf0lru.c 30.2 KB