ex_regs system call is forzed in the do_ipc process

Adam Lackorzynski adam at os.inf.tu-dresden.de
Tue Oct 20 18:44:34 CEST 2009


On Tue Oct 20, 2009 at 16:20:03 +0800, Guanghui, Cheng wrote:
> 	When i use the ex_regs system call to trigger the exception ipc 
> it seems to be frozed in the do_ipc stange. I use jdb to debug this 
> current thread lists is like this:
> 9.04 l4ertl.exceptio    10   9.03           rcv,ipc_progr
> 9.03 l4ertl.timer0       10   9.02           rcv,ipc_progr
> 9.02 domain2.main   10    9.04       rcv,ipc_progr,exc_progr
> 	l4ertl.exceptio is the pager of domain2.main. And now l4ertl.timer0
> is executing ex_regs system to trigger exception for domain2.main.
> l4ertl.exceptio is waiting for the exception ipc from the l4ertl2.main2.
> 	In detail l4ertl.exceptio is in ipc (user level registers). l4ertl.timer0
> is in ipc (user level registers), too. domain2.main is in the exception 255.
> 	It seems to be dead lock in the kernel.  Very strange.

I think that's what the L4_THREAD_EX_REGS_NO_CANCEL flag is about.
'cancel' here means that a possibly ongoing IPC is being canceled, i.e.
aborted. When you remove the flag, the IPCs will be aborted and return.

Adam                 adam at os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/

More information about the l4-hackers mailing list