[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] [PATCH 0/6] x86: break up post-boot non-order-zero allocations
Thanks very much Jan for making forward progress on this! A couple things: IIRC, PCI-passthrough is another user of multi-page allocations. At some point, does it make sense to eliminate the multi-page allocation functionality, at least through the "normal" page allocation routines, and add a: /* documentation about why not to use this */ alloc_contiguous_pages_DEPRECATED(order) call so that it is very explicit when future page allocation users "regress" by adding a multi-page allocation request? Thanks again! Dan > -----Original Message----- > From: Jan Beulich [mailto:JBeulich@xxxxxxxxxx] > Sent: Tuesday, April 05, 2011 2:19 AM > To: xen-devel@xxxxxxxxxxxxxxxxxxx > Subject: [Xen-devel] [PATCH 0/6] x86: break up post-boot non-order-zero > allocations > > While tmem is most affected by this, due to fragmentation it is > generally > a bad idea to require runtime allocations of more than a single page in > size. > > 1: remove direct cpumask_t members from struct vcpu and struct domain > 2: x86: split struct vcpu > 3: x86: move pv-only members of struct vcpu to struct pv_vcpu > 4: x86: split struct domain > 5: x86: introduce alloc_vcpu_guest_context() > 6: passthrough: use domain pirq as index of struct hvm_irq_dpci's > hvm_timer array > > With this, structure sizes are below page size, and no longer depend > significantly on NR_CPUS. This series, however, doesn't eliminate > all non-order-zero allocations that happen post boot (i.e. mostly > during domain creation). Items that are known to need addressing > are > - nr_irqs-sized allocation of ->arch.irq_pirq[] in > xen/arch/x86/domain.c:arch_domain_create() > - ->nr_pirqs-sized allocations in > xen/drivers/passthrough/io.c:pt_irq_create_bind_vtd() > - ->nr_pirqs-sized allocation of ->arch.pirq_irq[] in > xen/arch/x86/domain.c:arch_domain_create() > - ->nr_pirqs-sized allocation of ->pirq_to_evtchn[] in > xen/common/domain.c:domain_create() > > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |