Conversation
Checking if the current thread's stacksize is _larger_ than KERNEL_CONF_STACKSIZE_PRINTF seems like a mistake, and the check should actually be for larger or equal.
|
See #2183 and #1244 (comment) ;) |
|
You could change this PR to implement my suggestion to get this finally fixed. ;) |
|
Whoops, sorry for the oversight. Seems like Looking at the current RIOT master, one could argue that KERNEL_CONF_STACKSIZE_PRINTF should maybe be removed from anything but kernel.h/cpu-conf.h in its entirety, since either it is used like this: which is equivalent to or like this: which, if I have understood the previous discussions correctly, is wrong because this creates a stack that has no room for anything but printf 😄 So, in summary, the check in the debug macro could be "simplified" to right? Is there a concept of "private constants" in RIOT, e.g. prepending |
9f184dd to
45554bf
Compare
|
See also #732 |
|
#2747 was merged today I guess this is related somehow? Can we close this PR? |
|
I'm confused. As far as I've understood the past discussion, merging #2747 is a mistake because the |
|
Don't know, didn't look inside. I just noticed the happening. @authmillenon, @brummer-simon? |
|
I didn't know about the discussion before i made that pull request. I thought that KERNEL_CONF_STACKSIZE_PRINTF meant a stacksize for a Thread thats using printf. I didn't know KERNEL_CONF_STACKSIZE_PRINTF is intended for printf alone |
|
@brummer-simon No sweat :D I made the same mistake just a couple of days ago! But still, I guess it should be reverted and the macro names changed. I'll draft a proposal for that asap. |
|
I did not know of this discussion either >.< |
|
At least it becomes more and more obvious that the name is very misleading. |
|
So after reading through the (hopefully) relevant parts of the core and the docs, here's my proposal for re-structuring/re-naming the First of all, here's the relevant documentation:
So as far as I understand from what I've read and discussed with @OlegHahm, what we currently have is a set of "base stacksizes" such as Then there's a number of "supplemental" stacksizes that are meant to be summed up to these base stacksizes, such as E.g.: I think that there are two problems with the current naming.
My proposal is thus the following:
Examples: or An erroneous usage would then look as follows, which IMO makes it easier to spot as a wrong usage of the macro: Now you might argue that this results in very long lines. Keep in mind, though, that the current implementation requires: |
|
@x3ro 👍 for clarifying the intent of the define by adding The CONF part of the current naming is probably just to indicate that this is meant to be modified by the user for their own application, which some other macros indeed are not meant to. However, going along these lines then most of the macros in In summary: I like @x3ro's proposed new naming convention for the stack sizes |
|
I second @gebart. Please update this PR accordingly. But keep in mind that renaming the defines from |
|
Will do. Thanks for tip! |
|
Any progress? |
|
Not really 😕 My priority is currently getting the crypto PR merged, to which I will dedicate some time later today. I'll see if I have time for more. |
|
Superseded by #2881 |
Checking if the current thread's stacksize is larger than
KERNEL_CONF_STACKSIZE_PRINTF seems like a mistake, and the
check should actually be for larger or equal.
Or have I misunderstood the intention of this check? 😕