From owner-freebsd-current@FreeBSD.ORG Wed May 10 03:47:46 2006 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DD6C216A401; Wed, 10 May 2006 03:47:46 +0000 (UTC) (envelope-from deischen@freebsd.org) Received: from mail.ntplx.net (mail.ntplx.net [204.213.176.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 79F7743D48; Wed, 10 May 2006 03:47:46 +0000 (GMT) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) by mail.ntplx.net (8.13.6/8.13.6/NETPLEX) with ESMTP id k4A3ljdF026822; Tue, 9 May 2006 23:47:45 -0400 (EDT) Date: Tue, 9 May 2006 23:47:45 -0400 (EDT) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: David Xu In-Reply-To: <4461522D.9060405@freebsd.org> Message-ID: 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> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.ntplx.net) Cc: current@freebsd.org Subject: Re: Fine-grained locking for POSIX local sockets (UNIX domain sockets) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Daniel Eischen List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 May 2006 03:47:47 -0000 On Wed, 10 May 2006, David Xu wrote: > One of the problems to implement it is that atomic operations, > if there are multiple integer needs to be updated by kernel, > userland maybe gets an inconsistent result, the way to avoid the > problem is using two generation numbers. > > http://gsu.linux.org.tr/~mpekmezci/kernelapi/unitedlinux/arch/x86_64/kernel/vsyscall.c.html > check do_vgettimeofday(struct timeval * tv): > > Another problem is how you tell userland the address of the kernel > page ? do you use fixed address or tell it via program headers like > the PT_TLS set by kernel, check /usr/src/lib/libc/gen/tls.c. Can you not make a simple pseudo device driver and mmap the page? -- DE