|
From: Jeremy F. <je...@go...> - 2003-04-17 08:18:29
|
Quoting "Neulinger, Nathan" <nn...@um...>:
> I believe that LWP (afs's light weight process library) defaults to a
> minimum stack size of 192k for linux.
>
> Although some of the users of that library request smaller -
> 8k/16k/24k/etc. I believe the minimum is enforced.
>
> Here's the warnings I get when testing:
>
> ==11883== Warning: client switching stacks? %esp: 0xBFFFEB5C -->
> 0x41067ABC
> ==11883== Warning: client switching stacks? %esp: 0x41067A08 -->
> 0xBFFFEB90
> ==11883== Warning: client switching stacks? %esp: 0xBFFFEB8C -->
> 0x410AC094
> ==11883== Warning: client switching stacks? %esp: 0x410ABE90 -->
> 0xBFFFEBC0
> ==11883== Warning: client switching stacks? %esp: 0xBFFFE66C -->
> 0x410ABEF4
>
> Those are fairly large address changes. It looks to me like it is
> switching to a temporary stack stored in malloc'd memory.
>
> In vg_memory, it talks about a VG_PLAUSIBLE_STACK_SIZE of 8000000 and
> VG_HUGE_DELTA of VG_P_S_S / 4.
>
> I wonder if perhaps the issue is that the above stack switches show up
> as changes because it's going from the normal stack to malloc'd mem,
> but
> changes between the fake stacks are not showing up, since they are
> small
> switches within malloced mem.
Yup, that would be it. Make HUGE_DELTA smallish and see if that helps (and
increase the LWP stack size if you can).
J
|