On Mon, Nov 02, 2020 at 02:39:49PM -0800, Linus Torvalds wrote: > On Mon, Nov 2, 2020 at 2:19 PM Ahmed S. Darwish <a.darwish@xxxxxxxxxxxxx> wrote: > > > > Disabling preemption for seqcount_t write-side critical sections was > > never a new requirement. It has always been this way, for the reasons > > explained at Documentation/locking/seqlock.rst, "Introduction" section. > > Note that that is only true if you spin on the reading side (either of > the two kinds of spinning: (a) spinning to wait for it to become even, > or (b) repeating if they don't match) > > Which this code doesn't do, it just fails. > > I'm not sure how to perhaps document that. > Sure, and this is one of the reasons the lockdep non-preemptibility check is only added to the non-raw variants of the seqcount write APIs. Presumably, users of the raw_*() part of the API know what they're doing, and they don't need to read seqlock.rst :) (I'm in progress of replying to patch #2, which touches a bit on this and other points).. > Linus Thanks, -- Ahmed S. Darwish Linutronix GmbH