Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Jul 2002 16:21:18 -0700 (PDT)
From:      Julian Elischer <julian@elischer.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        julian@FreeBSD.org, peter@FreeBSD.org, current@FreeBSD.org
Subject:   Re: Thread state
Message-ID:  <Pine.BSF.4.21.0207111612561.47612-100000@InterJet.elischer.org>
In-Reply-To: <XFMail.20020711184713.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help


On Thu, 11 Jul 2002, John Baldwin wrote:

> 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

I want to change the setting to TDS_RUNNING in the C code in
choosethread(). It's pointless
extra assembler. ALso the test in i386: cpu_switch that tests for 
TDS_RUNQ should be shot. choosethread() it's possiblethat 
the idleproc loop startup can aslo be changed to remove teh setting into
TDS_RUNQ that I seem to remember being there..
I can make those changes now if you'd like or you can do  it
if you have your fingers in there now..


> 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
> 

duh I should read to the end of the email first..

>
> It has been tested on sparc64, alpha, and i386 all with SMP.  I
> would like to commit it soonish.  Comments?
>   


put me down as having approved/agreed/applauded/whatever!
(but check the idle thread setup first)



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?Pine.BSF.4.21.0207111612561.47612-100000>