xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] x86: break up post-boot non-order-zero allocations
@ 2011-04-05  8:19 Jan Beulich
  2011-04-05 11:59 ` Keir Fraser
  2011-04-06  2:50 ` Dan Magenheimer
  0 siblings, 2 replies; 4+ messages in thread
From: Jan Beulich @ 2011-04-05  8:19 UTC (permalink / raw)
  To: xen-devel@lists.xensource.com

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@novell.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-04-06  6:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-05  8:19 [PATCH 0/6] x86: break up post-boot non-order-zero allocations Jan Beulich
2011-04-05 11:59 ` Keir Fraser
2011-04-06  2:50 ` Dan Magenheimer
2011-04-06  6:46   ` Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).