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

Re: [Xen-devel] [PATCH 1 of 2] Global virq for low memory situations



> From: Andres Lagar-Cavilla [mailto:andres@xxxxxxxxxxxxxxxx]
> Sent: Tuesday, February 28, 2012 2:56 PM
> To: xen-devel@xxxxxxxxxxxxxxxxxxx
> Cc: ian.campbell@xxxxxxxxxx; andres@xxxxxxxxxxxxxx; tim@xxxxxxx; 
> JBeulich@xxxxxxxx;
> ian.jackson@xxxxxxxxxx; adin@xxxxxxxxxxxxxx
> Subject: [Xen-devel] [PATCH 1 of 2] Global virq for low memory situations
> 
>  xen/common/page_alloc.c  |  92 
> ++++++++++++++++++++++++++++++++++++++++++++++++
>  xen/include/public/xen.h |   1 +
>  2 files changed, 93 insertions(+), 0 deletions(-)
> 
> 
> When a low memory threshold on the Xen heap is reached, we fire a global dom0
> virq. If someone's listening, they can free up some more memory. The low
> threshold is configurable via the command line token 'low_mem_virq_limit", and
> defaults to 64MiB.
> 
> We define a new virq VIRQ_ENOMEM. Potential listeners include squeezed,
> xenballoond, or anything else that can be fired through xencommons.
> 
> We error-check the low mem virq against initial available heap (after dom0
> allocation), to avoid firing immediately.
> 
> Virq issuing is controlled by a hysteresis algorithm: when memory dips below a
> threshold, the virq is issued and the next virq will fire when memory shrinks
> another order of magnitude. The virq will not fire again in the current "band"
> until memory grows over the next higher order of magnitude.
> 
> Signed-off-by: Andres Lagar-Cavilla <andres@xxxxxxxxxxxxxxxx>

Sorry to be late to the party here, but does this take into
account any fragmentation, i.e. does it reflect that allocations
of order==0 will succeed but order>0 might fail?  Should it?

Or maybe Jan's recent work has eliminated all but the corner
cases of order>0 allocations?  (/me crosses fingers)

Thanks,
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®.