[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT PATCH v2] plat: Configure stack size page order



Okay, I understand. You treat the issues as bugs that we fix afterwards. Xen on Arm32 is actually the same kind as the x86 traps issue. Can you provide a fix for x86 traps directly after I upstreamed this patch?

Thanks,

Simon

Reviewed-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>

On 09.09.19 13:53, Costin Lupu wrote:
Hi Simon,

Please read my previous emails more carefully. I said that in
plat/xen/x86/arch_events.c the stack already has STACK_SIZE bytes, I
don't see where is the problem.

And for plat/xen/x86/traps.c I said that there is bug, but that bug is
out of scope for this patch.

It wasn't clear to me that you want to have a separate patch to fix this problem. Fine with me.


And I also said that this patch also touches Arm32 (see
arch/arm/arm/include/uk/asm/limits.h).


I was talking about _Xen_ on Arm32 which does not use STACK_SIZE properly.

Cheers,
Costin

On 9/9/19 2:29 PM, Simon Kuenzer wrote:
Hey Costin,

what about plat/xen/x86/arch_events.c and plat/xen/x86/traps.c? I though
you wanted to fix them with this patch, too.
At least in your commit message you should mention that Arm32 Xen is not
adopted by this patch.

Thanks a lot,

Simon

On 08.09.19 09:01, Costin Lupu wrote:
This patch adds a config option for configuring the stack size page
order. We
need this for supporting large stacks.

Signed-off-by: Costin Lupu <costin.lupu@xxxxxxxxx>
---
   arch/Config.uk                          | 9 +++++++++
   arch/arm/arm/include/uk/asm/limits.h    | 2 +-
   arch/arm/arm64/include/uk/asm/limits.h  | 2 +-
   arch/x86/x86_64/include/uk/asm/limits.h | 2 +-
   4 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/arch/Config.uk b/arch/Config.uk
index 190c75e6..d091dcbd 100644
--- a/arch/Config.uk
+++ b/arch/Config.uk
@@ -24,3 +24,12 @@ endif
   if (ARCH_ARM_64)
       source "arch/arm/arm64/Config.uk"
   endif
+
+config STACK_SIZE_PAGE_ORDER
+    int
+    prompt "Stack size page order"
+    default 4
+    help
+        Indirectly configures the stack size by changing the stack
size page
+        order. Stack size is equal with 2^order * page size (e.g. 4KB).
+        Only change this if you know what you're doing.
diff --git a/arch/arm/arm/include/uk/asm/limits.h
b/arch/arm/arm/include/uk/asm/limits.h
index 085761c3..e2298d6b 100644
--- a/arch/arm/arm/include/uk/asm/limits.h
+++ b/arch/arm/arm/include/uk/asm/limits.h
@@ -39,7 +39,7 @@
   #define __PAGE_MASK        (~((__PAGE_SIZE) - 1))
   #endif
   -#define __STACK_SIZE_PAGE_ORDER    2
+#define __STACK_SIZE_PAGE_ORDER    CONFIG_STACK_SIZE_PAGE_ORDER
   #define __STACK_SIZE        (__PAGE_SIZE * (1 <<
__STACK_SIZE_PAGE_ORDER))
     #define __WORDSIZE        32
diff --git a/arch/arm/arm64/include/uk/asm/limits.h
b/arch/arm/arm64/include/uk/asm/limits.h
index cec05641..fb70f2ba 100644
--- a/arch/arm/arm64/include/uk/asm/limits.h
+++ b/arch/arm/arm64/include/uk/asm/limits.h
@@ -40,7 +40,7 @@
   #define __PAGE_MASK        (~((__PAGE_SIZE) - 1))
   #endif
   -#define __STACK_SIZE_PAGE_ORDER    4
+#define __STACK_SIZE_PAGE_ORDER    CONFIG_STACK_SIZE_PAGE_ORDER
   #define __STACK_SIZE    (__PAGE_SIZE * (1 << __STACK_SIZE_PAGE_ORDER))
   #define __STACK_ALIGN_SIZE    16
   diff --git a/arch/x86/x86_64/include/uk/asm/limits.h
b/arch/x86/x86_64/include/uk/asm/limits.h
index a969bd17..21814044 100644
--- a/arch/x86/x86_64/include/uk/asm/limits.h
+++ b/arch/x86/x86_64/include/uk/asm/limits.h
@@ -39,7 +39,7 @@
   #define __PAGE_MASK        (~((__PAGE_SIZE) - 1))
   #endif
   -#define __STACK_SIZE_PAGE_ORDER    4
+#define __STACK_SIZE_PAGE_ORDER    CONFIG_STACK_SIZE_PAGE_ORDER
   #define __STACK_SIZE        (__PAGE_SIZE * (1 <<
__STACK_SIZE_PAGE_ORDER))
     #define __WORDSIZE        64


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.