20 Nov, 2013

2 commits

  • Further generalise the decompressors by adding a page handler
    abstraction. This adds helpers to allow the decompressors
    to access and process the output buffers in an implementation
    independant manner.

    This allows different types of output buffer to be passed
    to the decompressors, with the implementation specific
    aspects handled at decompression time, but without the
    knowledge being held in the decompressor wrapper code.

    This will allow the decompressors to handle Squashfs
    cache buffers, and page cache pages.

    This patch adds the abstraction and an implementation for
    the caches.

    Signed-off-by: Phillip Lougher
    Reviewed-by: Minchan Kim

    Phillip Lougher
     
  • Add a multi-threaded decompression implementation which uses
    percpu variables.

    Using percpu variables has advantages and disadvantages over
    implementations which do not use percpu variables.

    Advantages:
    * the nature of percpu variables ensures decompression is
    load-balanced across the multiple cores.
    * simplicity.

    Disadvantages: it limits decompression to one thread per core.

    Signed-off-by: Phillip Lougher

    Phillip Lougher