This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/PROCESSOR-SDK-DRA7X:Hwi_disable 在 SMP 模式下同步内核

Guru**** 2574125 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/629600/rtos-processor-sdk-dra7x-does-hwi_disable-synchronize-cores-in-smp-mode

器件型号:PROCESSOR-SDK-DRA7X
Thread 中讨论的其他器件:SYSBIOS

工具/软件:TI-RTOS

尊敬的专家:

我正在 SMP 模式下运行 IPU1。

假设以下情况:

IPU1内核0正在执行中断处理程序、该处理程序正在访问公共资源 R1

IPU1内核1正在执行访问公共资源 R1的任务

在内核1上运行的任务中对 Hwi_disable()的调用是否会同步对 R1的访问? 内核1上的任务是否被阻止、直到内核0上的中断处理程序完成?

此致、

Jakub

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jakub、

    我已将您的问题转交给一位专家征求意见。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Yordan、您好!


    让我补充一下、我使用的是 SYBIOS 版本 BIOS_6_46_01_38。

    此致、

    Jakub

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jakub、

    在 SMP 模式下运行时,SYS/BIOS Hwi_disable()获取内核间自旋锁。 在您描述的情形中、如果 IPU1 Core1任务首先调用 Hwi_disable()、它将获取内核间自旋锁。 当触发 IPU1内核0中断时、SYS/BIOS 中断调度程序将首先运行并尝试获取内核间自旋锁。 由于它已经被采用、它将旋转、直到内核1任务调用 Hwi_restore()并释放自旋锁。 此时、内核0调度程序将获得锁定并调用已注册的中断处理程序。

    希望这能说明资源同步如何跨内核工作。

    最棒的

    Ashish