>> 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 ?
Good question to illustrate with.
Extra spacing added just for ease of reading:
0-150 -> 150-200 -> 200-300 -> 300-400 -> 400-500 -> 500-999
A A A A A A
B B
C C C
D D
E E
F F F F F F
> 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
We can always leave the sys_remap_file_pages stuff using pte_chains,
and should certainly do that at first. But doing it for normal stuff
should be less controversial, I think.
M.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon Apr 07 2003 - 22:00:29 EST