Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 May 2006 14:33:30 -0700
From:      Maxim Sobolev <sobomax@FreeBSD.ORG>
To:        Andrew Gallatin <gallatin@cs.duke.edu>
Cc:        Daniel Eischen <deischen@FreeBSD.ORG>, David Xu <davidxu@FreeBSD.ORG>, current@FreeBSD.ORG
Subject:   Re: Fine-grained locking for POSIX local sockets (UNIX domain sockets)
Message-ID:  <20060512213330.GA73197@gk.360sip.com>
In-Reply-To: <17508.62183.562795.176709@grasshopper.cs.duke.edu>
References:  <20060506150622.C17611@fledge.watson.org> <20060509181302.GD3636@eucla.lemis.com> <20060509182330.GB92714@xor.obsecurity.org> <200605100726.28243.davidxu@freebsd.org> <44613469.2050000@freebsd.org> <4461522D.9060405@freebsd.org> <Pine.GSO.4.64.0605092346340.21472@sea.ntplx.net> <17508.62183.562795.176709@grasshopper.cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, May 12, 2006 at 04:41:11PM -0400, Andrew Gallatin wrote:
> 
> In addition to this linux vsyscall, there is the MacOSX/Darwin
> commpage.  The map machine-specific implementations of atomic
> operations, bcopy, bzero, spinlocks, pthread_getspecific, etc into a
> common page mapped into userspace applications. The also do a (mostly)
> syscall-free gettimeoday this way.
> 
> See http://fxr.watson.org/fxr/source/osfmk/ppc/commpage/?v=xnu-792
> 
> Obviously, we could not take the code due to APSL infection (unless
> Apple were to donate it), but it is something else to look at.

As somebody suggested, it can be easily done by exporting ELF
shared object via md(4)-like device driver and then libc will be
able to dlopen() and use it. This should provide the same
performance as a "magic-page" approach, but it much easier to
implement and it looks much less "hackish".

-Maxim



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060512213330.GA73197>