qmemman: slightly improve logging
Add logging more info about each domain state: - last requested target - no_progress and slow_memset_react flags This makes it unnecessary to log separately when those flags are cleared.
This commit is contained in:
parent
8e288d9f81
commit
4cf6a93b5b
@ -143,19 +143,11 @@ class SystemState(object):
|
|||||||
if self.domdict[i].slow_memset_react and \
|
if self.domdict[i].slow_memset_react and \
|
||||||
self.domdict[i].memory_actual <= \
|
self.domdict[i].memory_actual <= \
|
||||||
self.domdict[i].last_target + self.XEN_FREE_MEM_LEFT/4:
|
self.domdict[i].last_target + self.XEN_FREE_MEM_LEFT/4:
|
||||||
dom_name = self.xs.read('', '/local/domain/%s/name' % str(i))
|
|
||||||
if dom_name is not None:
|
|
||||||
# TODO: report it somewhere, qubesd or elsewhere
|
|
||||||
pass
|
|
||||||
self.domdict[i].slow_memset_react = False
|
self.domdict[i].slow_memset_react = False
|
||||||
|
|
||||||
if self.domdict[i].no_progress and \
|
if self.domdict[i].no_progress and \
|
||||||
self.domdict[i].memory_actual <= \
|
self.domdict[i].memory_actual <= \
|
||||||
self.domdict[i].last_target + self.XEN_FREE_MEM_LEFT/4:
|
self.domdict[i].last_target + self.XEN_FREE_MEM_LEFT/4:
|
||||||
dom_name = self.xs.read('', '/local/domain/%s/name' % str(i))
|
|
||||||
if dom_name is not None:
|
|
||||||
# TODO: report it somewhere, qubesd or elsewhere
|
|
||||||
pass
|
|
||||||
self.domdict[i].no_progress = False
|
self.domdict[i].no_progress = False
|
||||||
|
|
||||||
# the below works (and is fast), but then 'xm list' shows unchanged
|
# the below works (and is fast), but then 'xm list' shows unchanged
|
||||||
@ -285,9 +277,14 @@ class SystemState(object):
|
|||||||
def print_stats(self, xenfree, memset_reqs):
|
def print_stats(self, xenfree, memset_reqs):
|
||||||
for i in self.domdict.keys():
|
for i in self.domdict.keys():
|
||||||
if self.domdict[i].mem_used is not None:
|
if self.domdict[i].mem_used is not None:
|
||||||
self.log.info('stat: dom {!r} act={} pref={}'.format(i,
|
self.log.info('stat: dom {!r} act={} pref={} last_target={}'
|
||||||
|
'{}{}'.format(i,
|
||||||
self.domdict[i].memory_actual,
|
self.domdict[i].memory_actual,
|
||||||
qubes.qmemman.algo.prefmem(self.domdict[i])))
|
qubes.qmemman.algo.prefmem(self.domdict[i]),
|
||||||
|
self.domdict[i].last_target,
|
||||||
|
' no_progress' if self.domdict[i].no_progress else '',
|
||||||
|
' slow_memset_react'
|
||||||
|
if self.domdict[i].slow_memset_react else ''))
|
||||||
|
|
||||||
self.log.info('stat: xenfree={} memset_reqs={}'.format(xenfree, memset_reqs))
|
self.log.info('stat: xenfree={} memset_reqs={}'.format(xenfree, memset_reqs))
|
||||||
|
|
||||||
@ -343,11 +340,6 @@ class SystemState(object):
|
|||||||
self.domdict[dom2].memory_actual,
|
self.domdict[dom2].memory_actual,
|
||||||
mem2))
|
mem2))
|
||||||
self.domdict[dom2].no_progress = True
|
self.domdict[dom2].no_progress = True
|
||||||
dom_name = self.xs.read('', '/local/domain/%s/name' % str(dom2))
|
|
||||||
if dom_name is not None:
|
|
||||||
# TODO: report it somewhere, qubesd or
|
|
||||||
# elsewhere
|
|
||||||
pass
|
|
||||||
else:
|
else:
|
||||||
self.log.warning('dom {!r} still hold more'
|
self.log.warning('dom {!r} still hold more'
|
||||||
' memory than have assigned ({} > {})'
|
' memory than have assigned ({} > {})'
|
||||||
@ -355,11 +347,6 @@ class SystemState(object):
|
|||||||
self.domdict[dom2].memory_actual,
|
self.domdict[dom2].memory_actual,
|
||||||
mem2))
|
mem2))
|
||||||
self.domdict[dom2].slow_memset_react = True
|
self.domdict[dom2].slow_memset_react = True
|
||||||
dom_name = self.xs.read('', '/local/domain/%s/name' % str(dom2))
|
|
||||||
if dom_name is not None:
|
|
||||||
# TODO: report it somewhere, qubesd or
|
|
||||||
# elsewhere
|
|
||||||
pass
|
|
||||||
self.mem_set(dom, self.get_free_xen_memory() + self.domdict[dom].memory_actual - self.XEN_FREE_MEM_LEFT)
|
self.mem_set(dom, self.get_free_xen_memory() + self.domdict[dom].memory_actual - self.XEN_FREE_MEM_LEFT)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -239,7 +239,7 @@ def balance_when_enough_memory(domain_dictionary,
|
|||||||
# prefmem, and redistribute anything left between acceptors
|
# prefmem, and redistribute anything left between acceptors
|
||||||
def balance_when_low_on_memory(domain_dictionary,
|
def balance_when_low_on_memory(domain_dictionary,
|
||||||
xen_free_memory, total_mem_pref_acceptors, donors, acceptors):
|
xen_free_memory, total_mem_pref_acceptors, donors, acceptors):
|
||||||
log.debug('balance_when_low_on_memory(xen_free_memory={!r}, '
|
log.info('balance_when_low_on_memory(xen_free_memory={!r}, '
|
||||||
'total_mem_pref_acceptors={!r}, donors={!r}, acceptors={!r})'.format(
|
'total_mem_pref_acceptors={!r}, donors={!r}, acceptors={!r})'.format(
|
||||||
xen_free_memory, total_mem_pref_acceptors, donors, acceptors))
|
xen_free_memory, total_mem_pref_acceptors, donors, acceptors))
|
||||||
donors_rq = list()
|
donors_rq = list()
|
||||||
|
Loading…
Reference in New Issue
Block a user