Re: [PATCH] seqlock: serialize against writers

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Gregory Haskins
Date: Friday, August 29, 2008 - 10:00 am

Andi Kleen wrote:


Well, I guess it was just to prove to myself that I broke something
because I dont understand how the vsyscall interface works.  But given
your expertise here, I have no problem with just taking your word for it.=



t,
Yeah, understood.  There is both in -rt and I was just saying that we
technically only need the seqlock_t fix in -rt.  So if raw_seqlock_t
could be left pristine and solve this problem, that is an acceptable
compromise to me.


ed
e

Yeah, it would possibly be a problem in both cases.

The problem I am addressing only exists in -rt since it has seqlock_t
and raw_seqlock_t (with the former using preemptible spinlock_t's).=20
Since the underlying seqlock_t->spinlock_t is preemptible, you can see
that one thread that does:

{
    write_seqlock();
    /* asl */
    write_sequnlock();
}

while other high-prio threads do

do { read_seqbegin(); /* asl */; } while (read_seqretry());

The readers could preempt the writer mid critical section and enter a
live-locked loop.

raw_seqlock_t (which is equivalent to a mainline seqlock_t) do not have
this problem because the spinlock acquisition inside the write_seqlock
disables preemption.

HTH

-Greg
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] seqlock: serialize against writers, Gregory Haskins, (Fri Aug 29, 8:44 am)
Re: [PATCH] seqlock: serialize against writers, Andi Kleen, (Fri Aug 29, 9:09 am)
Re: [PATCH] seqlock: serialize against writers, Gregory Haskins, (Fri Aug 29, 9:10 am)
Re: [PATCH] seqlock: serialize against writers, Andi Kleen, (Fri Aug 29, 9:22 am)
Re: [PATCH] seqlock: serialize against writers, Gregory Haskins, (Fri Aug 29, 9:26 am)
Re: [PATCH] seqlock: serialize against writers, Gregory Haskins, (Fri Aug 29, 9:29 am)
Re: [PATCH] seqlock: serialize against writers, Steven Rostedt, (Fri Aug 29, 9:34 am)
Re: [PATCH] seqlock: serialize against writers, Gregory Haskins, (Fri Aug 29, 9:35 am)
Re: [PATCH] seqlock: serialize against writers, Andi Kleen, (Fri Aug 29, 9:37 am)
Re: [PATCH] seqlock: serialize against writers, Gregory Haskins, (Fri Aug 29, 9:41 am)
Re: [PATCH] seqlock: serialize against writers, Andi Kleen, (Fri Aug 29, 9:45 am)
Re: [PATCH] seqlock: serialize against writers, Steven Rostedt, (Fri Aug 29, 9:53 am)
Re: [PATCH] seqlock: serialize against writers, Stephen Hemminger, (Fri Aug 29, 9:57 am)
Re: [PATCH] seqlock: serialize against writers, Steven Rostedt, (Fri Aug 29, 9:58 am)
Re: [PATCH] seqlock: serialize against writers, Gregory Haskins, (Fri Aug 29, 10:00 am)
Re: [PATCH] seqlock: serialize against writers, Gregory Haskins, (Fri Aug 29, 10:00 am)
Re: [ RT PATCH] seqlock: serialize against writers, Steven Rostedt, (Fri Aug 29, 10:02 am)
Re: [PATCH] seqlock: serialize against writers, Andi Kleen, (Fri Aug 29, 10:08 am)
[RT PATCH v2] seqlock: serialize against writers, Gregory Haskins, (Fri Aug 29, 11:03 am)
Re: [RT PATCH v2] seqlock: serialize against writers, Gregory Haskins, (Fri Aug 29, 11:12 am)
Re: [PATCH] seqlock: serialize against writers, Peter Zijlstra, (Sat Aug 30, 4:08 am)
Re: [RT PATCH v2] seqlock: serialize against writers, Peter Zijlstra, (Sat Aug 30, 4:17 am)
Re: [RT PATCH v2] seqlock: serialize against writers, Gregory Haskins, (Sat Aug 30, 5:32 am)
Re: [RT PATCH v2] seqlock: serialize against writers, Peter Zijlstra, (Sat Aug 30, 5:38 am)
Re: [RT PATCH v2] seqlock: serialize against writers, Gregory Haskins, (Sat Aug 30, 6:05 am)
[RT PATCH v3] seqlock: serialize against writers, Gregory Haskins, (Tue Sep 2, 5:45 am)
Re: [RT PATCH v3] seqlock: serialize against writers, Gregory Haskins, (Tue Sep 2, 6:01 am)
[RT PATCH v4] seqlock: serialize against writers, Gregory Haskins, (Tue Sep 2, 6:29 am)