Question about cross core IPC

Adam Lackorzynski adam at
Sat Jun 7 00:03:11 CEST 2014

On Wed Jun 04, 2014 at 11:48:44 -0400, Yuxin Ren wrote:
> Thank you for your reply. But I think you misunderstand my questions.
> First, my question is whether there is a lock.
> Are you sure there is no lock for sender_list?
> I think the data has to be manipulated by multiple context
> as we can send to the same receiver at the same time in different cores.
> Of course there may be not lock even for multicore, but I do not think only
> disable
> interrupt is enough.
> If there is no lock, I want to know how they do cross core synchronization
> without locks.

There's no lock as the list is only changed in the receivers context.

> Second, IPI operations are useful for me. But I also want to know the code
> on IPC
> path to use IPI. Can you tell me where is the code on IPC path to invoke
> IPI operations?

Please look for Ipi::send() calls in context.cpp and thread.cpp.
However, IPC uses a "remote request" functionality which in turn does
use IPIs.

Adam                 adam at

More information about the l4-hackers mailing list