diff -urpN -X /home/fletch/.diff.exclude 200-kgdb/kernel/fork.c 231-thread_under_page/kernel/fork.c
--- 200-kgdb/kernel/fork.c	Tue Sep  2 09:55:57 2003
+++ 231-thread_under_page/kernel/fork.c	Tue Sep  2 10:15:30 2003
@@ -180,7 +180,10 @@ void __init fork_init(unsigned long memp
 	 * value: the thread structures can take up at most half
 	 * of memory.
 	 */
-	max_threads = mempages / (THREAD_SIZE/PAGE_SIZE) / 8;
+	if (THREAD_SIZE >= PAGE_SIZE)
+		max_threads = mempages / (THREAD_SIZE/PAGE_SIZE) / 8;
+	else
+		max_threads = (mempages * (PAGE_SIZE/THREAD_SIZE)) / 8;
 	/*
 	 * we need to allow at least 20 threads to boot a system
 	 */