Scalable interruptible queue locks for shared-memory multiprocessor
    1.
    发明授权
    Scalable interruptible queue locks for shared-memory multiprocessor 有权
    可扩展的可中断队列锁为共享内存多处理器

    公开(公告)号:US06473819B1

    公开(公告)日:2002-10-29

    申请号:US09465297

    申请日:1999-12-17

    IPC分类号: G06F1200

    CPC分类号: G06F9/52

    摘要: A method for a computation agent to acquire a queue lock in a multiprocessor system that prevents deadlock between the computation agent and external interrupts. The method provides for the computation agent to join a queue to acquire a lock. Next, upon receiving ownership of the lock, the computation agent raises its priority level to a higher second priority level. In response to a receipt of an external interrupt having a higher priority level occurring before the computation agent has raised its priority level to the second higher priority level, the computation agent relinquishes ownership of the lock. Subsequent to raising its priority level to the second higher priority level, the computation agent determines if it still has ownership of the lock. If the computation agent determines that it has not acquired possession of the lock after raising its priority level, the computation agent rejoins the queue to reacquire the lock. In one embodiment of the present invention, the computation agent's priority level is restored to its original, i.e., first priority level, when it rejoins the queue to reacquire the lock.

    摘要翻译: 一种用于计算代理获取多处理器系统中的队列锁的方法,其防止计算代理和外部中断之间的死锁。 该方法提供计算代理加入队列以获取锁。 接下来,在获得锁的所有权时,计算代理将其优先级提高到更高的第二优先级。 响应于在计算代理已经将其优先级提高到第二较高优先级之前发生具有较高优先级的外部中断的接收,计算代理放弃对锁的所有权。 在将其优先级提高到第二高优先级之后,计算代理确定它是否仍具有锁的所有权。 如果计算代理确定在提升其优先级后尚未获得该锁的拥有权,则计算代理重新加入队列以重新获取该锁。 在本发明的一个实施例中,当它重新加入队列以重新获取锁时,计算代理的优先级被恢复到其原始的,即第一优先级。