Skip to content
This repository has been archived by the owner on Nov 28, 2022. It is now read-only.

very long delays (hundreds of ms) when changing pulses #29

Open
hendrikschilling opened this issue Jun 7, 2014 · 0 comments
Open

very long delays (hundreds of ms) when changing pulses #29

hendrikschilling opened this issue Jun 7, 2014 · 0 comments

Comments

@hendrikschilling
Copy link

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?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant