cvs commit: src/sys/kern kern_time.c

Attilio Rao attilio at freebsd.org
Fri Jan 18 06:36:18 PST 2008


2008/1/18, John Baldwin <jhb at freebsd.org>:
> On Friday 18 January 2008 08:34:57 am Attilio Rao wrote:
> > 2008/1/18, David Xu <davidxu at freebsd.org>:
> > > davidxu     2008-01-18 13:00:28 UTC
> > >
> > >   FreeBSD src repository
> > >
> > >   Modified files:
> > >     sys/kern             kern_time.c
> > >   Log:
> > >   Make sure reading td_runtime in critical section since thread may be
> > >   preempted and td_runtime will be modified.
> >
> > If you don't need the operation to be atomical with other operations
> > inside the critical path (and I don't expect so) this change is
> > pointless as our reading are always atomic.
>
> Not on 32-bit archs like i386.  They may do two 32-bit reads and you could
> have problems if the lower 32 wraps in between the reads.

Ah, right, td_runtime is uint64_t, sorry.

Attilio


-- 
Peace can only be achieved by understanding - A. Einstein


More information about the cvs-src mailing list