Re: [RESEND][PATCH] Mark thread stack correctly in proc/<pid>/maps

From: Mike Frysinger
Date: Fri Feb 03 2012 - 05:29:16 EST


On Friday 03 February 2012 03:01:35 KOSAKI Motohiro wrote:
> > Right now MAP_STACK does not mean anything since it is ignored. The
> > intention of this behaviour change is to make MAP_STACK mean that the
> > map is going to be used as a stack and hence, set it up like a stack
> > ought to be. I could not really think of a valid case for fixed size
> > stacks; it looks like a limitation in the pthread implementation in
> > glibc rather than a feature. So this patch will actually result in
> > uniform behaviour across threads when it comes to stacks.
> >
> > This does change vm accounting since thread stacks were earlier
> > accounted as anon memory.
>
> The fact is, now process stack and pthread stack clearly behave
> different dance. libc don't expect pthread stack grow automatically.
> So, your patch will break userland. Just only change display thing.

does it though ? glibc doesn't keep track of the unused address space ...
that's what the kernel is for. pthread_attr_setstacksize explicitly operates
on the *minimum* stack size, not the *exact* size.

where exactly do you think userland would break ?

http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_attr_setstacksize.html
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.