[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1559552526-4317-1-git-send-email-maninder1.s@samsung.com>
Date: Mon, 3 Jun 2019 14:32:02 +0530
From: Maninder Singh <maninder1.s@...sung.com>
To: akpm@...ux-foundation.org, herbert@...dor.apana.org.au,
davem@...emloft.net, keescook@...omium.org, gustavo@...eddedor.com
Cc: joe@...ches.com, linux-crypto@...r.kernel.org,
linux-kernel@...r.kernel.org, a.sahrawat@...sung.com,
pankaj.m@...sung.com, v.narang@...sung.com,
Maninder Singh <maninder1.s@...sung.com>
Subject: [PATCH 0/4] zstd: reduce stack usage
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
Powered by blists - more mailing lists