2003-01-28 23:32:29

by Stephen Hemminger

[permalink] [raw]
Subject: [PATCH] (0/4) 2.5.59 fast reader/writer lock for gettimeofday


The following set of patches provides a faster specialized
reader/writer primitive which then is used to provide lockless
version of gettimeofday. It is an update to my earlier patch
(http://lwn.net/Articles/7388/) based on feed back from Andrea Arcangeli
in the 2.4-aa kernel and Andrew Morton in 2.5.59-mm6.

This solves the denial-of-service problem of repeated gettimeofday
readers, starving timer tick update. This has been observed by several
people.

As an added benefit, it improves the performance of gettimeofday by 18%
from 1100 clocks to 900 clocks (on my SMP P4 Xeon) using the sysenter
version of glibc.

This mechanism is general. There has been some discussion
that it could also be used to solve the problem
of atomic updates to composite values like i_size.

Please consider including this for 2.5. The patch is broken into
generic, i386, ia64, and other archiecture pieces. The i386 and ia64
versions have been tested. The other arch's are simple edits. x86_64
has NOT been done, but this could replace the vxtime[] sequence number
there.

Thanks

--
Stephen Hemminger <[email protected]>
Open Source Devlopment Lab