From owner-freebsd-threads@FreeBSD.ORG Tue Jun 8 01:15:15 2004 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2E20A16A4CE; Tue, 8 Jun 2004 01:15:15 +0000 (GMT) Received: from exchhz01.viatech.com.cn (ip-40-162-97-218.anlai.com [218.97.162.40]) by mx1.FreeBSD.org (Postfix) with ESMTP id 164CE43D2D; Tue, 8 Jun 2004 01:15:13 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from freebsd.org (DAVIDWNT [10.4.1.99]) by exchhz01.viatech.com.cn with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2650.21) id M22V47MS; Tue, 8 Jun 2004 09:15:05 +0800 Message-ID: <40C513B5.8070406@freebsd.org> Date: Tue, 08 Jun 2004 09:17:41 +0800 From: David Xu User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5b) Gecko/20030723 Thunderbird/0.1 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Peter Wemm References: <200406071810.23069.peter@wemm.org> In-Reply-To: <200406071810.23069.peter@wemm.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-amd64@freebsd.org cc: freebsd-threads@freebsd.org Subject: Re: [tjr@FreeBSD.org: cvscommit:src/lib/libpthread/arch/amd64/amd 64 context.S] X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jun 2004 01:15:15 -0000 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: http://people.freebsd.org/~davidxu/kse/test/ctxswitch.c tell me the result before and after this commit. > >>David Xu >> >>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. >>> >>> >>>Tim >>> >>>----- Forwarded message from "Tim J. Robbins" >>>----- >>> >>>From: "Tim J. Robbins" >>>Date: Mon, 7 Jun 2004 21:25:17 +0000 (UTC) >>>To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, >>> cvs-all@FreeBSD.org >>>Subject: cvs commit: src/lib/libpthread/arch/amd64/amd64 context.S >>>X-FreeBSD-CVS-Branch: HEAD >>>Precedence: bulk >>>X-Loop: FreeBSD.ORG >>>X-Bogosity: No, tests=bogofilter, spamicity=0.000000, >>>version=0.15.7 >>> >>>tjr 2004-06-07 21:25:16 UTC >>> >>> FreeBSD src repository >>> >>> Modified files: >>> lib/libpthread/arch/amd64/amd64 context.S >>> Log: >>> Avoid clobbering the red zone when running on the new context's >>>stack in _amd64_restore_context(). >>> >>> Revision Changes Path >>> 1.6 +5 -0 >>>src/lib/libpthread/arch/amd64/amd64/context.S >>> >>>----- End forwarded message ----- >>>_______________________________________________ >>>freebsd-threads@freebsd.org mailing list >>>http://lists.freebsd.org/mailman/listinfo/freebsd-threads >>>To unsubscribe, send any mail to >>>"freebsd-threads-unsubscribe@freebsd.org" >> >>_______________________________________________ >>freebsd-amd64@freebsd.org mailing list >>http://lists.freebsd.org/mailman/listinfo/freebsd-amd64 >>To unsubscribe, send any mail to >>"freebsd-amd64-unsubscribe@freebsd.org" > >