From owner-freebsd-hackers@FreeBSD.ORG Tue Mar 31 02:38:03 2009 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8BC171065675; Tue, 31 Mar 2009 02:38:03 +0000 (UTC) (envelope-from davidxu@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 769378FC08; Tue, 31 Mar 2009 02:38:03 +0000 (UTC) (envelope-from davidxu@freebsd.org) Received: from apple.my.domain (root@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n2V2bx9l016060; Tue, 31 Mar 2009 02:38:00 GMT (envelope-from davidxu@freebsd.org) Message-ID: <49D18209.1020805@freebsd.org> Date: Tue, 31 Mar 2009 10:38:01 +0800 From: David Xu User-Agent: Thunderbird 2.0.0.9 (X11/20080612) MIME-Version: 1.0 To: Prashant Vaibhav References: <9969.1238398362@critter.freebsd.dk> <49D11D7F.2020503@freebsd.org> <17560ccf0903301432t6a94dd86tb2f2a1a8d6edd7c2@mail.gmail.com> In-Reply-To: <17560ccf0903301432t6a94dd86tb2f2a1a8d6edd7c2@mail.gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: FreeBSD Hackers , Tim Kientzle , freebsd-current@freebsd.org Subject: Re: Improving the kernel/i386 timecounter performance (GSoC proposal) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Mar 2009 02:38:04 -0000 Prashant Vaibhav wrote: > ...and that is _exactly_ what I propose(d) in the beginning and what OSX > already does. Further, keeping the shared page and functions fixed at the > end of the memory space has advantages like not needing any special linking, > being easily accessible for code jumps or data reads, and so on [1]. The TSC > issues are but one part of the puzzle. > After this week-long discussion I still can't decide whether this was > something that's desirable at all: keeping in mind that it's among the few > project ideas tagged as "Suggested for Google Summer of Code 2009" on the > FreeBSD website. :-\ Though I've been reading mailing list archives, and > the various handbooks, I'm not familiar well enough with other parts of the > freebsd kernel to draft another concrete proposal on my own at this time. > > [1] *Mac OS X Internals: A Systems Approach,* p 595, Amit Singh, ISBN > 0321278542 > > Without using ELF, but using signal like trampoline code as we current do makes it very difficult for some language to do asynchronous stack unwinding, e.g pthread async cancellation and C++ objection destruction. See my recent work for pthread cancellation and stack unwinding: http://people.freebsd.org/~davidxu/patch/unwind.patch Check x86_64_fallback_frame_state() to see what hacking code should be written. Regards, David Xu