Messages in this thread | | | Date | Wed, 18 Nov 2015 13:11:42 -0500 | From | Tejun Heo <> | Subject | Re: [PATCH] writeback: initialize m_dirty to avoid compile warning |
| |
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
| |