Question

Why do the following two APIs are not exported by Xen's Kernel?

void use_mm(struct mm_struct *mm);
void unuse_mm(struct mm_struct *mm);

Running "grep __ksymtab_use_mm /proc/kallsyms" doesn't return anything.

I need to use these APIs on Xen. Is there any alternate methods available on XenServer with 2.6.32 kernel?

Note: I can see that these APIs are exported on RHEL 6.2 with 2.6.32 Kernel:

-bash-4.1# uname -a
Linux d 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
-bash-4.1# grep __ksymtab_use_mm /proc/kallsyms
ffffffff8181a830 r __ksymtab_use_mm
Was it helpful?

Solution

I had asked same question on Xen forums as well. Here is the summary:

These API functions were exported by 5da779c3 ("mm: export use_mm/unuse_mm to modules") added in 2.6.34. The current XenServer kernel is based on 2.6.32 and is therefore not new enough to have this change.

XenServer will be moving to a 3.x dom0 kernel in the next major release.

For detail: http://xenserver.org/discuss-virtualization/q-and-a/why-do-use_mm-and-unuse_mm-api-is-not-exported-by-xen-kernel.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top