Re: [PATCH RT] seqlock/rt: Prevent livelocks with seqlocks in RT

From: Steven Rostedt
Date: Tue Mar 06 2012 - 07:47:29 EST


On Tue, 2012-03-06 at 09:18 +0100, Thomas Gleixner wrote:

> > Because read_seqlocks are used in the VDSO area, a raw_read_seqcount_begin()
> > was created to allow userspace tasks to access read_seqcount().
> > As the grabbing of the write_lock() is not allowed in VDSO, nor
> > is even referencing it.
>
> This is completely bogus. The VDSO update write side runs with
> interrupts disabled, so it cannot be preempted at all.
>
> > Note, a live lock can still happen if the userspace task that
> > does the read_seqlock is of higher priority than a user doing
> > the write_lock, so userspace needs to be careful.
>
> What the hell are you smoking?

Cherries.


I forgot I still had that in my changelog. I wrote this code before I
had your changes. I noticed later that the vdso seqlocks were raw
spinlocks and shouldn't be an issue. As you told me that you had this
fixed, I never bothered to change the log.

Then last night when I hit this bug, I simply cherry picked this fixed
and posted it.

-- Steve


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/