15 Jan, 2014

2 commits

  • This patch modifies dm-snapshot so that it prefetches the buffers when
    loading the exceptions.

    The number of buffers read ahead is specified in the DM_PREFETCH_CHUNKS
    macro. The current value for DM_PREFETCH_CHUNKS (12) was found to
    provide the best performance on a single 15k SCSI spindle. In the
    future we may modify this default or make it configurable.

    Also, introduce the function dm_bufio_set_minimum_buffers to setup
    bufio's number of internal buffers before freeing happens. dm-bufio may
    hold more buffers if enough memory is available. There is no guarantee
    that the specified number of buffers will be available - if you need a
    guarantee, use the argument reserved_buffers for
    dm_bufio_client_create.

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Mike Snitzer

    Mikulas Patocka
     
  • Use dm-bufio for initial loading of the exceptions.
    Introduce a new function dm_bufio_forget that frees the given buffer.

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Mike Snitzer

    Mikulas Patocka
     

29 Mar, 2012

1 commit

  • This patch introduces a new function dm_bufio_prefetch. It prefetches
    the specified range of blocks into dm-bufio cache without waiting
    for i/o completion.

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Alasdair G Kergon

    Mikulas Patocka
     

01 Nov, 2011

1 commit

  • The dm-bufio interface allows you to do cached I/O on devices,
    holding recently-read blocks in memory and performing delayed writes.

    We don't use buffer cache or page cache already present in the kernel, because:
    * we need to handle block sizes larger than a page
    * we can't allocate memory to perform reads or we'd have deadlocks

    Currently, when a cache is required, we limit its size to a fraction of
    available memory. Usage can be viewed and changed in
    /sys/module/dm_bufio/parameters/ .

    The first user is thin provisioning, but more dm users are planned.

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Alasdair G Kergon

    Mikulas Patocka