首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在内核模块线程中进行上下文切换?

如何在内核模块线程中进行上下文切换?
EN

Stack Overflow用户
提问于 2014-07-22 13:20:39
回答 2查看 913关注 0票数 2

我想知道内核模块线程是否有办法切换其当前mm。内核线程通常在调度之前使用活动的最后一个mm。是否可以切换到内核线程中的特定mm?我正在寻找一个与windows中的KeStackAttachProcess等价的linux。Context_switch()switch_mm()没有导出,所以我想知道我可以用什么来切换内核模块线程中的上下文。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-05 14:28:05

目前没有这样的功能可用于切换上下文。然而,同样的事情可以用不同的方式实现。我发现在内核中的特定进程上下文中做任何事情的最好方法是在进程上下文中睡眠(wait_*函数系列),唤醒线程并在这个上下文中做任何需要做的事情。当然,这意味着您必须让应用程序通过IOCTL或其他什么方式调用内核,并在线程上睡觉,并在需要做什么时唤醒它。这似乎是一个非常广泛使用和流行的机制。

票数 0
EN

Stack Overflow用户

发布于 2022-06-02 14:47:21

旧内核没有kthread_前缀"kthread_use_mm --使调用k线程在地址空间上操作"kthread_unuse_mm -反转kthread_use_mm()的效果“

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24888548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档