From e4409c8acc19e698f4d6bbc2345d33586861c54e Mon Sep 17 00:00:00 2001 From: Maninder Singh Date: Wed, 5 Jun 2019 00:02:47 +0000 Subject: [PATCH] zstd: use U16 data type for rankPos rankPos structure variables value can not be more than 512. So it can easily be declared as U16 rather than U32. It will reduce stack usage of HUF_sort from 256 bytes to 128 bytes original: e92ddbf0 push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} e24cb004 sub fp, ip, #4 e24ddc01 sub sp, sp, #256 ; 0x100 changed: e92ddbf0 push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} e24cb004 sub fp, ip, #4 e24dd080 sub sp, sp, #128 ; 0x80 Link: http://lkml.kernel.org/r/1559552526-4317-3-git-send-email-maninder1.s@samsung.com Signed-off-by: Maninder Singh Signed-off-by: Vaneet Narang Cc: Amit Sahrawat Cc: David S. Miller Cc: Gustavo A. R. Silva Cc: Herbert Xu Cc: Joe Perches Cc: Kees Cook Cc: Signed-off-by: Andrew Morton --- lib/zstd/huf_compress.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/zstd/huf_compress.c b/lib/zstd/huf_compress.c index e727812d12aad1..22031247ff9f63 100644 --- a/lib/zstd/huf_compress.c +++ b/lib/zstd/huf_compress.c @@ -382,8 +382,8 @@ static U32 HUF_setMaxHeight(nodeElt *huffNode, U32 lastNonNull, U32 maxNbBits) } typedef struct { - U32 base; - U32 curr; + U16 base; + U16 curr; } rankPos; static void HUF_sort(nodeElt *huffNode, const U32 *count, U32 maxSymbolValue)