smp.c revision 96c4a178a18cd52ee5001195f1552d9cef0c38f0