You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 28, 2022. It is now read-only.
When changing pulses with add_channel_pulse() it can take a long time (up to half a second?) until the change is actually applied (see also raspberrypi/linux#476). I believe this is because the changed pulses will only be used for dma when the related cache lines get evicted from the cpu cache - this fits with the description in the issue I linked above, where some activity (for example io) can somewhat mitigate the issue. My workaround currently is to always use a very long subcycle time (and repeating the actually desired subcycle within that long subcycle), so that the whole cycle does not fit in cache. This does solve the problem, but a better solution would be to somehow avoid the cache altogether, though I have no idea if that is possible from userspace (in kernelspace dma_alloc_coherent might be used).
Have you experienced similar issues?
The text was updated successfully, but these errors were encountered:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
When changing pulses with add_channel_pulse() it can take a long time (up to half a second?) until the change is actually applied (see also raspberrypi/linux#476). I believe this is because the changed pulses will only be used for dma when the related cache lines get evicted from the cpu cache - this fits with the description in the issue I linked above, where some activity (for example io) can somewhat mitigate the issue. My workaround currently is to always use a very long subcycle time (and repeating the actually desired subcycle within that long subcycle), so that the whole cycle does not fit in cache. This does solve the problem, but a better solution would be to somehow avoid the cache altogether, though I have no idea if that is possible from userspace (in kernelspace dma_alloc_coherent might be used).
Have you experienced similar issues?
The text was updated successfully, but these errors were encountered: