Nix wrote:
True concurrency may eventually require some sort of simple locking in any case, but the... strongly separated nature of much of what Rockbox does hopefully means that this can be kept to a minimum (e.g. if one core does nothing but audio, not much will need locking: if somehow the audio decoding gets split across cores, the only things which will need any sort of inter-thread cooperation are still only things directly related to sharing the decoding load, and so on).
Yes, the audio decoding could perhaps be concurrent, but making the entire kernel preemptive would make things a lot harder.
Linus