On 09/13/2013 05:19 PM, John Stultz wrote: > Currently seqlocks and seqcounts don't support lockdep. > > After running across a seqcount related deadlock in the timekeeping > code, I used a less-refined and more focused varient of this patch > to narrow down the cause of the issue. > > This is a first-pass attempt to properly enable lockdep functionality > on seqlocks and seqcounts. > > Since seqcounts are used in the vdso gettimeofday code, I've provided > lockdep accessors. > > I've also handled one cases where there were nested seqlock writers > and there may be more edge cases.
Oof. So I just noticed there's a bunch of places in the network code that use fairly deeply embedded seqcounter: u64_stats_sync. There's almost never an explicit initialization, as they assume they're zeroed when allocated, but this causes trouble with the lockdep key initialization. I'll have to go through each of these (about 25 cases) and make them call seqcount_init(), but since I'm heading to plumbers tomorrow I might not get to it until next week. Anyway, let me know if you have any other thoughts on the patches. thanks -john -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

