-
Notifications
You must be signed in to change notification settings - Fork 6.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tests: disk_performance : mimxrt1060_evkc support #84419
base: main
Are you sure you want to change the base?
Conversation
91a6f2e
to
1f11b13
Compare
@@ -0,0 +1 @@ | |||
CONFIG_MAIN_STACK_SIZE=40960 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a huge stack- why do we need this much, and why only for the RT1060 EVKC? Do we enable SDIO on this platform, and is that ballooning the stack size required?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Emphasis on huge...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried with 10240/20480, which does not work, maybe this can be small, but as my test SD card is 4G(it is very hard to find a smaller one nowadays), this could be challenging. and 40K stack is not a big deal for mimxrt1060C, though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it is worth investigating why the stack is overflowing here- do you have a backtrace for this that might highlight the issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure, Let me enable the trace and check, will feedback soon
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@danieldegrasse @dleach02 , Thanks a lot for checking, I find I make a mistake in change the stack size, I need rebuild not just flash, so now the main_stack size can be reduce to 2048 for my 4G card. and according to the trace log, the issue is here:
test_stetup - > sd_init -> sd_common_init, and there is a retry in this see below code snipple, the sd_common_init is repeatly called for card to get idle. this may cause the stack overflow. maybe we can recommend to refine the code here.
static int sd_common_init(struct sd_card *card)
{
int ret;
/* Perform voltage check using SD CMD8 */
ret = sd_retry(sd_send_interface_condition, card, CONFIG_SD_RETRY_COUNT);
if (ret == -ETIMEDOUT) {
LOG_INF("Card does not support CMD8, assuming legacy card");
return sd_idle(card);
} else if (ret) {
LOG_ERR("Card error on CMD 8");
return ret;
}
if (card->host_props.is_spi &&
IS_ENABLED(CONFIG_SDHC_SUPPORTS_SPI_MODE)) {
/* Enable CRC for spi commands using CMD59 */
ret = sd_enable_crc(card);
}
return ret;
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, 2048 is fine- I've seen this before on some platforms. The stack usage for the SDMMC framework is unfortunately just kind of high :/
tags: mcux | ||
integration_platforms: | ||
- mimxrt1060_evk/mimxrt1062/qspi | ||
- mimxrt1060_evk@C/mimxrt1062/qspi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
given that rev C is the default, I'm not sure we have to explicitly call it out here because twister will generate an alias list of [mimxrt1060_evk/mimxrt1062/qspi, mimxrt1060_evk@C/mimxrt1062/qspi]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dleach02, I would prefer to have a clear one, as I have multiply boards, which would be very confuse to configure them in board farm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fair enough. I actually wasn't sure how best to do this as there are a bunch of testcase/sample yaml files that I touched.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CI will tracking these, to make sure all items within test plan, will be maintained.
@@ -0,0 +1,15 @@ | |||
/* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
did this test case work with rt1060 before adding revC?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, such case is filter out before. and then marked as no run, but actually it is stack overflow, which twister set this to not runnable
1f11b13
to
8b508b6
Compare
add support for mimxrt1060_evkc board fixes: zephyrproject-rtos#84417 Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
8b508b6
to
d0af5c3
Compare
add support for mimxrt1060_evkc board
fixes: #84417