Lines Matching +full:multi +full:- +full:threaded
1 // SPDX-License-Identifier: GPL-2.0-only
18 * This file implements multi-threaded decompression using percpu
36 return ERR_PTR(-ENOMEM); in squashfs_decompressor_create()
40 stream->stream = msblk->decompressor->init(msblk, comp_opts); in squashfs_decompressor_create()
41 if (IS_ERR(stream->stream)) { in squashfs_decompressor_create()
42 err = PTR_ERR(stream->stream); in squashfs_decompressor_create()
45 local_lock_init(&stream->lock); in squashfs_decompressor_create()
54 if (!IS_ERR_OR_NULL(stream->stream)) in squashfs_decompressor_create()
55 msblk->decompressor->free(stream->stream); in squashfs_decompressor_create()
64 (void __percpu *)(unsigned long) msblk->stream; in squashfs_decompressor_destroy()
68 if (msblk->stream) { in squashfs_decompressor_destroy()
71 msblk->decompressor->free(stream->stream); in squashfs_decompressor_destroy()
82 (void __percpu *)(unsigned long) msblk->stream; in squashfs_decompress()
85 local_lock(&percpu->lock); in squashfs_decompress()
88 res = msblk->decompressor->decompress(msblk, stream->stream, bio, in squashfs_decompress()
91 local_unlock(&percpu->lock); in squashfs_decompress()
95 msblk->decompressor->name); in squashfs_decompress()