lkml.org 
[lkml]   [2013]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH] Introduce timekeeper latch synchronization
* Mathieu Desnoyers (mathieu.desnoyers@efficios.com) wrote:
[...]
> @@ -1362,29 +1398,31 @@ static inline void old_vsyscall_fixup(struct timekeeper *tk)
> static void update_wall_time(void)
> {
[...]
> - /*
> - * Update the real timekeeper.
> - *
> - * We could avoid this memcpy by switching pointers, but that
> - * requires changes to all other timekeeper usage sites as
> - * well, i.e. move the timekeeper pointer getter into the
> - * spinlocked/seqcount protected sections. And we trade this
> - * memcpy under the timekeeper_seq against one before we start
> - * updating.
> - */
> - memcpy(real_tk, tk, sizeof(*tk));
> - timekeeping_update(real_tk, action);

This line above appears to be important ;-) Let's see if my screensaver
stops misbehaving if I put it back. I will of course send a v2 after
some more testing.

By the way, if there are some standard test-bench for timekeeping, I'd
be very interested to hear about them.

Thanks!

Mathieu

> - write_seqcount_end(&timekeeper_seq);
> out:
> + timekeeper_write_end(&latch_timekeeper);
> raw_spin_unlock_irqrestore(&timekeeper_lock, flags);
> }

--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com


\
 
 \ /
  Last update: 2013-09-13 19:01    [W:0.088 / U:0.740 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site