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

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



I really do have loooots of stuff on my plate right now. Please log in
an issue on our bug tracker for doing it later.

Cheers,
Costin

On 9/9/19 3:02 PM, Simon Kuenzer wrote:
> 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®.