Re: [kvm-unit-tests PATCH v2 6/6] lib/x86/vm: enable malloc and friends

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 03/11/2016 19:12, Andrew Jones wrote:
> On Thu, Nov 03, 2016 at 06:34:45PM +0100, Paolo Bonzini wrote:
>> You're right, it needs alignment too.  So yeah, early_memalign's code
>> can be repurposed as the early allocator's morecore callback.  For the
>> current trivial malloc implementation, malloc would be implemented as
>> ops->morecore(size, align_min).  I think we agree on the overall idea
>> and on having only one function pointer.
> 
> Yup, already done. But 2, not 1, pointers. Still need 'free' too.

Didn't we say that the morecore allocator would only grow?

>> 3) make alloc_vpages go bottom to top (not strictly necessary but nice);
> 
> OK, from what base though? 0x8, i.e. just skip NULL?

Well, the right one would be "after the last thing that phys allocated".
 For x86 however you'd have to init the phys allocator to edata.  But
let's leave this for later.

>>
>> 4) replaces vmalloc/vfree with memalign(align=4096)/free in x86/;
> 
> I thought about this already, but I wasn't sure we wanted to abandon
> the explicit "I want virt mem" vmalloc naming. memalign/malloc will
> be vmalloc for any unit test that does setup_vm, but otherwise (if
> x86 adopted phys_alloc) it wouldn't. Maybe x86 should just never
> adopt phys_alloc, leading to asserts when setup_vm hasn't been
> called?

I don't think the tests want virtual memory specifically.  If they want,
they use things like vmap.

Paolo

>>
>> 5) moves the virt allocator and the vmalloc ops to a new file
>> lib/vmalloc.c (with install_page() remaining as the sole hook into
>> arch-specific code), removing what's now dead from lib/vmalloc.c.
> 
> Yeah, this is a good next step. Will do.
> 
> Thanks,
> drew
> 
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux