davidxu at freebsd.org
Tue Jun 8 01:15:15 GMT 2004
Peter Wemm wrote:
> On Monday 07 June 2004 06:10 pm, David Xu wrote:
>>Is there any reason to use memory indirect jump ? did you
>>have benchmarked context switch speed before and after this commit ?
>>I won't use such indirect jump in speed sensitive case, it is
>>not CPU branch trace cache friendly, it is better to use
>>ret to match call in up level.
> Because the return address is already on the higher level stack frame,
> and copying it (read/write/ret) is more awkward than the read+indirect
> jump. Unfortunately, we can't indirectly access the flags register.
I would like someone to test it:
tell me the result before and after this commit.
>>Tim Robbins wrote:
>>>Anyone who has resorted to using libc_r instead of libpthread on
>>>amd64 should update their sources (ensuring they get context.S
>>>revision 1.6), rebuild and reinstall libpthread (or world), then
>>>give it another try. The bug I just fixed looks to have been
>>>responsible for the mysterious crashes I was seeing in
>>>Mozilla/Firefox, XMMS and GNOME.
>>>----- Forwarded message from "Tim J. Robbins" <tjr at FreeBSD.org>
>>>From: "Tim J. Robbins" <tjr at FreeBSD.org>
>>>Date: Mon, 7 Jun 2004 21:25:17 +0000 (UTC)
>>>To: src-committers at FreeBSD.org, cvs-src at FreeBSD.org,
>>> cvs-all at FreeBSD.org
>>>Subject: cvs commit: src/lib/libpthread/arch/amd64/amd64 context.S
>>>X-Bogosity: No, tests=bogofilter, spamicity=0.000000,
>>>tjr 2004-06-07 21:25:16 UTC
>>> FreeBSD src repository
>>> Modified files:
>>> lib/libpthread/arch/amd64/amd64 context.S
>>> Avoid clobbering the red zone when running on the new context's
>>>stack in _amd64_restore_context().
>>> Revision Changes Path
>>> 1.6 +5 -0
>>>----- End forwarded message -----
>>>freebsd-threads at freebsd.org mailing list
>>>To unsubscribe, send any mail to
>>>"freebsd-threads-unsubscribe at freebsd.org"
>>freebsd-amd64 at freebsd.org mailing list
>>To unsubscribe, send any mail to
>>"freebsd-amd64-unsubscribe at freebsd.org"
More information about the freebsd-threads