Fwd: [RFC] Kernel shared variables

John Baldwin jhb at freebsd.org
Mon Jun 4 21:30:16 UTC 2012


On Monday, June 04, 2012 5:16:10 pm Giovanni Trematerra wrote:
> On Mon, Jun 4, 2012 at 8:19 PM, Konstantin Belousov <kostikbel at gmail.com> wrote:
> > On Mon, Jun 04, 2012 at 11:01:57AM -0400, John Baldwin wrote:
> >> On Sunday, June 03, 2012 6:49:27 am Bruce Evans wrote:
> >> > On Sun, 3 Jun 2012, Konstantin Belousov wrote:
> 
> >> I think duplicating this logic in userland would just be wasteful.  I have
> >> a private fast gettimeofday() at my current job and it works by exporting
> >> the current timehands structure (well, the equivalent) to userland.  The
> >> userland bits then fetch a copy of the details and do the same as bintime().
> >> (I move the math (bintime_addx() and the multiply)) out of the loop however.
> > I started yesterday an implementation which uses shared page to export
> > some variant of timehands, and uses auxv to provide the libc with a pointer
> > to timehands when rdtsc is reasonable.
> >
> > I almost finished both 32bit and 64bit userspace, but there is
> > kernel-side work left. Is your implementation ready or close to be ready
> > for commit ? In other words, should I drop the efforts, or continue ?
> >
> 
> Hey wait, What are you doing?
> This is completely unfair. You didn't even review my patch.
> I really don't understand your way to completely ignore me and start implement
> yesterday something you didn't care about for more than 3 years.
> It costs me a lot of time and energy and I think I deserve more respect that
> just be ignored.

In fairness, I would not be able to use your version of gettimeofday().  My
application requires something where we can interpolate based on the value of
rdtsc().

Also, I don't really see the need to export anything other than the details to
make gettimeofday() faster.  I don't see a practical need for using shared
variables for getpid(), getpgid(), getppid(), getuid(), or the like.

-- 
John Baldwin


More information about the freebsd-arch mailing list