处理器间中断,X86_64位CPU,2.6.32-73内核,Ubuntu 10.04,使用

处理器间中断,X86_64位CPU,2.6.32-73内核,Ubuntu 10.04,使用,ubuntu,linux-kernel,interrupt,interrupt-handling,Ubuntu,Linux Kernel,Interrupt,Interrupt Handling,我试图在Ubuntu服务器10.04中使用处理器间中断(IPI),上面指定了内核和CPU 我从Google regrading获得了很多关于SMP架构中IPI的信息, 并了解使用IPI有API函数,如: 发送\u IPI\u掩码() 发送IPI self() 发送IPI\u all()等 我的问题更为基本,我在任何地方都找不到关于如何编写使用此函数的程序的文档 我现在甚至不知道我是否应该导入一些lib来使用它 或者我只需要以正确的方式编写这个函数 我非常希望有一个完整的代码示例,即使是使用IPI

我试图在Ubuntu服务器10.04中使用处理器间中断(IPI),上面指定了内核和CPU

我从Google regrading获得了很多关于SMP架构中IPI的信息, 并了解使用IPI有API函数,如:

发送\u IPI\u掩码()

发送IPI self()

发送IPI\u all()等

我的问题更为基本,我在任何地方都找不到关于如何编写使用此函数的程序的文档

我现在甚至不知道我是否应该导入一些lib来使用它

或者我只需要以正确的方式编写这个函数

我非常希望有一个完整的代码示例,即使是使用IPI的最基本的程序

或者参考使用内核模块编写代码的最佳实践。 谢谢

编辑: 可能我全搞错了。。 我会问另一个问题,有没有一种方法可以通过系统调用使用上述函数

如果可以的话,哪个库加载ioctl是最好的方法


或者有没有更快的方法与这些函数交互?

我所需要做的就是安装linux内核头文件

sudo-apt-get-install-linux-headers-$(uname-r)

从那时起,我可以使用如下功能:

smp调用函数单 或 在每个cpu上

附言


对于想要使用IPI的人,请记住IPI中断处理程序必须快速变化且不能被阻塞。

您想要实现什么?IPI已经由低级内核代码处理,它在每个cpu()上提供高级接口,如
。请注意,像“为我提供示例/文档”这样的问题可能会被认为是离题的,并且正在关闭。我正在尝试在两个CPU之间发送IPI。我的最终目的是创建两个程序,其中一个程序将启动缓存利用率,然后停止,而在不同CPU上工作的第二个程序将在特定的时间间隔内将IPI发送给停止的程序。我理解这一点。但这听起来像是一个错误。如果您提供编写代码的尝试,它也将是伟大的。