On 2013-07-02 17:08, Paolo Bonzini wrote:
> 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.

Well, PhysPageMap is still globally owned. And as long as this is not
broken up, you are likely right. So let's wait with this for the next
refactoring round.

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux

Reply via email to