Konstantin Belousov f4b5a9725a Reimplement the ordering requirements for the timehands updates, and
for timehands consumers, by using fences.

Ensure that the timehands->th_generation reset to zero is visible
before the data update is visible [*].  tc_setget() allowed data update
writes to become visible before generation (but not on TSO
architectures).

Remove tc_setgen(), tc_getgen() helpers, use atomics inline [**].

Noted by:	alc [*]
Requested by:	bde [**]
Reviewed by:	alc, bde
Sponsored by:	The FreeBSD Foundation
MFC after:	3 weeks
2015-07-08 18:42:08 +00:00
..
2015-04-18 21:50:53 +00:00
2015-04-22 14:38:58 +00:00
2015-06-30 17:00:45 +00:00
2015-01-22 11:12:42 +00:00
2015-06-30 17:00:45 +00:00
2015-06-12 10:01:24 +00:00
2015-06-12 10:01:24 +00:00
2015-06-10 10:48:12 +00:00
2015-01-22 11:12:42 +00:00
2015-06-12 10:01:24 +00:00
2015-04-22 14:38:58 +00:00
2014-03-14 06:29:43 +00:00
2015-06-30 17:00:45 +00:00
2014-06-26 13:57:44 +00:00
2014-08-11 15:06:07 +00:00
2015-01-22 11:12:42 +00:00
2015-06-10 10:48:12 +00:00
2015-04-18 21:50:53 +00:00
2015-04-18 21:50:53 +00:00
2015-06-10 10:48:12 +00:00
2014-11-30 12:52:33 +00:00
2015-03-17 14:16:50 +00:00