Re: shmem_getpage_gfp VM_BUG_ON triggered. [3.7rc2]

From: Dave Jones
Date: Thu Nov 01 2012 - 21:43:33 EST


On Thu, Nov 01, 2012 at 04:48:41PM -0700, Hugh Dickins wrote:
> On Thu, 1 Nov 2012, Dave Jones wrote:
> > On Thu, Nov 01, 2012 at 04:03:40PM -0700, Hugh Dickins wrote:
> > >
> > > Except... earlier in the thread you explained how you hacked
> > > #define VM_BUG_ON(cond) WARN_ON(cond)
> > > to get this to come out as a warning instead of a bug,
> > > and now it looks as if "a user" has here done the same.
> > >
> > > Which is very much a user's right, of course; but does
> > > make me wonder whether that user might actually be davej ;)
> >
> > indirectly. I made the same change in the Fedora kernel a while ago
> > to test a hypothesis that we weren't getting any VM_BUG_ON reports.
>
> Fedora turns on CONFIG_DEBUG_VM?

Yes.

> All mm developers should thank you for the wider testing exposure;
> but I'm not so sure that Fedora users should thank you for turning
> it on - really it's for mm developers to wrap around !assertions or
> more expensive checks (e.g. checking calls) in their development.

The last time I did some benchmarking the impact wasn't as ridiculous
as say lockdep, or spinlock debug. Maybe the benchmarks I was using
weren't pushing the VM very hard, but it seemed to me that the value
in getting info in potential problems early was higher than a small
performance increase.

> Or did I read a few months ago that some change had been made to
> such definitions, and VM_BUG_ON(contents) are evaluated even when
> the config option is off? I do hope I'm mistaken on that.

Pretty sure that isn't the case. I remember Andrew chastising people
a few times for putting checks in VM_BUG_ON's that needed to stay around
even when the config option was off. Perhaps you were thinking of one
of those incidents ?

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