From ed35a1cfad3b4ca2dc2cc05fd370a7b8897f8623 Mon Sep 17 00:00:00 2001 From: jxiong <jxiong> Date: Wed, 27 Jun 2007 12:20:18 +0000 Subject: [PATCH] Set the handle_hash size to 4096 if lustre is working under UML(user mode linux). --- lustre/obdclass/lustre_handles.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lustre/obdclass/lustre_handles.c b/lustre/obdclass/lustre_handles.c index 328d9f6238..89388f6477 100644 --- a/lustre/obdclass/lustre_handles.c +++ b/lustre/obdclass/lustre_handles.c @@ -52,7 +52,16 @@ static struct handle_bucket { static atomic_t handle_count = ATOMIC_INIT(0); +#ifdef __arch_um__ +/* For unknown reason, UML uses kmalloc rather than vmalloc to allocate + * memory(OBD_VMALLOC). Therefore, we have to redefine the + * HANDLE_HASH_SIZE to make the hash heads don't exceed 128K. + */ +#define HANDLE_HASH_SIZE 4096 +#else #define HANDLE_HASH_SIZE (1 << 14) +#endif /* ifdef __arch_um__ */ + #define HANDLE_HASH_MASK (HANDLE_HASH_SIZE - 1) /* -- GitLab