On Fri, 10 Jan 2014 09:05:04 +0100 Michal Hocko <mho...@suse.cz> wrote:

> > > --- a/mm/huge_memory.c
> > > +++ b/mm/huge_memory.c
> > > @@ -100,6 +100,7 @@ static struct khugepaged_scan khugepaged_scan = {
> > >   .mm_head = LIST_HEAD_INIT(khugepaged_scan.mm_head),
> > >  };
> > >  
> > > +extern int user_min_free_kbytes;
> > >  
> > 
> > We don't add extern declarations to .c files.  How many other examples of 
> > this can you find in mm/?
> 
> I have suggested this because general visibility is not needed.

It's best to use a common declaration which is seen by the definition
site and all references, so everyone agrees on the variable's type. 
Otherwise we could have "long foo;" in one file and "extern char foo;"
in another and the compiler won't tell us.  I think the linker could
tell us, but it doesn't, afaik.  Perhaps there's an option...

> But if
> you think that it should then include/linux/mm.h sounds like a proper
> place.

mm/internal.h might suit.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to