* [PATCH v2] kbuild: Enable armthumb BCJ filter for Thumb-2 kernel
@ 2021-11-20 3:42 Jubin Zhong
2021-11-21 21:37 ` Lasse Collin
0 siblings, 1 reply; 6+ messages in thread
From: Jubin Zhong @ 2021-11-20 3:42 UTC (permalink / raw)
To: lasse.collin, akpm; +Cc: wangfangpeng1, liaohua4, zhongjubin, linux-kernel
xz_wrap.sh use $SRCARCH to detect the BCJ filter. However, assigning
arm BCJ filter to Thumb-2 kernel is not optimal. In my case, about 5%
decrease of image size is observed with armthumb BCJ filter:
Test results:
hardware: QEMU emulator version 3.1.0
config: vexpress_defconfig with THUMB2_KERNEL & KERNEL_XZ on
arm BCJ: 4029808
armthumb BCJ: 3827280
Choose armthumb BCJ filter for Thumb-2 kernel to make smaller images.
Signed-off-by: Jubin Zhong <zhongjubin@huawei.com>
----
v1:
https://lore.kernel.org/lkml/1637323647-19988-1-git-send-email-zhongjubin@huawei.com/
---
lib/decompress_unxz.c | 6 +++++-
scripts/xz_wrap.sh | 6 ++++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/lib/decompress_unxz.c b/lib/decompress_unxz.c
index 9f4262e..9d9cb48 100644
--- a/lib/decompress_unxz.c
+++ b/lib/decompress_unxz.c
@@ -129,7 +129,11 @@
# define XZ_DEC_POWERPC
#endif
#ifdef CONFIG_ARM
-# define XZ_DEC_ARM
+# ifdef CONFIG_THUMB2_KERNEL
+# define XZ_DEC_ARMTHUMB
+# else
+# define XZ_DEC_ARM
+# endif
#endif
#ifdef CONFIG_IA64
# define XZ_DEC_IA64
diff --git a/scripts/xz_wrap.sh b/scripts/xz_wrap.sh
index 76e9cbc..3824fdf 100755
--- a/scripts/xz_wrap.sh
+++ b/scripts/xz_wrap.sh
@@ -9,6 +9,8 @@
# You can do whatever you want with this file.
#
+. include/config/auto.conf
+
BCJ=
LZMA2OPTS=
@@ -20,4 +22,8 @@ case $SRCARCH in
sparc) BCJ=--sparc ;;
esac
+if [ -n "${CONFIG_THUMB2_KERNEL}" ]; then
+ BCJ=--armthumb
+fi
+
exec $XZ --check=crc32 $BCJ --lzma2=$LZMA2OPTS,dict=32MiB
--
1.8.5.6
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2] kbuild: Enable armthumb BCJ filter for Thumb-2 kernel
2021-11-20 3:42 [PATCH v2] kbuild: Enable armthumb BCJ filter for Thumb-2 kernel Jubin Zhong
@ 2021-11-21 21:37 ` Lasse Collin
2022-03-21 3:40 ` Jubin Zhong
0 siblings, 1 reply; 6+ messages in thread
From: Lasse Collin @ 2021-11-21 21:37 UTC (permalink / raw)
To: Jubin Zhong; +Cc: akpm, wangfangpeng1, liaohua4, linux-kernel
On 2021-11-20 Jubin Zhong wrote:
> xz_wrap.sh use $SRCARCH to detect the BCJ filter. However, assigning
> arm BCJ filter to Thumb-2 kernel is not optimal. In my case, about 5%
> decrease of image size is observed with armthumb BCJ filter:
>
> Test results:
> hardware: QEMU emulator version 3.1.0
> config: vexpress_defconfig with THUMB2_KERNEL & KERNEL_XZ on
> arm BCJ: 4029808
> armthumb BCJ: 3827280
>
> Choose armthumb BCJ filter for Thumb-2 kernel to make smaller images.
>
> Signed-off-by: Jubin Zhong <zhongjubin@huawei.com>
I still didn't test it but it looks good to me.
Acked-by: Lasse Collin <lasse.collin@tukaani.org>
--
Lasse Collin
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Re: [PATCH v2] kbuild: Enable armthumb BCJ filter for Thumb-2 kernel
2021-11-21 21:37 ` Lasse Collin
@ 2022-03-21 3:40 ` Jubin Zhong
2022-03-26 18:35 ` Lasse Collin
0 siblings, 1 reply; 6+ messages in thread
From: Jubin Zhong @ 2022-03-21 3:40 UTC (permalink / raw)
To: lasse.collin; +Cc: akpm, liaohua4, linux-kernel, wangfangpeng1, zhongjubin
>On 2021-11-20 Jubin Zhong wrote:
>> xz_wrap.sh use $SRCARCH to detect the BCJ filter. However, assigning
>> arm BCJ filter to Thumb-2 kernel is not optimal. In my case, about 5%
>> decrease of image size is observed with armthumb BCJ filter:
>>
>> Test results:
>> hardware: QEMU emulator version 3.1.0
>> config: vexpress_defconfig with THUMB2_KERNEL & KERNEL_XZ on
>> arm BCJ: 4029808
>> armthumb BCJ: 3827280
>>
>> Choose armthumb BCJ filter for Thumb-2 kernel to make smaller images.
>>
>> Signed-off-by: Jubin Zhong <zhongjubin@huawei.com>
>I still didn't test it but it looks good to me.
Hi, this patch is not accepted into the kernel mainline yet.
Please let me know if there is any problem with the patch, thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] kbuild: Enable armthumb BCJ filter for Thumb-2 kernel
2022-03-21 3:40 ` Jubin Zhong
@ 2022-03-26 18:35 ` Lasse Collin
2022-03-28 2:48 ` [PATCH v2 RESEND] " Jubin Zhong
0 siblings, 1 reply; 6+ messages in thread
From: Lasse Collin @ 2022-03-26 18:35 UTC (permalink / raw)
To: Jubin Zhong; +Cc: akpm, liaohua4, linux-kernel, wangfangpeng1
On 2022-03-21 Jubin Zhong wrote:
> >On 2021-11-20 Jubin Zhong wrote:
> >> xz_wrap.sh use $SRCARCH to detect the BCJ filter. However,
> >> assigning arm BCJ filter to Thumb-2 kernel is not optimal. In my
> >> case, about 5% decrease of image size is observed with armthumb
> >> BCJ filter:
> >>
> >> Test results:
> >> hardware: QEMU emulator version 3.1.0
> >> config: vexpress_defconfig with THUMB2_KERNEL & KERNEL_XZ
> >> on
> >> arm BCJ: 4029808
> >> armthumb BCJ: 3827280
> >>
> >> Choose armthumb BCJ filter for Thumb-2 kernel to make smaller
> >> images.
> >>
> >> Signed-off-by: Jubin Zhong <zhongjubin@huawei.com>
>
> >I still didn't test it but it looks good to me.
>
> Hi, this patch is not accepted into the kernel mainline yet.
> Please let me know if there is any problem with the patch, thanks.
I see no replies and don't know what could be wrong. So perhaps you
could resend it with my Acked-by.
--
Lasse Collin
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 RESEND] kbuild: Enable armthumb BCJ filter for Thumb-2 kernel
2022-03-26 18:35 ` Lasse Collin
@ 2022-03-28 2:48 ` Jubin Zhong
2022-04-02 8:35 ` Jubin Zhong
0 siblings, 1 reply; 6+ messages in thread
From: Jubin Zhong @ 2022-03-28 2:48 UTC (permalink / raw)
To: lasse.collin, linux
Cc: akpm, linux-kernel, linux-arm-kernel, liaohua4, wangfangpeng1,
zhongjubin, nixiaoming
xz_wrap.sh use $SRCARCH to detect the BCJ filter. However, assigning
arm BCJ filter to Thumb-2 kernel is not optimal. In my case, about 5%
decrease of image size is observed with armthumb BCJ filter:
Test results:
hardware: QEMU emulator version 3.1.0
config: vexpress_defconfig with THUMB2_KERNEL & KERNEL_XZ on
arm BCJ: 4029808
armthumb BCJ: 3827280
Choose armthumb BCJ filter for Thumb-2 kernel to make smaller images.
Signed-off-by: Jubin Zhong <zhongjubin@huawei.com>
Acked-by: Lasse Collin <lasse.collin@tukaani.org>
----
v1:
https://lore.kernel.org/lkml/1637323647-19988-1-git-send-email-zhongjubin@huawei.com/
---
lib/decompress_unxz.c | 6 +++++-
scripts/xz_wrap.sh | 6 ++++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/lib/decompress_unxz.c b/lib/decompress_unxz.c
index 9f4262e..9d9cb48 100644
--- a/lib/decompress_unxz.c
+++ b/lib/decompress_unxz.c
@@ -129,7 +129,11 @@
# define XZ_DEC_POWERPC
#endif
#ifdef CONFIG_ARM
-# define XZ_DEC_ARM
+# ifdef CONFIG_THUMB2_KERNEL
+# define XZ_DEC_ARMTHUMB
+# else
+# define XZ_DEC_ARM
+# endif
#endif
#ifdef CONFIG_IA64
# define XZ_DEC_IA64
diff --git a/scripts/xz_wrap.sh b/scripts/xz_wrap.sh
index 76e9cbc..3824fdf 100755
--- a/scripts/xz_wrap.sh
+++ b/scripts/xz_wrap.sh
@@ -9,6 +9,8 @@
# You can do whatever you want with this file.
#
+. include/config/auto.conf
+
BCJ=
LZMA2OPTS=
@@ -20,4 +22,8 @@ case $SRCARCH in
sparc) BCJ=--sparc ;;
esac
+if [ -n "${CONFIG_THUMB2_KERNEL}" ]; then
+ BCJ=--armthumb
+fi
+
exec $XZ --check=crc32 $BCJ --lzma2=$LZMA2OPTS,dict=32MiB
--
1.8.5.6
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 RESEND] kbuild: Enable armthumb BCJ filter for Thumb-2 kernel
2022-03-28 2:48 ` [PATCH v2 RESEND] " Jubin Zhong
@ 2022-04-02 8:35 ` Jubin Zhong
0 siblings, 0 replies; 6+ messages in thread
From: Jubin Zhong @ 2022-04-02 8:35 UTC (permalink / raw)
To: zhongjubin
Cc: akpm, lasse.collin, liaohua4, linux-arm-kernel, linux-kernel,
linux, nixiaoming, wangfangpeng1
ping.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-04-02 8:35 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-20 3:42 [PATCH v2] kbuild: Enable armthumb BCJ filter for Thumb-2 kernel Jubin Zhong
2021-11-21 21:37 ` Lasse Collin
2022-03-21 3:40 ` Jubin Zhong
2022-03-26 18:35 ` Lasse Collin
2022-03-28 2:48 ` [PATCH v2 RESEND] " Jubin Zhong
2022-04-02 8:35 ` Jubin Zhong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).