Il 02/07/2013 16:42, Jan Kiszka ha scritto:
>> > +typedef PhysPageEntry Node[L2_SIZE];
>> > +
>> >  struct AddressSpaceDispatch {
>> >      /* This is a multi-level map on the physical address space.
>> >       * The bottom level has pointers to MemoryRegionSections.
>> >       */
>> >      PhysPageEntry phys_map;
>> > +    Node *nodes;
>> > +    MemoryRegionSection *sections;
> Why not sticking the whole current PhysPageMap into here? Wouldn't that
> also allow to overcome prev_map completely (next patch)?

(BTW, this is also why patch 21 has two separate arguments to
phys_page_find).

Sticking a pointer would add one useless pointer chase.  Storing it by
value makes it unclear who owns the PhysPageMap and doesn't say that
AddressSpaceDispatch cannot extend the vectors.  In the end, this seemed
like a good compromise.

Paolo

Reply via email to