Re: [Gems-users] Interrupts when executing LogTM


Date: Wed, 12 Mar 2008 14:16:25 -0500
From: Jayaram Bobba <bobba@xxxxxxxxxxx>
Subject: Re: [Gems-users] Interrupts when executing LogTM

I would like to know how pending interrupts are managed in Gems 2.0 when a
transaction is being executed. As far as I can see, we set an Interrupt flag
and trap to software handler by an exception (like a TLB miss).
For LogTM, we do not disable interrupts during transaction execution.
The interrupt flag and the subsequent trap are used only when we are
retrying a conflicting memory reference in hardware. In this case, Simics
cannot process the pending interrupt until we unstall it by completing
the memory reference. Hence we generate a trap on the reference and
allow the interrupt to be handled while we are in the software handler for
the trap.
However, is it possible to handle a pending interrupt if we are in PRIV_MODE? It
can't be done in Gems 2.0, as exceptions are caught when we aren't.

I didn't quite understand your question. Execution in PRIV_MODE is 'escaped'
by default. Interrupt processing should not be affected by LogTM in this case.

Does Lazy VM handle interrupts? I think that a good way to do it should be
jumping to software handler, but it must require some extra information (i.e.
put some extra information in the log) that I miss.

I think LazyVM in Gems can handle interrupts as long as there is no interaction
between the interrupt handler and the transaction being executed.

Jayaram
[← Prev in Thread] Current Thread [Next in Thread→]