Re: + doc-lockdep-design-explain-display-of-state-bits.patch addedto -mm tree

From: Jim Cromie
Date: Sat Sep 23 2006 - 12:45:38 EST


Ingo Molnar wrote:
* Jim Cromie <jim.cromie@xxxxxxxxx> wrote:

btw '?' carries *is this really what you want ?* connotations. Is that intended ? If not, maybe '=' is better.. 2 lines --> 'both'

well i dont see '=' any better than '?'.

let me rephrase.

for someone who knows intimately what they mean, how the flags are rendered is unimportant.

but for someone who is looking to understand what lockdep errors/messages mean,
they may look for hints in the the choice of flag-char, which could convey 'severity'

! - something went bang, oh shit
* - splatted on landing
? - huh? - did you mean to do this ?
_ - blank, unspecified ..

It could be that making any such inferences is looking for hints that dont exist,
otoh - if some messages are more severe, it would make sense to connote that in the
choice of symbols to represent the flags/states.

IOW, were I to find a lockdep errmsg with {--??} vs {--..} in dmesg,
would it warrant any extra attention (as in *fix-me-first*) ? or just investigated



[ btw.: truly '....' locks are candiates for optimization, as they unnecessarily disable interrupts in process context. ]
is that a future optimization, needing another pair of functions/macros ?

it means they dont really have to be spin_lock_irq()/spin_unlock_irq() uses but spin_lock()/spin_unlock() would be enough. (but it's not guaranted - some rare codepath that has not triggered yet might use those locks from IRQ context, at which point the irq-safety in process context is compulsory.)

Thats helpful. So continuing this line..
If joe-hacker were to falsely optimize, and then trigger the rare path later,
would the lockdep errmsg contain { ??}, or do I oversimplify ?

Ingo


thanks
-
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/