[IA64] fix personality(PER_LINUX32) performance issue
authorHuang, Xiaolan <xiaolan.huang@intel.com>
Thu, 15 May 2008 02:18:41 +0000 (10:18 +0800)
committerTony Luck <tony.luck@intel.com>
Thu, 15 May 2008 16:54:19 +0000 (09:54 -0700)
commit839052d27e8db0c1545256fe5827abcd00fb51c5
tree003839d444943ba8f125846e776b068721da2c8f
parent3fb2c74ee20b77affd494c6b8ce7928d0ebbb62e
[IA64] fix personality(PER_LINUX32) performance issue

The patch aims to fix a performance issue for the syscall
personality(PER_LINUX32).

On IA-64 box, the syscall personality (PER_LINUX32) has poor performance
because it failed to find the Linux/x86 execution domain. Then it tried
to load the kernel module however it failed always and it used the default
execution domain PER_LINUX instead. Requesting kernel modules is very
expensive. It caused the performance issue. (see the function
lookup_exec_domain in kernel/exec_domain.c).

To resolve the issue, execution domain Linux/x86 is always registered in
initialization time for IA-64 architecture.

Signed-off-by: Xiaolan Huang <xiaolan.huang@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/ia32/ia32_support.c
arch/ia64/mm/init.c