RE: [PATCH] remove duplicate asm/mman.h files

David Rientjes
2009-09-21T23:46:38Z

On Mon, 21 Sep 2009, Luck, Tony wrote:

> >> Is it perhaps the case that some UNIX on ia64 does implement MAP_GROWSUP,
> >> and these numbers in the Linux ia64 mman.h have been chosen to match that
> >> reference implementation? Tony will know. But I wonder if you'd do
> >> better at least to leave a MAP_GROWSUP comment on that line, so that
> >> somebody doesn't go and reuse the empty slot later on.
> >>
> >
> > Reserving the bit from future use by adding a comment may be helpful, but
> > then let's do it for MAP_GROWSDOWN too.
>
> Tony can only speculate because this bit has been in asm/mman.h
> since before I started working on Linux (it is in the 2.4.0
> version ... which is roughly when I started ... and long before
> I was responsible for it).
>
> Perhaps it was assumed that it would be useful? Linux/ia64 does
> use upwardly growing memory areas (the h/w register stack engine
> saves "stack" registers to an area that grows upwards).
>
> But since we have survived this long without it actually being
> implemented, it may be true that we don't really need it after
> all.
>

glibc notes that both MAP_GROWSUP and MAP_GROWSDOWN are specific to Linux,
yet they don't functionally do anything. While it may be true that
there's no cost associated with keeping them around, I also think
exporting such flags to userspace may give developers the belief that the
implementation actually respects them when they're passed.

Ulrich wanted to do this last year but it appears to have been dropped.

Unless there's a convincing argument in the other direction, I don't see
why they both can't just be removed and their bits reserved.