Skip to content
  • Roman Pen's avatar
    mm/vmalloc: get rid of dirty bitmap inside vmap_block structure · 7d61bfe8
    Roman Pen authored
    In original implementation of vm_map_ram made by Nick Piggin there were
    two bitmaps: alloc_map and dirty_map.  None of them were used as supposed
    to be: finding a suitable free hole for next allocation in block.
    vm_map_ram allocates space sequentially in block and on free call marks
    pages as dirty, so freed space can't be reused anymore.
    
    Actually it would be very interesting to know the real meaning of those
    bitmaps, maybe implementation was incomplete, etc.
    
    But long time ago Zhang Yanfei removed alloc_map by these two commits:
    
      mm/vmalloc.c: remove dead code in vb_alloc
         3fcd76e8
      mm/vmalloc.c: remove alloc_map from vmap_block
         b8e748b6
    
    In this patch I replaced dirty_map with two range variables: dirty min and
    max.  These variables store minimum and maximum position of dirty space in
    a block, since we need only to know the dirty range, not exact position of
    dirty p...
    7d61bfe8