lkml.org 
[lkml]   [2019]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/4] zstd: reduce stack usage
Date
This patch set reduces stack usage for zstd code, because target like ARM has
limited 8KB kernel stack, which is getting overflowed due to hight stack usage
of zstd code with call flow like:

....
....
(FSE_compress_usingCTable) from (HUF_compressWeights_wksp+0x140/0x200)
(HUF_compressWeights_wksp) from (HUF_writeCTable_wksp+0xdc/0x1c8)
(HUF_writeCTable_wksp) from (HUF_compress4X_repeat+0x214/0x450)
(HUF_compress4X_repeat) from (ZSTD_compressBlock_internal+0x228/0x135c)
(ZSTD_compressBlock_internal) from (ZSTD_compressContinue_internal+0x1f8/0x3c8)
(ZSTD_compressContinue_internal) from (ZSTD_compressCCtx+0xc0/0x1cc)
(ZSTD_compressCCtx) from (zstd_compress+0x90/0xa8)
(zstd_compress) from (crypto_compress+0x2c/0x34)
(crypto_compress) from (zcomp_compress+0x3c/0x44)
(zcomp_compress) from (zram_bvec_rw+0x2f8/0xa7c)
(zram_bvec_rw) from [<c03e1e58>] (zram_rw_page+0x104/0x170)
(zram_rw_page) from [<c01d3f94>] (bdev_write_page+0x80/0xb4)
(bdev_write_page) from [<c017dc9c>] (__swap_writepage+0x160/0x29c)
(__swap_writepage) from [<c017de14>] (swap_writepage+0x3c/0x58)
(swap_writepage) from [<c014f88c>] (shrink_page_list+0x788/0xae0)
(shrink_page_list) from [<c01502e0>] (shrink_inactive_list+0x210/0x4a8)
(shrink_inactive_list) from [<c0150dd4>] (shrink_zone+0x53c/0x7c0)
(shrink_zone) from [<c0151354>] (try_to_free_pages+0x2fc/0x7cc)
(try_to_free_pages) from [<c0144c60>] (__alloc_pages_nodemask+0x534/0x91c)
(__alloc_pages_nodemask) from [<c01393ac>] (pagecache_get_page+0xe0/0x1d8)
....
....

Maninder Singh, Vaneet Narang (4):
zstd: pass pointer rathen than structure to functions
zstd: use U16 data type for rankPos
zstd: move params structure to global variable to reduce stack
usage
zstd: change structure variable from int to char

crypto/zstd.c | 11 ++++---
include/linux/zstd.h | 16 +++++-----
lib/zstd/compress.c | 85 +++++++++++++++++++++++++------------------------
lib/zstd/decompress.c | 2 +-
lib/zstd/huf_compress.c | 4 +--
5 files changed, 62 insertions(+), 56 deletions(-)

--
2.7.4

\
 
 \ /
  Last update: 2019-06-03 11:07    [W:0.141 / U:15.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site