Current THREAD_SIZE_OERDER implementatin is not generic for common case.
Improve it by:
- Define THREAD_SIZE_ORDER by specific platform configs.
- Calculate THREAD_SIZE by THREAD_SIZE_ORDER.
Suggested-by: Geert Uytterhoeven <[email protected]>
Signed-off-by: Dawei Li <[email protected]>
---
V1 -> V2:
- Remove ilog2().
- Calculate THREAD_SIZE by THREAD_SIZE_ORDER.
V1:
https://lore.kernel.org/lkml/[email protected]/
arch/m68k/include/asm/thread_info.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/m68k/include/asm/thread_info.h b/arch/m68k/include/asm/thread_info.h
index 31be2ad999ca..3e31adbddc75 100644
--- a/arch/m68k/include/asm/thread_info.h
+++ b/arch/m68k/include/asm/thread_info.h
@@ -12,14 +12,15 @@
*/
#if PAGE_SHIFT < 13
#ifdef CONFIG_4KSTACKS
-#define THREAD_SIZE 4096
+#define THREAD_SIZE_ORDER 0
#else
-#define THREAD_SIZE 8192
+#define THREAD_SIZE_ORDER 1
#endif
#else
-#define THREAD_SIZE PAGE_SIZE
+#define THREAD_SIZE_ORDER 0
#endif
-#define THREAD_SIZE_ORDER ((THREAD_SIZE / PAGE_SIZE) - 1)
+
+#define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
#ifndef __ASSEMBLY__
--
2.27.0
Hi Geert,
On Mon, Mar 04, 2024 at 04:54:55PM +0800, Dawei Li wrote:
> Current THREAD_SIZE_OERDER implementatin is not generic for common case.
>
> Improve it by:
> - Define THREAD_SIZE_ORDER by specific platform configs.
> - Calculate THREAD_SIZE by THREAD_SIZE_ORDER.
>
> Suggested-by: Geert Uytterhoeven <[email protected]>
> Signed-off-by: Dawei Li <[email protected]>
> ---
>
> V1 -> V2:
> - Remove ilog2().
> - Calculate THREAD_SIZE by THREAD_SIZE_ORDER.
>
> V1:
> https://lore.kernel.org/lkml/[email protected]/
>
> arch/m68k/include/asm/thread_info.h | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/arch/m68k/include/asm/thread_info.h b/arch/m68k/include/asm/thread_info.h
> index 31be2ad999ca..3e31adbddc75 100644
> --- a/arch/m68k/include/asm/thread_info.h
> +++ b/arch/m68k/include/asm/thread_info.h
> @@ -12,14 +12,15 @@
> */
> #if PAGE_SHIFT < 13
> #ifdef CONFIG_4KSTACKS
> -#define THREAD_SIZE 4096
> +#define THREAD_SIZE_ORDER 0
> #else
> -#define THREAD_SIZE 8192
> +#define THREAD_SIZE_ORDER 1
> #endif
> #else
> -#define THREAD_SIZE PAGE_SIZE
> +#define THREAD_SIZE_ORDER 0
> #endif
> -#define THREAD_SIZE_ORDER ((THREAD_SIZE / PAGE_SIZE) - 1)
> +
> +#define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
>
> #ifndef __ASSEMBLY__
>
Sorry to bother, but any comments on this version?
I know it's awkward cuz it's in middle of merge window, sorry for that.
Thanks,
Dawei
> --
> 2.27.0
>
On Mon, Mar 4, 2024 at 9:55 AM Dawei Li <[email protected]> wrote:
> Current THREAD_SIZE_OERDER implementatin is not generic for common case.
>
> Improve it by:
> - Define THREAD_SIZE_ORDER by specific platform configs.
> - Calculate THREAD_SIZE by THREAD_SIZE_ORDER.
>
> Suggested-by: Geert Uytterhoeven <[email protected]>
> Signed-off-by: Dawei Li <[email protected]>
> ---
>
> V1 -> V2:
> - Remove ilog2().
> - Calculate THREAD_SIZE by THREAD_SIZE_ORDER.
Reviewed-by: Geert Uytterhoeven <[email protected]>
i.e. will queue in the m68k tree for v6.10.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68korg
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds