Which Segment Keeper
Jonathan S. Shapiro
Fri, 3 Apr 1998 07:59:25 -0500
I understand your line of reasoning, and it was mine as well. I
implemented things that way and ran into the following difficulty:
If a process has a red segment as its address space, references above
the lss value of the red segment that are intended to grow the heap
don't do so. Also, I see no order code that would request the red
segment to grow.
Norm suggested that in your scenario the fault would be delivered to
the red segment keeper, on the grounds that the address fell within
the expected address range for the slot, even if it didn't fall within
the range of the keeper.
As a practical matter, the implementation difference is quite small.
I went back and forth for a while, and concluded that the red segment
keeper can always decide to pass the buck, and ended up going with
Given your interpretation, though, I think the questions are these:
1. How does the factory know the correct size segment to build for a
process whose address space segment is kept?
2. Once it knows, how does it tell the segment to become the right