1

I want to run a task synchronously on two cores in an ARM system (they have to be running at the exact same time), in kernel space. Either they have to start at the exact same time, or one has to know when the other has actually started. Is there a standard way to do this?

Chris Martin
  • 30,334
  • 10
  • 78
  • 137
John
  • 3,400
  • 3
  • 31
  • 47
  • Unless you are using a real-time OS, I'm not sure you can get that exact guarantee. If you want to get close enough, just have the first instruction get the current time, and use message passing to send this to the other process. – Nick May 02 '14 at 19:51
  • My goal is to have the two overlap. It is possible for one task to wait for the other to start, but there has to be some sort of communication from task 1 to task 0 to let it know it's started. – John May 02 '14 at 20:01
  • Any standard IPC method including [a shared mutex](http://stackoverflow.com/questions/20325146/share-condition-variable-mutex-between-processes-does-mutex-have-to-locked-be). You can use any sort of shared memory with `ldrex/strex`, if you really want *fine grained* control. You also need to [lock the processes to a core](http://stackoverflow.com/questions/5479458/is-there-a-way-to-lock-a-process-to-a-cpu). – artless noise May 02 '14 at 20:15

0 Answers0