On Wed, 10 Oct 2012 00:09:12 +0000 KY Srinivasan <k...@microsoft.com> wrote:

> > > +         if (!pg) {
> > > +                 *alloc_error = true;
> > > +                 return i * alloc_unit;
> > > +         }
> > > +
> > > +         totalram_pages -= alloc_unit;
> > 
> > Well, I'd consider totalram_pages to be an mm-private thing which drivers
> > shouldn't muck with.  Why is this done?
> 
> By modifying the totalram_pages, the information presented in /proc/meminfo
> correctly reflects what is currently assigned to the guest (MemTotal).

eh?  /proc/meminfo:MemTotal tells you the total memory in the machine. 
The only thing which should change it after boot is memory hotplug. 

Modifying it in this manner puts the statistic into a state know as
"wrong".  And temporarily modifying it in this fashion will cause the
tremendous amount of initialisation code which relies upon
totalram_pages for sizing to also enter the "wrong" state.

Why on earth do balloon drivers do this?  If the amount of memory which
is consumed by balloons is interesting then it should be exported via a
standalone metric, not by mucking with totalram_pages.

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