[Linux-ia64] re-enabling interrupts and interrupt collect

From: Jonathan Case Nicklin <nicklin_at_missioncriticallinux.com>
Date: 2000-11-09 00:28:32
All,

Recently, i was working on a section of code that disabled/enable
interrupts
and interrupt collection like so.

    rsm psr.i | psr.ic
    ;;
    ... //body
    ;;
    ssm psr.i | psr.ic
    ;;
    srlz.d
    ;;

I found however that this implementation did not work under heavy loads.

It took a while to figure out that a pending interrupt that had occurred

in the body of code, executed while interrupts were turned off, was
delivered
after the ssm call as expected. However, it was delivered before the ic
bit
serialized. In the code this caused undesirable results. I found that
the
proper way to implement the above is to re-enable the ic bit and
serialize
before re-enabling the interrupt bit. Has anyone else come across this
problem and can anybody shed some light on whether this is the expected
operation.

Sincerely,
Jonathan Case Nicklin

Mission Critical Linux
www.missioncriticallinux.com

ps. The manual gives an example of the implementation that works, but
does
not provide any explanation of implementation itself (as far as I can
see ;-P )
Received on Wed Nov 08 07:31:05 2000

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:00 EST