On Wed, 13 Aug, at 07:37:37AM, Guenter Roeck wrote: > > WARN_ON and WARN_ON_SMP are unconditional. lockdep_assert_held() > is only active if lockdep debugging is enabled. Not knowing the code, > nor the reason why the unconditional method was chosen, I prefer > to refrain from functional changes and limit myself to bug fixes. As the author of that code, I feel confident telling you that the unconditional method was used because the author is a boob. The code isn't so important that we need to unconditionally check the locks, and indeed it's possible to run into all sorts of problems when you don't use the standard lock-checking functions - the non-SMP crash being a good example.
> Also, if and how the code can be optimized is another question, > which in my opinion should be separate from a bug fix. > > Anyway, this specific bug doesn't affect me at this time; > I only noticed the problem since mainline currently crashes > on several non-SMP platforms due to the same problem. So > I don't mind if this patch is not or not immediately applied > until the discussion about how to best fix it is complete. Would you mind sending a patch swapping WARN_ON(!spin_is_locked()) for lockdep_assert_held() ? That's still a bug fix (and your non-SMP breakage rationale still makes sense), but I think it's a more preferable fix. -- Matt Fleming, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/