Process 访问当前->;mm从内核线程开始

Process 访问当前->;mm从内核线程开始,process,linux-kernel,linux-device-driver,scheduling,kernel,Process,Linux Kernel,Linux Device Driver,Scheduling,Kernel,我有一个要求,即我有一个“worker”内核线程,它想处理另一个进程的“mm”对象。由于某些原因,我必须在内核线程中执行 此“mm”对象受“mmu_lock”保护。在“mm”上工作的例程使用“current->mmu_lock”(这显然意味着不希望在其他上下文中完成) 我知道内核线程没有当前指针;它只使用为前一个进程设置的“当前”指针。因此,直接从内核线程调用这些例程肯定是错误的 鉴于此,是否存在从内核线程调用这些例程的“黑客”行为?比如为所需进程保存当前指针,并将其用作内核线程中的“当前”指针

我有一个要求,即我有一个“worker”内核线程,它想处理另一个进程的“mm”对象。由于某些原因,我必须在内核线程中执行

此“mm”对象受“mmu_lock”保护。在“mm”上工作的例程使用“current->mmu_lock”(这显然意味着不希望在其他上下文中完成)

我知道内核线程没有当前指针;它只使用为前一个进程设置的“当前”指针。因此,直接从内核线程调用这些例程肯定是错误的


鉴于此,是否存在从内核线程调用这些例程的“黑客”行为?比如为所需进程保存当前指针,并将其用作内核线程中的“当前”指针?在一个进程被调度出去之后(它能被交换出去吗?),以这种方式使用它的当前指针是安全的还是根本无法完成。

我不会回答您的问题,但我需要说:如果您似乎无法使用实际的内核API完成某些事情,那么您试图做的很可能是错误的。你能提供更多细节吗?内核线程确实有一个有效的当前指针。您将内核线程与中断上下文混淆,其中当前指针没有意义。