![Zachary Amsden](/assets/img/avatar_default.png)
Make GDT page aligned and page padded to support running inside of a hypervisor. This prevents false sharing of the GDT page with other hot data, which is not allowed in Xen, and causes performance problems in VMware. Rather than go back to the old method of statically allocating the GDT (which wastes unneded space for non-present CPUs), the GDT for APs is allocated dynamically. Signed-off-by: Zachary Amsden <zach@vmware.com> Cc: "Seth, Rohit" <rohit.seth@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
35 lines
847 B
C
35 lines
847 B
C
#include <linux/config.h>
|
|
#include <linux/module.h>
|
|
#include <asm/checksum.h>
|
|
#include <asm/desc.h>
|
|
|
|
EXPORT_SYMBOL_GPL(cpu_gdt_descr);
|
|
|
|
EXPORT_SYMBOL(__down_failed);
|
|
EXPORT_SYMBOL(__down_failed_interruptible);
|
|
EXPORT_SYMBOL(__down_failed_trylock);
|
|
EXPORT_SYMBOL(__up_wakeup);
|
|
/* Networking helper routines. */
|
|
EXPORT_SYMBOL(csum_partial_copy_generic);
|
|
|
|
EXPORT_SYMBOL(__get_user_1);
|
|
EXPORT_SYMBOL(__get_user_2);
|
|
EXPORT_SYMBOL(__get_user_4);
|
|
|
|
EXPORT_SYMBOL(__put_user_1);
|
|
EXPORT_SYMBOL(__put_user_2);
|
|
EXPORT_SYMBOL(__put_user_4);
|
|
EXPORT_SYMBOL(__put_user_8);
|
|
|
|
EXPORT_SYMBOL(strpbrk);
|
|
EXPORT_SYMBOL(strstr);
|
|
|
|
#ifdef CONFIG_SMP
|
|
extern void FASTCALL( __write_lock_failed(rwlock_t *rw));
|
|
extern void FASTCALL( __read_lock_failed(rwlock_t *rw));
|
|
EXPORT_SYMBOL(__write_lock_failed);
|
|
EXPORT_SYMBOL(__read_lock_failed);
|
|
#endif
|
|
|
|
EXPORT_SYMBOL(csum_partial);
|