mirror of
				https://github.com/facebook/zstd.git
				synced 2025-11-04 00:02:59 -05:00 
			
		
		
		
	* Reduce stack usage of many zstd functions, none use over 388 B anymore. * Remove an incorrect `const` in `xxhash`.
		
			
				
	
	
		
			97 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 8bc9a0ae5c86a6d02d9a5274b9965ddac0e8d330 Mon Sep 17 00:00:00 2001
 | 
						|
From: Nick Terrell <terrelln@fb.com>
 | 
						|
Date: Wed, 28 Jun 2017 22:00:00 -0700
 | 
						|
Subject: [PATCH v2 0/4] Add xxhash and zstd modules
 | 
						|
 | 
						|
Hi all,
 | 
						|
 | 
						|
This patch set adds xxhash, zstd compression, and zstd decompression
 | 
						|
modules. It also adds zstd support to BtrFS and SquashFS.
 | 
						|
 | 
						|
Each patch has relevant summaries, benchmarks, and tests.
 | 
						|
 | 
						|
Best,
 | 
						|
Nick Terrell
 | 
						|
 | 
						|
Changelog:
 | 
						|
 | 
						|
v1 -> v2:
 | 
						|
- Make pointer in lib/xxhash.c:394 non-const (1/4)
 | 
						|
- Use div_u64() for division of u64s (2/4)
 | 
						|
- Reduce stack usage of ZSTD_compressSequences(), ZSTD_buildSeqTable(),
 | 
						|
  ZSTD_decompressSequencesLong(), FSE_buildDTable(), FSE_decompress_wksp(),
 | 
						|
  HUF_writeCTable(), HUF_readStats(), HUF_readCTable(),
 | 
						|
  HUF_compressWeights(), HUF_readDTableX2(), and HUF_readDTableX4() (2/4)
 | 
						|
- No zstd function uses more than 400 B of stack space (2/4)
 | 
						|
 | 
						|
Nick Terrell (4):
 | 
						|
  lib: Add xxhash module
 | 
						|
  lib: Add zstd modules
 | 
						|
  btrfs: Add zstd support
 | 
						|
  squashfs: Add zstd support
 | 
						|
 | 
						|
 fs/btrfs/Kconfig           |    2 +
 | 
						|
 fs/btrfs/Makefile          |    2 +-
 | 
						|
 fs/btrfs/compression.c     |    1 +
 | 
						|
 fs/btrfs/compression.h     |    6 +-
 | 
						|
 fs/btrfs/ctree.h           |    1 +
 | 
						|
 fs/btrfs/disk-io.c         |    2 +
 | 
						|
 fs/btrfs/ioctl.c           |    6 +-
 | 
						|
 fs/btrfs/props.c           |    6 +
 | 
						|
 fs/btrfs/super.c           |   12 +-
 | 
						|
 fs/btrfs/sysfs.c           |    2 +
 | 
						|
 fs/btrfs/zstd.c            |  433 ++++++
 | 
						|
 fs/squashfs/Kconfig        |   14 +
 | 
						|
 fs/squashfs/Makefile       |    1 +
 | 
						|
 fs/squashfs/decompressor.c |    7 +
 | 
						|
 fs/squashfs/decompressor.h |    4 +
 | 
						|
 fs/squashfs/squashfs_fs.h  |    1 +
 | 
						|
 fs/squashfs/zstd_wrapper.c |  150 ++
 | 
						|
 include/linux/xxhash.h     |  236 +++
 | 
						|
 include/linux/zstd.h       | 1157 +++++++++++++++
 | 
						|
 include/uapi/linux/btrfs.h |    8 +-
 | 
						|
 lib/Kconfig                |   11 +
 | 
						|
 lib/Makefile               |    3 +
 | 
						|
 lib/xxhash.c               |  500 +++++++
 | 
						|
 lib/zstd/Makefile          |   18 +
 | 
						|
 lib/zstd/bitstream.h       |  374 +++++
 | 
						|
 lib/zstd/compress.c        | 3479 ++++++++++++++++++++++++++++++++++++++++++++
 | 
						|
 lib/zstd/decompress.c      | 2526 ++++++++++++++++++++++++++++++++
 | 
						|
 lib/zstd/entropy_common.c  |  243 ++++
 | 
						|
 lib/zstd/error_private.h   |   53 +
 | 
						|
 lib/zstd/fse.h             |  575 ++++++++
 | 
						|
 lib/zstd/fse_compress.c    |  795 ++++++++++
 | 
						|
 lib/zstd/fse_decompress.c  |  332 +++++
 | 
						|
 lib/zstd/huf.h             |  212 +++
 | 
						|
 lib/zstd/huf_compress.c    |  771 ++++++++++
 | 
						|
 lib/zstd/huf_decompress.c  |  960 ++++++++++++
 | 
						|
 lib/zstd/mem.h             |  151 ++
 | 
						|
 lib/zstd/zstd_common.c     |   75 +
 | 
						|
 lib/zstd/zstd_internal.h   |  269 ++++
 | 
						|
 lib/zstd/zstd_opt.h        | 1014 +++++++++++++
 | 
						|
 39 files changed, 14400 insertions(+), 12 deletions(-)
 | 
						|
 create mode 100644 fs/btrfs/zstd.c
 | 
						|
 create mode 100644 fs/squashfs/zstd_wrapper.c
 | 
						|
 create mode 100644 include/linux/xxhash.h
 | 
						|
 create mode 100644 include/linux/zstd.h
 | 
						|
 create mode 100644 lib/xxhash.c
 | 
						|
 create mode 100644 lib/zstd/Makefile
 | 
						|
 create mode 100644 lib/zstd/bitstream.h
 | 
						|
 create mode 100644 lib/zstd/compress.c
 | 
						|
 create mode 100644 lib/zstd/decompress.c
 | 
						|
 create mode 100644 lib/zstd/entropy_common.c
 | 
						|
 create mode 100644 lib/zstd/error_private.h
 | 
						|
 create mode 100644 lib/zstd/fse.h
 | 
						|
 create mode 100644 lib/zstd/fse_compress.c
 | 
						|
 create mode 100644 lib/zstd/fse_decompress.c
 | 
						|
 create mode 100644 lib/zstd/huf.h
 | 
						|
 create mode 100644 lib/zstd/huf_compress.c
 | 
						|
 create mode 100644 lib/zstd/huf_decompress.c
 | 
						|
 create mode 100644 lib/zstd/mem.h
 | 
						|
 create mode 100644 lib/zstd/zstd_common.c
 | 
						|
 create mode 100644 lib/zstd/zstd_internal.h
 | 
						|
 create mode 100644 lib/zstd/zstd_opt.h
 | 
						|
 | 
						|
--
 | 
						|
2.9.3
 |