nethack, you *will* migrate, really!! : suggestion for double request checking...

Florian Delizy <[email protected]> Fri, 29 Sep 2006 23:22:28 +0200
Newsgroups gmane.linux.cluster.openmosix.devel
Message-ID <[email protected]>
I found the reason why the nethack process would not migrate, tell me if 
I am wrong, but it seems that processes can only migrate on sycall enter 
(or schedule enter).

If the move request gets to the task during a syscall, it is simply 
discarded, and the process does not migrate at all. I understand this 
makes sense for a normal HPC process (cpu consuming, means, no or nearly 
no syscall), but I think it would make sense to try migration on syscall 
exit (this is what this patch should do).

Vincent, can you please tell me if I am right ? or so ?

***** warning *****
I have not compiled yet this patch, don't try it, it may blast your 
kernel or turn it into ... windows who knows ...
it is just a patch idea (can it be ?)
***** warning *****


Anyhow, it's quite late here, (or I may just be dumb...) so if I am 
wrong, please tell me.

thanks

Florian Delizy

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

_______________________________________________
openMosix-devel mailing list
openMosix-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/openmosix-devel
openmosix-allow-process-migration-on-syscall-exit.patch (text/x-patch, 508 B)
Index: linux/arch/x86_64/kernel/entry.S
===================================================================
--- linux.orig/arch/x86_64/kernel/entry.S	2006-09-29 23:15:53.000000000 +0200
+++ linux/arch/x86_64/kernel/entry.S	2006-09-29 23:15:57.000000000 +0200
@@ -600,6 +600,11 @@
 	andl %edi,%edx
 	CFI_REMEMBER_STATE
 	jnz  retint_careful
+#ifdef CONFIG_OPENMOSIX
+	SAVE_REST
+	call openmosix_pre_usermode
+	RESTORE_REST
+#endif /* CONFIG_OPENMOSIX */
 retint_swapgs:	 	
 	swapgs 
 retint_restore_args: