函数 | |
LITE_OS_SEC_BSS | SPIN_LOCK_INIT (g_mpCallSpin) |
VOID | LOS_MpSchedule (UINT32 target) |
VOID | OsMpWakeHandler (VOID) |
硬中断唤醒处理函数 更多... | |
VOID | OsMpScheduleHandler (VOID) |
硬中断调度处理函数 更多... | |
VOID | OsMpHaltHandler (VOID) |
硬中断暂停处理函数 更多... | |
VOID | OsMpCollectTasks (VOID) |
MP定时器处理函数, 递归检查所有可用任务 更多... | |
VOID | OsMpFuncCall (UINT32 target, SMP_FUNC_CALL func, VOID *args) |
OsMpFuncCall 向指定CPU的funcLink上注册回调函数, 该怎么理解这个函数呢 ? 具体有什么用呢 ? 可由CPU a核向b核发起一个请求,让b核去执行某个函数, 这是否是分布式调度的底层实现基础 ? 更多... | |
VOID | OsMpFuncCallHandler (VOID) |
OsMpFuncCallHandler 回调向当前CPU注册过的函数 更多... | |
VOID | OsMpFuncCallInit (VOID) |
CPU层级的回调模块初始化 更多... | |
UINT32 | OsMpInit (VOID) |
LOS_MODULE_INIT (OsMpInit, LOS_INIT_LEVEL_KMOD_TASK) | |
多CPU核的操作系统3种处理模式(SMP+AMP+BMP) 鸿蒙实现的是 SMP 的方式 非对称多处理(Asymmetric multiprocessing,AMP)每个CPU内核 运行一个独立的操作系统或同一操作系统的独立实例(instantiation)。 对称多处理(Symmetric multiprocessing,SMP)一个操作系统的实例 可以同时管理所有CPU内核,且应用并不绑定某一个内核。 混合多处理(Bound multiprocessing,BMP)一个操作系统的实例可以 同时管理所有CPU内核,但每个应用被锁定于某个指定的核心。 多核多线程处理器的中断 由 PIC(Programmable Interrupt Controller)统一控制。PIC 允许一个 硬件线程中断其他的硬件线程,这种方式被称为核间中断(Inter-Processor Interrupts,IPI) SGI:软件触发中断(Software Generated Interrupt)。在arm处理器中, SGI共有16个,硬件中断号分别为ID0~ID15。它通常用于多核间通讯。 *
@history
在文件 los_mp.c 中定义.
LOS_MODULE_INIT | ( | OsMpInit | , |
LOS_INIT_LEVEL_KMOD_TASK | |||
) |
STATIC INLINE VOID LOS_MpSchedule | ( | UINT32 | target | ) |
VOID OsMpCollectTasks | ( | VOID | ) |
MP定时器处理函数, 递归检查所有可用任务
INLINE VOID OsMpFuncCall | ( | UINT32 | target, |
SMP_FUNC_CALL | func, | ||
VOID * | args | ||
) |
OsMpFuncCall 向指定CPU的funcLink上注册回调函数, 该怎么理解这个函数呢 ? 具体有什么用呢 ?
可由CPU a核向b核发起一个请求,让b核去执行某个函数, 这是否是分布式调度的底层实现基础 ?
args | |
func | |
target |
VOID OsMpFuncCallHandler | ( | VOID | ) |
OsMpFuncCallHandler
回调向当前CPU注册过的函数
VOID OsMpFuncCallInit | ( | VOID | ) |
CPU层级的回调模块初始化
VOID OsMpHaltHandler | ( | VOID | ) |
硬中断暂停处理函数
UINT32 OsMpInit | ( | VOID | ) |
VOID OsMpScheduleHandler | ( | VOID | ) |
硬中断调度处理函数
VOID OsMpWakeHandler | ( | VOID | ) |
LITE_OS_SEC_BSS SPIN_LOCK_INIT | ( | g_mpCallSpin | ) |