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

Re: [Xen-devel] "Deprecate" order>0 allocations? (was: [PATCH 1 of 2] Global virq for low memory situations)



> From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
> Subject: Re: "Deprecate" order>0 allocations? (was: [PATCH 1 of 2] Global 
> virq for low memory
> situations)
> 
> > As various "move memory back and forth between domains"
> > solutions are becoming increasingly fashionable, use
> > of order>0 allocations remains a ticking timebomb.
> >
> > Does it make sense then now to somehow "deprecate" the
> > code in the allocator that allows order>0 allocations?
> > Not quite sure how, so just brainstorming.  Some ideas:
> >
> > 1) At minimum, a very big comment warning about the
> >    silent pitfalls due to fragmentation and a WARN_ON_ONCE
> >    that occurs when order>1 and debug=1 (and for xen-unstable).
> > 2) Add a new routine for order>0 allocations (with
> >    a WARN_ON and a big comment) and BUG_ON order>0
> >    allocations attempted via the old interface.
> 
> No, that doesn't sound feasible. When creating HVM guests, we
> will want to be able to attempt large page allocations without
> getting warned about, as the caller can handle the failure. That
> might also be the case in other situations.

Oh, right, no bug/warning for order==9 or 18.  I'm mostly interested
in ensuring order==1,2,3 etc don't sneak back in.  But you're
right that those should be legal as well as long as the caller
can gracefully handle the failure.  Any thoughts on how to
enforce this?  Maybe a wrapper, or a function name like:

alloc_page_block_with_possible_failure()

with a lengthy comment?
 
> > IIRC, last I heard, some of the PCI-passthrough code
> > still uses order>0 allocations, so this (and any
> > other remaining culprits) might need to be grandfathered
> > in somehow.
> 
> When was this "last I heard"? I thought I caught them all (largely
> by storing per-interrupt information in a radix tree of per-interrupt
> data structures rather than in nr_pirqs or nr_irqs sized arrays).

Excellent!  I think it was last summer.  (Sorry, I didn't
follow xen-devel closely for a few months.)  When did
the last of your patches go in?
 
Dan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.