Closed ed-xmos closed 1 year ago
In the burn utility found dotted around the SDK + deps, typically used for constraining the MIPS on a different core to simulate a loaded tile, the use of XS1_SR_QUEUE_MASK causes the burn to not actually consume MIPS.
void burn(void) { SETSR(XS1_SR_QUEUE_MASK | XS1_SR_FAST_MASK); for(;;); }
This means that for many tests including IO modules (especially where 7 other cores are put into burn) the performance we actually get is likely much below what is being tested. I found this due to an unexpected drop in performance when deploying the UART under the RTOS - https://xmosjira.atlassian.net/wiki/spaces/~870418189/pages/3597303865/UART+Rx+performance+issues
Using drystone MIPS:
There are 22 instances of SETSR(XS1_SR_QUEUE_MASK | XS1_SR_FAST_MASK), most of them being in the HIL tests in fwk_io.
Was closed in #503
In the burn utility found dotted around the SDK + deps, typically used for constraining the MIPS on a different core to simulate a loaded tile, the use of XS1_SR_QUEUE_MASK causes the burn to not actually consume MIPS.
void burn(void) { SETSR(XS1_SR_QUEUE_MASK | XS1_SR_FAST_MASK); for(;;); }
This means that for many tests including IO modules (especially where 7 other cores are put into burn) the performance we actually get is likely much below what is being tested. I found this due to an unexpected drop in performance when deploying the UART under the RTOS - https://xmosjira.atlassian.net/wiki/spaces/~870418189/pages/3597303865/UART+Rx+performance+issues
Using drystone MIPS:
There are 22 instances of SETSR(XS1_SR_QUEUE_MASK | XS1_SR_FAST_MASK), most of them being in the HIL tests in fwk_io.