Date: Thu, 7 Jun 2012 09:56:02 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-arch@freebsd.org Cc: Attilio Rao <attilio@freebsd.org>, alc@freebsd.org, Giovanni Trematerra <giovanni.trematerra@gmail.com>, Konstantin Belousov <kib@freebsd.org>, Alexander Kabaev <kan@freebsd.org> Subject: Re: [RFC] Kernel shared variables Message-ID: <201206070956.03129.jhb@freebsd.org> In-Reply-To: <CACfq090r1tWhuDkxdSZ24fwafbVKU0yduu1yV2%2BoYo%2BwwT4ipA@mail.gmail.com> References: <CACfq090r1tWhuDkxdSZ24fwafbVKU0yduu1yV2%2BoYo%2BwwT4ipA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday, June 01, 2012 1:53:15 pm Giovanni Trematerra wrote: > Hello, > I'd like to discuss a way to provide a mechanism to share some read-only > data between kernel and user space programs avoiding syscall overhead, > implementing some them, such as gettimeofday(3) and time(3) as ordinary > user space routine. > > The patch at > http://www.trematerra.net/patches/ksvar_experimental.patch I realize this thread descended a bit, and I do still think that Konstantin's patch is probably the right way forward for gettimeofday(). However, have you thought at all about a per-process page? There was another fork in this thread that dealt with per-process data such as getpid() (for which it does seem there are real-world uses). I realize the KSVAR stuff might not easily be adjusted to working with a per-process page (though Jeff did do something interesting with having a template page defined by DPCPU that was then copied for each CPU). It would also seem that for things like getpid(), getppid(), and getuid() it might be best to go the vdso route. Is that something you would be interested in working on? -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201206070956.03129.jhb>