当前位置: 技术问答>linux和unix
有关定时器在多核CPU上运行的一个问题?
来源: 互联网 发布时间:2016-08-12
本文导语: 大家好,请教一个问题 现在公司用一款CPU是MIPS34K核的,里面有7个TC,内核把它当成7个CPU 现在我写了个内核模块,在insmod模块的时候注册了一个定时器,每100ms执行一个函数,那么该函数是在哪个CPU上执行的呢?有...
大家好,请教一个问题
现在公司用一款CPU是MIPS34K核的,里面有7个TC,内核把它当成7个CPU
现在我写了个内核模块,在insmod模块的时候注册了一个定时器,每100ms执行一个函数,那么该函数是在哪个CPU上执行的呢?有没有办法知道?
我现在知道如何看哪个进程在哪个CPU上运行,可是我注册的定时器不是一个进程,没法查看运行在哪个CPU上。
恳请大家指教,谢谢~~~
现在公司用一款CPU是MIPS34K核的,里面有7个TC,内核把它当成7个CPU
现在我写了个内核模块,在insmod模块的时候注册了一个定时器,每100ms执行一个函数,那么该函数是在哪个CPU上执行的呢?有没有办法知道?
我现在知道如何看哪个进程在哪个CPU上运行,可是我注册的定时器不是一个进程,没法查看运行在哪个CPU上。
恳请大家指教,谢谢~~~
|
int cpu;
cpu = smp_processor_id();
cpu = smp_processor_id();
|
大体看懂了LZ的问题,不知道是不是与中断在哪个CPU有关。当然,也有方式设置进程的亲合度。
|
定时器应该在注册它的同一CPU上运行,即当前注册的处理器才会拥有该定时器。
因此,只要保证任务的affinity设置在注册之前完成就可以了。
因此,只要保证任务的affinity设置在注册之前完成就可以了。
|
没有中断号的中断无论软硬都不存在的。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。