[PATCH] sched_clock: Disable seqlock lockdep usage in sched_clock

Linus Torvalds torvalds at linux-foundation.org
Thu Jan 2 17:15:08 EST 2014


On Thu, Jan 2, 2014 at 1:54 PM, John Stultz <john.stultz at linaro.org> wrote:
> Unforunately the seqlock lockdep enablmenet can't be used
> in sched_clock, since the lockdep infrastructure eventually
> calls into sched_clock, which causes a deadlock.
>
> Thus, this patch adds _no_lockdep() seqlock methods for the
> writer side, and changes all generic sched_clock usage to use
> the _no_lockdep methods.

Ugh.

On the x86 vclock_gettime() side, we only do this for the reader. Why
did you make the generic version do it for the writer too, adding the
necessity for those new operations? It's only the reader side that
doesn't want it.

Talking about the new operations, that "*_no_lockdep()" naming annoys
me. It doesn't match the spinlock naming, which is to just use
"raw_*()" instead. Wouldn't it be nice to make the naming be
consistent too? Especially when it's paired with raw_local_irq_save()
that shares that "raw_" model for non-checking stuff.

             Linus



More information about the linux-arm-kernel mailing list