Strange behaviour of mailbox calls - Raspberry Pi Forums


i have user defined code want execute on videocore iv gpu. can execute code either via mailbox-call or via register-poking, writing directly v3d registers (see functions gpu_fft_base_exec_direct , gpu_fft_base_exec of https://github.com/raspberrypi/userland ... fft_base.c). additionally, i'm executing code several successive times on qpus.

now, executing code via directly poking registers (in loop: writing v3d registers, waiting interrupts) works perfectly. executing same code via mailbox interface shows strange behavior:
  • if there delay (e.g. 10 ms) between mailbox-calls, execution finishes successfully.
  • if there no delay between mailbox-calls, after few loop-iterations, system freezes, no response, not in terminals.
  • if set delay between syscalls lower value (e.g. 100 us), execution finished, (about 1/8th) slower!

theory first 2 points is, somehow swamp linux kernel syscalls, has no more time else!? can't explain why lower delay results in slower execution.

has here explanation behaviour?



raspberrypi



Comments

Popular posts from this blog

Error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode - Raspberry Pi Forums

class MPU6050 has no member named begin

missing filename after '-o'