Re: [RT PATCH v2] seqlock: serialize against writers

From: Gregory Haskins
Date: Fri Aug 29 2008 - 14:15:30 EST


Gregory Haskins wrote:
> *Patch submitted for inclusion in PREEMPT_RT 26-rt4. Applies to 2.6.26.3-rt3*
>
> Hi Ingo, Steven, Thomas,
> Please consider for -rt4. This fixes a nasty deadlock on my systems under
> heavy load.
>
> [
> Changelog:
> v2: only touch seqlock_t because raw_seqlock_t doesn't require
> serialization and userspace cannot modify data during a read
>
> v1: initial release
> ]
>

Hi Andi,
As it turns out, my distcc backend was an x86_64 machine running the
v1 patch and I started to notice sometime today that certain cc1 jobs
were sometimes (albeit rarely) segfaulting on me. I noticed that before
I even published the first patch, but I chalked it up to a corrupt .o on
my NFS home. Plus I was forgetting that the distcc machine was running
the patch, and I would probably have never made the userspace connection
had you not mentioned it. In any case, I self-built this v2 patch with
v2 applied, and the segfaults have gone away. So I think we know
several things:

1) You were right that this would cause an issue if the slow path is hit.
2) Steven was right that userspace must use raw_seqlock_t because it no
longer crashes with v2.
3) I am satisfied that my primary concern is still properly addressed.

Hopefully everyone is satisfied with this patch now.

Thanks for the help. It's much appreciated!

-Greg


Attachment: signature.asc
Description: OpenPGP digital signature