Re: subobj-rmap

Rik van Riel
2003-04-06T21:42:51Z

On Sun, 6 Apr 2003, Martin J. Bligh wrote:

> Supposing we keep a list of areas (hung from the address_space) that
> describes independant linear ranges of memory that have the same set
> of vma's mapping them (call those subobjects). Each subobject has a
> chain of vma's from it that are mapping that subobject.
>
> address_space ---> subobject ---> subobject ---> subobject ---> subobject
> | | | |
> v v v v
> vma vma vma vma
> | | |
> v v v
> vma vma vma
> | |
> v v
> vma vma

OK, lets say we have a file of 1000 pages, or
offsets 0 to 999, with the following mappings:

VMA A: 0-999
VMA B: 0-200
VMA C: 150-400
VMA D: 300-500
VMA E: 300-500
VMA F: 0-999

How would you describe these with independant
regions ?

For VMAs D & E and A & F it's a no-brainer,
but for Oracle shared memory you shouldn't
assume that you have any similar mappings.

I don't see how the data structure you describe
would allow us to efficiently select the subset
of VMAs for which:

1) the start address is smaller than the address we want
and
2) the end address is larger than the address we want

Then again, that might just be my lack of imagination.

cheers,

Rik