Re: [PATCH] writeback: initialize m_dirty to avoid compile warning

From: Tejun Heo
Date: Wed Nov 18 2015 - 13:11:50 EST


Hello,

On Tue, Nov 17, 2015 at 03:38:55PM -0800, Andrew Morton wrote:
> > --- a/mm/page-writeback.c
> > +++ b/mm/page-writeback.c
> > @@ -1542,7 +1542,7 @@ static void balance_dirty_pages(struct address_space *mapping,
> > for (;;) {
> > unsigned long now = jiffies;
> > unsigned long dirty, thresh, bg_thresh;
> > - unsigned long m_dirty, m_thresh, m_bg_thresh;
> > + unsigned long m_dirty = 0, m_thresh = 0, m_bg_thresh = 0;
> >
> > /*
> > * Unstable writes are a feature of certain networked
>
> Adding runtime overhead to suppress a compile-time warning is Just
> Wrong.
>
> With gcc-4.4.4 the above patch actually reduces page-writeback.o's
> .text by 36 bytes, lol. With gcc-4.8.4 the patch saves 19 bytes. No
> idea what's going on there...
>
>
> And initializing locals in the above fashion can hide real bugs -
> looky:

This was the main reason the code was structured the way it is. If
cgroup writeback is not enabled, any derefs of mdtc variables should
trigger warnings. Ugh... I don't know. Compiler really should be
able to tell this much.

Thanks.

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