From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Mosberger Date: Fri, 10 Oct 2003 16:42:35 +0000 Subject: Re: [PATCH_TAKE_2] now < last_tick problem Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-ia64@vger.kernel.org Ian, Just a quick note (got to run): I think you correctly identified the race causing the now < last_tick problem. Purely from (bad) memory, I think the problem was introduced when xtime_lock was converted from an irq-safe spinlock to a seq-lock. In theory, xtime_lock still protects get_offset(), but the theory only holds as long as the seq-lock body is "transactional" (no side-effects until read_seqretry() returns 0). I think the source of the probem is that we consider the value returned by get_offset() to be valid EVEN when read_seqretry() returns 1. Because of that, we'll end up updating last_nsec_offset with a potentialy bad value. --david