On Wed, 17 Jul 2013, Dave Jones wrote: > On Wed, Jul 17, 2013 at 05:58:13PM -0700, Hugh Dickins wrote: > > On Wed, 17 Jul 2013, Dave Hansen wrote: > > > On 07/17/2013 02:09 PM, Andrew Morton wrote: > > > > lock_page() is a pretty commonly called function, and I assume quite a > > > > lot of people run with CONFIG_DEBUG_VM=y. > > > > > > > > Is the overhead added by this patch really worthwhile? > > > > > > I always thought of it as a developer-only thing. I don't think any of > > > the big distros turn it on by default. > > > > That's how I think of it too (and the problem is often that too few mm > > developers turn it on); but Dave Jones did confirm last November that > > Fedora turns it on. > > > > I believe Fedora turns it on to help us all, and wouldn't mind a mere > > VM_BUG_ON(PageTail(page)) in __lock_page() if it's helpful to Kirill. > > > > But if VM_BUG_ONs become expensive, I do think it's for Fedora to > > turn off CONFIG_DEBUG_VM, rather than for mm developers to avoid it. > > I'm ambivalent about whether we keep it on or off, we have no shortage > of bugs to fix already, though I think as mentioned above, very few people > actually enable it, so we're going to lose a lot of testing. > > Another idea, perhaps is an extra config option for more expensive debug options ? I can't think of any expensive debug under CONFIG_DEBUG_VM at present, just a little overhead as you'd expect. I don't think checking a page flag or two in __lock_page() will change that much. We do tend to make specific debug options for the more expensive ones, rather than a generic heavy debug option. For example CONFIG_DEBUG_VM_RB, which checks an mm's entire vma tree whenever a change is made there. We could group the heavy debug options, like that and CONFIG_PROVE_LOCKING, into a menu of their own; but I've no appetite for such a change myself! Hugh -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html