Date: Thu, 11 Jul 2002 18:47:13 -0400 (EDT) From: John Baldwin <jhb@FreeBSD.org> To: julian@FreeBSD.org Cc: peter@FreeBSD.org, current@FreeBSD.org Subject: Thread state Message-ID: <XFMail.20020711184713.jhb@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
Currently, sparc64 SMP panics before getting out of single user mode because there is an optimization case in cpu_switch() (if we are switching back to the same thread, we just return right away) that doesn't set td_state to TDS_RUNNING. Also, according to Peter, the code in ia64's cpu_switch() doesn't work either. Rather than try to fix this in the assembler though, I think it is easier to just set the thread state once in C at the end of choosethread(). It is a lot easier to maintain down the road. The patch to do this is at http://www.freebsd.org/~jhb/patches/kse_switch.patch It has been tested on sparc64, alpha, and i386 all with SMP. I would like to commit it soonish. Comments? -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20020711184713.jhb>