Re: Revert needed: udev spewing warnons on common systems in 3.0

From: David Rientjes
Date: Mon Aug 01 2011 - 22:22:25 EST


On Mon, 1 Aug 2011, Linus Torvalds wrote:

> > aw, what crap.
> >
> > "/proc/%d/oom_adj is deprecated, please use /proc/%d/oom_score_adj instead."
> >
> > Once per boot.  That's not "scary".
>
> It is when there is that totally pointless stack trace, and the kernel
> bug reporting tool picks it up and tells the user that there was a
> kernel oops.
>
> Which it really does.
>
> So if it was a "printk_once()" it would be fine. The WARN_ONCE() is
> just annoying.
>

It was a printk_once() when the tunable was scheduled to be removed two
years later. Now that one year has passed since the oom killer rewrite
has been merged, it was changed to a WARN_ONCE() simply to attract more
attention to the issue. The plan was to remove the tunable completely a
year from now as specified in Documentation/feature-removal-schedule.txt.

The intent here was to be more helpful than annoying or causing a problem
with a log parser that doesn't understand the different between a warning
and a panic or oops.

We could change it to a more obvious multi-line notification that an
application is using a deprecated interface that wouldn't parse like the
WARN_ONCE() output if you'd like. The single printk_once() obviously
wasn't sufficient over the course of a year to get enough applications to
change although things like udev, kde, and opensshd did. chromium
actually noticed the new WARN_ON() behavior and is in the process of
fixing it because of that.