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 |