【问题标题】:spinlocks & jiffy updation自旋锁和快速更新
【发布时间】:2015-10-26 06:25:21
【问题描述】:

我有几个问题。 1) 在 UP 的情况下,如何在使用 spinlock_irq_save 持有自旋锁的同时更新 jiffies(timer)? 2)我的理解是在 smp 环境中,无论自旋锁 API 为何,都无法在持有自旋锁的处理器上进行 jiffies 更新。因此,应在 SoC 中的所有内核上启用定时器中断。想象一下四核处理器的场景,其中 4 个核心持有 4 个不同的自旋锁,jiffies 的定时器中断是如何处理的?

我们将不胜感激。

【问题讨论】:

    标签: linux-kernel kernel-module kernel32


    【解决方案1】:
    1. 很简单——它不是。 2.自旋锁和其他禁用IRQ的关键部分必须很短。 Jiffie 更新仅在启用 IRQ 时发生。

    【讨论】:

    • 所以 spin_lock 不能保持一段时间? & 如果在 PIT 触发中断之前获得自旋锁,那么那个 jiffy 会丢失吗?
    • 如果您长时间持有自旋锁,那么您肯定会做错事。时期。不,jiffies 不会丢失。 PIT 定时器中断被锁存。解锁自旋锁后,您将获得中断
    猜你喜欢
    • 2016-08-03
    • 2015-01-24
    • 2012-08-11
    • 1970-01-01
    • 2015-07-18
    • 2012-10-29
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多