On Tue, Sep 08, 2009 at 12:51:48PM -0700, David Rientjes wrote:
> On Tue, 8 Sep 2009, Mel Gorman wrote:
>
> > > Yes, but the caveat I'm pointing out (and is really clearly described in
> > > your documentation changes here) is that existing applications, shell
> > > scripts, job schedulers, whatever, which currently free all system
> > > hugepages (or do so at a consistent interval down to the surplus
> > > value to reclaim memory) will now leak disjoint pages since the freeing is
> > > now governed by its mempolicy.
> >
> > While this is a possibility, it makes little sense to assume that behaviour. To
> > be really bitten by the change, the policy used to allocate huge pages needs
> > to be different than the policy used to free them. This would be a bit
> > screwy as it would imply the job scheduler allocated pages that would
> > then be unusable by the job if policies were being obeyed which makes
> > very little sense.
> >
>
> Au contraire, the hugepages= kernel parameter is not restricted to any
> mempolicy.
>
I'm not seeing how it would be considered symmetric to compare allocation
at a boot-time parameter with freeing happening at run-time within a mempolicy.
It's more plausible to me that such a scenario will having the freeing
thread either with no policy or the ability to run with no policy
applied.
> > > If the benefits of doing this
> > > significantly outweigh that potential for userspace breakage, I have no
> > > objection to it. I just can't say for certain that it is.
> > >
> >
> > An application depending on memory policies to be ignored is pretty broken
> > to begin with.
> >
>
> Theoretically, yes, but not in practice. /proc/sys/vm/nr_hugepages has
> always allocated and freed with disregard to current's mempolicy prior to
> this patchset and it wouldn't be "broken" for an application to assume
> that it will continue to do so.
I don't think we're going to agree on this one. I find it very unlikely
that the process doing the allocation and freeing is going to have
different memory policies.
> More broken is assuming that such an
> application should have been written to change its mempolicy to include
> all nodes that have hugepages prior to freeing because someday the kernel
> would change to do mempolicy-restricted hugepage freeing.
>
It wouldn't have to be rewritten. At very worst, rearranged at startup
to have the same policy when allocating and freeing.
--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
To unsubscribe from this list: send the line "unsubscribe linux-numa" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Home]
[Linux USB Devel]
[Video for Linux]
[Linux Audio Users]
[Photo]
[Yosemite News]
[Yosemite Photos]
[Free Online Dating]
[Linux Kernel]
[Linux SCSI]
[XFree86]
[Devices]