✘64-bit time_t on glibc 2.34 and up

Gary E. Miller gem at rellim.com
Fri Jan 13 21:50:00 UTC 2023


Yo James!

On Fri, 13 Jan 2023 13:43:38 -0800 (PST)
James Browning <jamesb192 at jamesb192.com> wrote:

> > On 01/13/2023 1:06 PM PST Hal Murray <halmurray at sonic.net> wrote:
> > 
> > 
> > If we make any changes to SHM, we should switch to a setup where
> > the memory is read only. The idea is to allow multiple readers.
> > 
> > The trick to implementing that is to have 2 counters.
> > X and Y are initialized to the same value.
> > The writer bumps X, updates the data, then bumps Y.
> > The reader grabs Y, grabs the data, then grabs X.
> > If X and Y are the same the data is valid. If not, try again.  
> 
> I've heard you mention this before, and I specced it
> by calling them bookends instead and sticking them at
> opposite ends of a 4KiB page-sized struct.

How do you force 4kB page size?  Or 4kB alignment?  Maybe the
kernel is using hug pages?

On a modern CPU, you have no way to force what gets written first.
You used to me able to depend on the write order of memcpy(), but not
true for a while.

RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
	gem at rellim.com  Tel:+1 541 382 8588

	    Veritas liberabit vos. -- Quid est veritas?
    "If you can't measure it, you can't improve it." - Lord Kelvin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 851 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ntpsec.org/pipermail/devel/attachments/20230113/72f9c2ca/attachment.bin>


More information about the devel mailing list